Appearance
openclaw agents 命令行工具专门用来管理相互隔离的 Agent 实例。你可以用它给指定的 Agent 分配独立的工作目录(workspace),为 Agent 设置头像(Avatar)和 Emoji,最重要的是能利用 bind 将外部渠道(如特定 Telegram 群组或 Slack 频道)的消息精准路由给专属的 Agent 处理。
openclaw agents
管理隔离的 agent(工作区 + 认证 + 路由)。
相关文档:
- 多 agent 路由:Multi-Agent Routing
- Agent 工作区:Agent workspace
- 技能可见性配置:Skills config
示例
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.skills 和 agents.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 会在可用时从渠道默认值和插件设置钩子中解析。
如果 bind 或 unbind 省略 --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 --allunbind 接受 --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:
namethemeemojiavatar(工作区相对路径、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 处理。