openclaw-easy-tutorial-zh-cn

一个网关,多个「分身」:搭建你的多 Agent 小队

读完这一节,你会搞懂多 Agent 在 OpenClaw 里是什么意思(一个助手 = 一套工作区 + 一套会话 + 可选的独立渠道账号),会用 openclaw agents add 加新助手,并用 bindings 把飞书、Telegram、WhatsApp 等渠道的消息分给不同的助手。一个 Gateway 进程里可以同时跑多个「分身」,互不串台。


「一个 Agent」到底是什么

在 OpenClaw 里,一个 Agent(助手)就是一个完整独立的脑子,拥有:

也就是说:多 Agent = 多套工作区 + 多套会话 + 多套认证,彼此隔离。同一个 Gateway 可以同时服务多个这样的 Agent;谁处理哪条消息,由 bindings(绑定规则)决定。


默认:只有一个 Agent(main)

不配多 Agent 时,OpenClaw 只跑一个助手:

下面说的「多 Agent」就是在这一层之上,再多加几套「脑子」,并靠 bindings 把不同渠道/不同账号/不同人的消息分给不同的 agentId。


搭建多 Agent 的四个步骤

第一步:用向导加新 Agent

在终端执行:

openclaw agents add work

work 换成你想起的名字(如 codingsocial)。执行后,OpenClaw 会:

再加一个就再执行一次,例如:

openclaw agents add coding
openclaw agents add social

每个 Agent 的 id 就是你在 add 时写的名字(如 workcoding);后面写 bindings 时用这个 id 指定「谁处理哪类消息」。

第二步:为每个 Agent 准备渠道账号(若要用不同号/不同机器人)

若你希望「工作助手」和「生活助手」用不同的飞书应用、不同的 Telegram 机器人或不同的 WhatsApp 号,就需要在对应平台各建一套,并在 OpenClaw 里用 accountId 区分。

若你暂时只想「一个 Telegram 号、一个 WhatsApp 号」给多个 Agent 用,也可以:用同一个 channel 账号,靠 bindings发送者(peer)把不同人的私聊分给不同 Agent(见官方「One WhatsApp number, multiple people」示例)。那样的话就不需要多个账号,只需多个 workspace + 多条 binding 规则。

第三步:在配置里写好 bindings,把消息路由到对应 Agent

Bindings 就是「谁的消息 → 交给哪个 Agent」的规则。在 ~/.openclaw/openclaw.json 里会有 bindings 数组,每条长这样:

{
  "agentId": "work",
  "match": { "channel": "telegram", "accountId": "work" }
}

表示:来自 Telegram、且账号是 work 的那台机器人的入站消息,都交给 work 这个 Agent。
若你只有一个 Telegram 账号,可以按发送者(peer)分,例如:

{
  "bindings": [
    { "agentId": "main", "match": { "channel": "telegram", "peer": { "kind": "direct", "id": "tg:你的个人ID" } } },
    { "agentId": "work", "match": { "channel": "telegram", "peer": { "kind": "direct", "id": "tg:同事ID" } } },
  ]
}

规则是最具体的那条优先:先看是否匹配某条 binding(channel、accountId、peer 等),匹配到就用对应的 agentId;都匹配不到就用默认 Agent(在 agents.list 里标了 default: true 的,或第一个)。

飞书、WhatsApp 同理:在 match 里写 channel: "feishu"channel: "whatsapp",再按需加上 accountIdpeer。完整字段和示例见官方 Multi-Agent Routing

你也可以用 CLI 加 binding,不必手改 JSON:

openclaw agents bind --agent work --bind telegram:work
openclaw agents bindings

openclaw agents bindings 会列出当前所有绑定,便于核对。

第四步:重启 Gateway 并验证

改完配置后重启 Gateway,再确认路由和渠道都正常:

openclaw gateway restart
openclaw agents list --bindings
openclaw channels status --probe

多 Agent 能用来干啥(心里有个数)


本节要点


常见问题

Q:bindings 写了但消息还是进了 main?
检查 match 是否写对:channel、accountId(若用多账号)、peer(若按人分)。agents list –bindings 看当前绑定是否生效;注意最具体的规则优先,若有多条匹配,按配置里顺序取第一条。

Q:多个 Agent 能共用一个工作区吗?
不推荐。每个 Agent 应有独立 workspace,否则会话、人设、记忆会混在一起。若想「共享一部分设定」,可以复制 AGENTS.md/SOUL.md 到多个工作区再各自改,或把公共内容放到共享 Skill(~/.openclaw/skills)。

Q:认证(API Key、OAuth)要每个 Agent 各配一份吗?
每个 Agent 的 agentDir 里各有 auth-profiles.json;默认不共享。若你希望某几个 Agent 用同一套模型认证,可以手动把一份 auth-profiles.json 复制到另一个 Agent 的 agentDir 里。不要多个 Agent 共用一个 agentDir,会乱。

Q:飞书 / Telegram / WhatsApp 的 bindings 怎么写?
在 bindings 里写 match: { channel: "feishu" }"telegram""whatsapp";若该渠道配了多个 account,用 accountId: "xxx" 指定;若按发送者分,用 peer: { kind: "direct", id: "..." }。完整示例见官方 Multi-Agent 的 Platform examples。


延伸阅读

← 返回目录