OpenClaw 多智能体编排指南:Gateway 路由(2026)
简介
单个 AI 助手足以应对快速问答。生产场景——编码、运维告警、家庭群聊、研究——则需要多个人格,且彼此不共享会话、凭证或工具权限。OpenClaw 多智能体编排通过单一 Gateway 控制平面与多个隔离 agent 解决这一问题:每个 agent 拥有独立工作区、认证与会话存储。
OpenClaw 是本地优先的个人 AI 助手(截至 2026 年 GitHub 星标 37.5 万+),以 Gateway 连接 WhatsApp、Telegram、Discord、Slack 等频道与 agent 大脑。官方文档中的多智能体路由:入站消息经 binding 表匹配,落到正确的 agentId,互不串线。
本指南涵盖:
- 磁盘上 OpenClaw「agent」实际包含什么
- bindings 如何按 peer、账号、频道路由消息
- 添加第二个 agent 的分步操作手册
- 多智能体编排如何超越路由(委托、工作流)
- 何时用原生 Gateway 路由 vs 外部编排器项目
若你已使用 Claude Code 插件,例如用于开发工作流的 Obra Superpowers,或用于仓库地图的 Understand Anything,OpenClaw 处于不同层级:常驻助手 + 频道路由,而非仅限 IDE 的编码。
一个 OpenClaw agent 包含什么
~/.openclaw/agents/<agentId>/ 下的隔离会话存储。
| 组件 | 路径 / 产物 | 用途 |
|---|---|---|
| 工作区 | ~/.openclaw/workspace-<name> 或自定义 | 默认 cwd;存放 SOUL.md、AGENTS.md、USER.md、技能 |
| Agent 目录 | ~/.openclaw/agents/<agentId>/agent | 认证配置、模型注册表、按 agent 配置 |
| 会话 | ~/.openclaw/agents/<agentId>/sessions | 聊天历史与路由状态 |
| 配置 | ~/.openclaw/openclaw.json | Gateway、agents.list、bindings、频道 |
关键规则:切勿让两个 agent 共用同一 agentDir——会导致认证与会话冲突。每个 agent 应有独立目录与工作区。
来源:OpenClaw 多智能体文档。
agentId、accountId 与 binding
| 概念 | 含义 |
|---|---|
agentId | 一个大脑(工作区 + 会话 + 认证) |
accountId | 一个频道登录(如 WhatsApp 的 "personal" vs "biz") |
binding | 规则:匹配 (channel, accountId, peer, …) → 路由到 agentId |
路由是确定性的:最具体匹配优先;peer 级规则优于频道级默认。
Gateway 架构(控制平面)
入站消息 (WhatsApp / Slack / …)
│
▼
OpenClaw Gateway
│
├─ 加载 bindings(先匹配者优先)
├─ 解析 agentId
└─ 派发到 agent 工作区 + 会话
│
▼
LLM + 工具 + 技能(按 agent 白名单)
Gateway 不是产品本身——它是路由器与会话管理器。每个 agent 按自己的工具策略(agents.list[].tools.allow/deny)运行,并可选用沙箱(如每 agent 设置 sandbox.mode: "all")。
Agent 间消息默认关闭:
tools: {
agentToAgent: {
enabled: false,
allow: ["home", "work"],
},
}
仅在明确需要人格间委托时启用。allowlist 模式见多智能体文档。
配置手册:添加第二个 agent(7 步)
步骤 1 — 安装或更新 OpenClaw
按 github.com/openclaw/openclaw 官方安装器操作。验证 CLI:
openclaw --version
步骤 2 — 创建新的隔离 agent
openclaw agents add coding
将创建工作区文件与 ~/.openclaw/agents/coding/。可为其他人格重复(social、alerts 等)。
步骤 3 — 列出 agent 与 bindings
openclaw agents list --bindings
确认每个 agentId 拥有唯一的 agentDir 与工作区路径。
步骤 4 — 连接频道账号(示例:WhatsApp)
openclaw channels login --channel whatsapp --account work
启动 Gateway 前为每个手机/账号完成绑定。凭证默认位于 ~/.openclaw/credentials/whatsapp/<accountId>。
步骤 5 — 编辑 openclaw.json 中的 bindings
添加 agents.list 条目,并将账号路由到 agent(JSON5):
{
agents: {
list: [
{ id: "main", default: true, workspace: "~/.openclaw/workspace-main" },
{ id: "coding", workspace: "~/.openclaw/workspace-coding" },
],
},
bindings: [
{ agentId: "main", match: { channel: "whatsapp", accountId: "personal" } },
{ agentId: "coding", match: { channel: "whatsapp", accountId: "work" } },
],
}
顺序很重要:将 peer 专用规则放在频道级 accountId: "*" 回退规则之上。
步骤 6 — 重启 Gateway 并探测频道
openclaw gateway restart
openclaw channels status --probe
在每个账号发送测试消息;确认会话隔离(agent:coding:… vs agent:main:…)。
步骤 7 — 可选:按频道拆分模型
WhatsApp 用快速模型,Telegram 用大模型:
bindings: [
{ agentId: "chat", match: { channel: "whatsapp", accountId: "*" } },
{ agentId: "opus", match: { channel: "telegram", accountId: "*" } },
]
每个 agent 可独立设置 model: "anthropic/claude-sonnet-4-6"(或你的提供商)。
多智能体编排模式
路由(Gateway 内置)回答:哪条消息由哪个 agent 处理?
编排回答:多个 agent 如何协作完成同一目标?
| 路由 | 编排 | |
|---|---|---|
| 回答问题 | 入站消息 → 哪个 agentId | 多 agent 如何协作完成目标 |
| 典型实现 | Gateway bindings | agentToAgent、外部编排器插件 |
模式 A — 仅原生路由(建议首选)
适用于:不同人群、不同频道、不同人格。无需额外软件。
| 场景 | Binding 策略 |
|---|---|
| 工作 vs 个人 WhatsApp | 不同 accountId → 不同 agentId |
| 某 DM 需要「深度」模型 | peer.kind: "direct" + E.164,置于频道规则之上 |
| Discord 编码频道 | guildId + 频道 id → coding agent |
| 家庭群 @ 提及 | 专用 agent + groupChat.mentionPatterns |
模式 B — Agent 间委托
启用带显式 allowlist 的 tools.agentToAgent。一个 agent 可拉起或向另一个发消息处理子任务——仍在 OpenClaw 会话模型内。适用于「协调者」人格需要分派研究或编码的场景。
模式 C — 外部编排器插件
社区项目在 OpenClaw 之上增加工作流图:
| 项目 | 风格 | 最适合 |
|---|---|---|
| openclaw-orchestrator | 自适应 LLM 规划器 + 仪表板 | 开放目标、动态下一步 |
| openclaw-orchestrator(可视化) | 拖拽流程图、审批节点 | 合规流程、并行分支 |
| open-claw-code | 分层编码 agent(主控 + 专家) | 多仓库工程与对等消息 |
这些不能替代 Gateway bindings——它们在路由将会话送达之后协调 agent。
推荐路径:
- 若只需分离 WhatsApp/Discord 身份 → 模式 A(仅 bindings)。
- 若单用户触发多步骤、多角色项目 → 模式 B 或 C。
- 若需要 IDE 中心化 TDD 工作流 → 搭配 Obra Superpowers,而非单独依赖 OpenClaw。
安全:按 agent 沙箱与工具
不可信 agent(如家庭群机器人)应使用沙箱 + 工具 deny 列表:
{
id: "family",
sandbox: { mode: "all", scope: "agent" },
tools: {
allow: ["read", "sessions_list", "sessions_history"],
deny: ["write", "edit", "apply_patch", "browser", "exec"],
},
}
tools.elevated 为全局且基于发送者——非按 agent。硬边界请在受限 agent 上 deny exec。
Gateway 运行在哪里
OpenClaw 设计为本地优先:macOS、Linux,或通过 WSL2 的 Windows。Gateway 需保持在线以接收频道 webhook 并维持会话连续。
团队有时会在常开的 Mac上运行 Gateway(而非笔记本)——类似家庭服务器 24/7 开机,通过 SSH 管理。远程设置基础见Mac mini M4 SSH 指南;任选符合你安全模型的主机即可。
故障排除
错误 agent 回复消息
现象:工作消息进了个人 agent。
修复:
- 运行
openclaw agents list --bindings,确认规则顺序(peer 规则在前)。 - 确认 binding 中的
accountId与channels.whatsapp.accounts键一致。 - 重启:
openclaw gateway restart。
认证或会话在 agent 间串线
现象:OAuth 或聊天在不同人格间混淆。
修复:确认每个 agentId 有唯一 agentDir。切勿让两个 agent 指向 ~/.openclaw/agents/main/agent。若 OAuth 误共享,按 agent 重新登录:
openclaw channels login --channel whatsapp --account work
Gateway 启动但频道探测失败
现象:openclaw channels status --probe 显示未连接。
修复:重新绑定凭证,检查 webhook 端口防火墙,并按OpenClaw 频道指南确认令牌(Discord Message Content Intent、Telegram BotFather token 等)。
常见问题
agentId。回复仍来自同一号码;真正隔离通常需要每人一个 agent。见DM 拆分示例。tools.agentToAgent.enabled: true 且 allow 列表足够严格时启用。默认关闭,以防意外的跨人格工具调用。~/.openclaw/skills 加载技能;Claude Code 使用 /plugin install。部分社区工具有桥接(如 Understand Anything 的 install.sh openclaw)——请查阅各工具 README。结论
2026 年的 OpenClaw 多智能体编排从 Gateway 起步:单一进程、多隔离 agent、由频道到大脑的确定性 bindings。使用 openclaw agents add,配置 agents.list + bindings,重启并探测——仅在路由 alone 不足时再叠加 agent-to-agent 或外部编排器。
官方参考:多智能体路由 · 仓库:openclaw/openclaw。