Skip to content

openclaw agents 命令行工具专门用来管理相互隔离的 Agent 实例。你可以用它给指定的 Agent 分配独立的工作目录(workspace),为 Agent 设置头像(Avatar)和 Emoji,最重要的是能利用 bind 将外部渠道(如特定 Telegram 群组或 Slack 频道)的消息精准路由给专属的 Agent 处理。

openclaw agents

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

相关文档:

示例

bash
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

路由绑定

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

如果你还希望每个 agent 显示不同的可见技能,请在 openclaw.json 中配置 agents.defaults.skillsagents.list[].skills

列出绑定:

bash
openclaw agents bindings
openclaw agents bindings --agent work
openclaw agents bindings --json

添加绑定:

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

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

如果 bindunbind 省略 --agent,OpenClaw 以当前默认 agent 为目标。

绑定作用域行为

  • 没有 accountId 的绑定仅匹配渠道默认账号。
  • accountId: "*" 是渠道范围的回退(所有账号),其特异性低于显式账号绑定。
  • 如果同一 agent 已有不带 accountId 的匹配渠道绑定,而你随后以显式或已解析的 accountId 进行绑定,OpenClaw 会就地升级该现有绑定,而非添加重复项。

示例:

bash
# 初始仅渠道绑定
openclaw agents bind --agent work --bind telegram

# 后续升级为账号范围绑定
openclaw agents bind --agent work --bind telegram:ops

升级后,该绑定的路由会限定在 telegram:ops。如果你还想要默认账号路由,请明确添加(例如 --bind telegram:default)。

移除绑定:

bash
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents unbind --agent work --all

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

命令详情

agents

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

agents list

选项:

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

agents add [name]

选项:

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

注意:

  • 传递任何显式 add 标志会将命令切换到非交互式路径。
  • 非交互式模式需要 agent 名称和 --workspace
  • main 是保留名称,不能用作新 agent id。

agents bindings

选项:

  • --agent <id>
  • --json

agents bind

选项:

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

agents unbind

选项:

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

agents delete <id>

选项:

  • --force
  • --json

注意:

  • main 不能被删除。
  • 不带 --force 时需要交互式确认。
  • 工作区、agent 状态和会话记录目录被移到回收站,不会硬删除。

Identity 文件

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

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

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

设置 Identity

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 选择目标 agent。
  • 如果你依赖 --workspace 且多个 agent 共享该工作区,命令会报错并要求你传递 --agent
  • 当没有提供显式 identity 字段时,命令从 IDENTITY.md 读取 identity 数据。

IDENTITY.md 加载:

bash
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity

显式覆盖字段:

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

配置示例:

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

常见问题

Q: 删除了一个 Agent,怎么找回它的历史对话和配置?

A: openclaw agents delete 是安全操作,被删除的工作区(workspace)目录并没有被直接销毁,而是被移动到了操作系统的回收站(Trash)。你可以去回收站找回数据。

Q: 如何让一个专门写代码的 Agent 只接管名为 "dev-bot" 的 Telegram 账号?

A: 使用 bind 命令并加上 accountId 参数:openclaw agents bind --agent coder --bind telegram:dev-bot。这样 "dev-bot" 这个账号收到的消息都会交由 coder Agent 处理。