跳转到内容

Agents

管理隔离的代理(工作区 + 认证 + 路由)。

相关:

Terminal window
openclaw agents list
openclaw agents list --bindings
openclaw agents add work --workspace ~/.openclaw/workspace-work
openclaw agents add ops --workspace ~/.openclaw/workspace-ops --bind telegram:ops --non-interactive
openclaw agents bindings
openclaw agents bind --agent work --bind telegram:ops
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity
openclaw agents set-identity --agent main --avatar avatars/openclaw.png
openclaw agents delete work

使用路由绑定将入站渠道流量固定到特定智能体。

如果您还希望每个智能体具有不同的可见 Skills,请在 openclaw.json 中配置 agents.defaults.skillsagents.list[].skills。请参阅 Skills 配置配置参考

列出绑定:

Terminal window
openclaw agents bindings
openclaw agents bindings --agent work
openclaw agents bindings --json

添加绑定:

Terminal window
openclaw agents bind --agent work --bind telegram:ops --bind discord:guild-a

如果您省略 accountId (--bind <channel>),OpenClaw 将在可用时从渠道默认值和插件设置挂钩中解析它。

如果您省略 --agent 用于 bindunbind,OpenClaw 将以当前默认智能体为目标。

  • 没有 accountId 的绑定仅匹配渠道默认账户。
  • accountId: "*" 是渠道范围的回退(所有账户),其特异性低于显式账户绑定。
  • 如果同一个智能体已经有一个没有 accountId 的匹配渠道绑定,并且您随后使用显式或解析出的 accountId 进行绑定,OpenClaw 将就地升级现有绑定,而不是添加重复项。

示例:

Terminal window
# initial channel-only binding
openclaw agents bind --agent work --bind telegram
# later upgrade to account-scoped binding
openclaw agents bind --agent work --bind telegram:ops

升级后,该绑定的路由范围限定为 telegram:ops。如果您还想要默认账户路由,请显式添加它(例如 --bind telegram:default)。

移除绑定:

Terminal window
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents unbind --agent work --all

unbind 接受 --all 或一个或多个 --bind 值,但不能同时接受两者。

运行不带子命令的 openclaw agents 等效于 openclaw agents list

选项:

  • --json
  • --bindings:包含完整的路由规则,而不仅仅是每个智能体的计数/摘要

选项:

  • --workspace <dir>
  • --model <id>
  • --agent-dir <dir>
  • --bind <channel[:accountId]> (repeatable)
  • --non-interactive
  • --json

备注:

  • 传递任何显式的添加标志会将命令切换到非交互路径。
  • 非交互模式需要代理名称和 --workspace
  • main 已被保留,不能用作新代理的 ID。
  • 在交互模式下,auth seeding 仅复制可移植的静态配置文件(默认为 api_key 和静态 tokenOAuth)。OAuth 刷新令牌配置文件仅能通过从真实的 main 智能体存储进行直读继承来使用。如果配置的默认智能体不是 mainOAuth,请针对新智能体上的 OAuth 配置文件单独登录。

选项:

  • --agent <id>
  • --json

选项:

  • --agent <id>(默认为当前默认智能体)
  • --bind <channel[:accountId]>(可重复)
  • --json

选项:

  • --agent <id>(默认为当前默认智能体)
  • --bind <channel[:accountId]>(可重复)
  • --all
  • --json

选项:

  • --force
  • --json

注意:

  • main 无法被删除。
  • 如果没有 --force,则需要交互式确认。
  • 工作区、智能体状态和会话记录目录将被移动到废纸篓,而不是被硬删除。
  • 当 Gateway(网关) 可达时,删除操作会通过 Gateway(网关) 发送,以便配置和会话存储清理与运行时流量共享同一个写入器。如果无法到达 Gateway(网关),CLI 将回退到离线本地路径。
  • 如果另一个代理的工作区是同一路径、在此工作区内或包含此工作区, 则保留该工作区,并且 --json 会报告 workspaceRetainedworkspaceRetainedReasonworkspaceSharedWith

每个代理工作区都可以在工作区根目录包含一个 IDENTITY.md

  • 示例路径:~/.openclaw/workspace/IDENTITY.md
  • set-identity --from-identity 从工作区根目录(或显式的 --identity-file)读取

头像路径是相对于工作区根目录解析的。

set-identity 将字段写入 agents.list[].identity

  • name
  • theme
  • emoji
  • avatar(相对于工作区的路径、http(s) URL 或 data URI)

选项:

  • --agent <id>
  • --workspace <dir>
  • --identity-file <path>
  • --from-identity
  • --name <name>
  • --theme <theme>
  • --emoji <emoji>
  • --avatar <value>
  • --json

注意:

  • 可以使用 --agent--workspace 来选择目标代理。
  • 如果您依赖 --workspace 且多个代理共享该工作区,命令将失败并要求您传递 --agent
  • 当未提供显式身份字段时,该命令从 IDENTITY.md 读取身份数据。

IDENTITY.md 加载:

Terminal window
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity

显式覆盖字段:

Terminal window
openclaw agents set-identity --agent main --name "OpenClaw" --emoji "🦞" --avatar avatars/openclaw.png

配置示例:

{
agents: {
list: [
{
id: "main",
identity: {
name: "OpenClaw",
theme: "space lobster",
emoji: "🦞",
avatar: "avatars/openclaw.png",
},
},
],
},
}