乐于分享
好东西不私藏

OpenClaw多Agent配置与消息通信

OpenClaw多Agent配置与消息通信

让你的 AI 从”单打独斗”进化到”团队作战”

OpenClaw 原生支持多 Agent 架构,不仅能让多个 Agent 并存,各自拥有独立的工作区、人格、模型、数据和授权,还提供了灵活的路由分发和子代理协作机制。今天我们就来完整拆解这套系统的配置方法。

为什么需要多个 Agent?

不是所有的任务都用同一个 Agent 解决。单 Agent 模式下,一切请求都由同一个”大脑”处理,它会面临:

  • 角色混乱——工作群和家庭群都用同一套人格
  • 上下文膨胀——各种任务挤在同一会话中
  • 权限混用——个人和公司的数据访问混在一起
一、基础概念速览

在动手配置前,先理清几个核心概念:

Agent(代理):一个完整的”AI大脑”,包含独立的工作区文件(AGENTS.md/SOUL.md/USER.md)、会话历史、认证配置、模型设置和授权信息。每个 Agent 就是”一个人”。

Bindings(路由绑定):决定哪个渠道的消息发送给哪个 Agent。可以按渠道、账号、甚至按联系人精确匹配。

Sub-agents(子代理):由主 Agent 按需临时派生的背景运行代理,用于并行执行、任务分解和异步编排。

Workspace(工作区):每个 Agent 的独立文件根目录,存放其人格文件、记忆文件和技能文件。

~/.openclaw/├── agents/│   ├── main/           ← 主 Agent 状态目录│   │   ├── agent/      ← 认证配置、模型注册表│   │   └── sessions/   ← 会话历史│   ├── work/           ← 工作 Agent│   └── home/           ← 生活 Agent├── workspace/          ← 主工作区├── workspace-work/     ← 工作 Agent 工作区└── workspace-home/     ← 生活 Agent 工作区
二、安装与快速创建 Agent

OpenClaw 安装完成后,默认只有一个 main Agent。要添加更多 Agent 非常简单:

通过 CLI 交互式添加

openclaw agents add codingopenclaw agents add socialopenclaw agents add ops --workspace ~/.openclaw/workspace-ops --bind telegram:ops

命令执行后,系统会自动:

  1. 创建独立的 Agent 状态目录 ~/.openclaw/agents/<id>/agent
  2. 初始化独立工作区,包含 AGENTS.mdSOUL.mdUSER.md 等文件
  3. 如果指定了 --bind,自动生成绑定配置

查看已创建的 Agent

openclaw agents listopenclaw agents list --bindings   # 查看完整的路由规则

删除 Agent

openclaw agents delete coding     # 文件移动到回收站,非永久删除openclaw agents delete coding --force  # 跳过确认
三、配置 Agent 的独立人格与模型

每个 Agent 都有自己的”灵魂”。在其工作区的 SOUL.md 中定义人格,在 openclaw.json 中分配模型。

设置工作 Agent(严肃高效):

~/.openclaw/workspace-work/SOUL.md:

# SOUL.md - 职场精英- 风格:专业、高效、简洁- 原则:先确认需求再执行- 边界:不涉及个人话题

设置生活 Agent(风趣幽默):

~/.openclaw/workspace-home/SOUL.md:

# SOUL.md - 贴心伙伴- 风格:活泼、有趣、友好- 特长:闲聊、推荐、生活建议- 不代劳工作事宜

在配置文件中分配不同模型:

{  agents: {    list: [      {        id: "main",        workspace:"~/.openclaw/workspace",
               //日常使用性价比模型        model: "anthropic/claude-sonnet-4-6",      },      {        id: "work",        workspace:"~/.openclaw/workspace-work",
               //工作用顶级模型        model: "anthropic/claude-opus-4-6",        thinkingDefault: "high",      },      {        id: "home",        workspace: "~/.openclaw/workspace-home",        //简单任务用小模型节省成本        model: "google/gemini-3-flash-preview",      },    ],  },}

设置 Agent 的显示身份

# 配置名称、主题、表情和头像openclaw agents set-identity --agent work --name "WorkBot" --emoji "💼"openclaw agents set-identity --agent home --name "小助手" --theme "暖心伙伴" --emoji "🤗"
四、路由绑定:让消息找到正确的 Agent

这是多 Agent 配置中最关键的一环——如何将不同渠道的请求分发到正确的 Agent。

基础路由:按渠道绑定

{  bindings: [    { agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },    { agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },  ],}

高级路由:按人和群组精确匹配

{  bindings: [    // 精确到个人:对某个联系人使用深度思考Agent    {      agentId: "work",      match: {        channel: "whatsapp",        peer: { kind: "direct", id: "+8613800138000" },      },    },    // 群组绑定:家庭群绑定到家庭 Agent    {      agentId: "home",      match: {        channel: "whatsapp",        peer: { kind: "group", id: "120363099999@g.us" },      },    },    // 渠道回退:该渠道其他请求走默认    { agentId: "main", match: { channel: "whatsapp" } },  ],}

跨渠道共享:在不同平台绑定同一个 Agent

{  bindings: [    // WhatsApp + Telegram 都走同一个工作 Agent    { agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },    { agentId: "work", match: { channel: "telegram", accountId: "work-bot" } },    // Discord 走开发 Agent    { agentId: "coding", match: { channel: "discord", accountId: "coding-bot" } },  ],}

绑定匹配优先级(从高到低)

  1. peer 匹配——精确到个人/群组
  2. guildId 匹配——Discord 服务器级别
  3. accountId 精确匹配——按账号
  4. accountId: “*” ——渠道级回退
  5. 默认 Agent——兜底

通过 CLI 管理绑定

# 查看所有绑定openclaw agents bindings# 添加绑定openclaw agents bind --agent work --bind telegram:ops --bind discord:guild-a# 移除绑定openclaw agents unbind --agent work --bind telegram:ops
五、安全隔离与沙箱

不同 Agent 的安全级别也可以分别设置。比如家庭 Agent 限制高权限操作,工作 Agent 开放更多工具。

限制工具权限

{  agents: {    list: [      {        id: "family",        workspace: "~/.openclaw/workspace-family",        // 仅允许只读操作        tools: {          allow: ["read", "web_search", "web_fetch"],          deny: ["exec", "write", "edit", "browser", "cron"],        },      },      {        id: "coding",        workspace: "~/.openclaw/workspace-coding",        // 开发 Agent 放开所有工具        tools: { profile: "coding" },      },    ],  },}

启用沙箱隔离

{  agents: {    list: [      {        id: "family",        sandbox: {          mode: "all",     // 始终在沙箱中执行          scope: "agent",  // 每个 Agent 独立容器          workspaceAccess: "ro",  // 工作区只读挂载        },      },    ],  },}

沙箱模式还支持 Docker 和 SSH 后端,可以实现完整的容器化隔离,适合在外放给家庭成员或公开群组的 Agent。

六、Agent 间的协作机制

多 Agent 不仅能独立运行,还能协同工作。OpenClaw 提供了多种协作方式。

方式一:子代理(Sub-agents)——最常用的协作模式

主 Agent 在运行中可以按需派生子代理,子代理由主 Agent 分配任务并等待结果汇报。

子Agent-数据子Agent-研究主Agent用户子Agent-数据子Agent-研究主Agent用户帮我做一个综合分析报告子任务:搜索最新AI趋势子任务:分析历史数据返回搜索结果返回分析结果综合两份结果产出报告

在代码层面,这就是 sessions_spawn 工具的调用,可直接在对话框发送下面指令启动子Agent:

//主Agent内部自动执行(无需手动操作)sessions_spawn(  task="搜索2026年AI agent领域的最新趋势,输出要点列表",  taskName="research_agent",  model="google/gemini-3-flash-preview"  // 子任务用便宜模型)sessions_spawn(  task="分析过去30天的性能数据,找出异常点",  taskName="data_analysis",  model="google/gemini-3-flash-preview")// 等待两个子任务完成sessions_yield()

真正的效率提升在于:主 Agent 负责统筹和判断,子 Agent 负责执行和收集。每个子 Agent 有独立会话,不会污染主会话的上下文。

配置子代理行为

{  agents: {    defaults: {      subagents: {        delegationMode: "prefer", //鼓励主 Agent 多使用子代理        maxConcurrent: 4,     // 最多并行4个子代理        maxSpawnDepth: 2,    // 子代理还可以再派生子代理        maxChildrenPerAgent: 5, // 每个会话最多5个活跃子代理        runTimeoutSeconds: 600,  // 子代理超时时间        announceTimeoutMs: 120000,  // 结果汇报超时        archiveAfterMinutes: 60,   // 60分钟后自动归档      },    },  },}

方式二:Agent 间消息传递(A2A)

OpenClaw 还支持 Agent 之间直接发送消息。这是更灵活但需要显式开启的协作模式,需在openclaw.json中进行配置,或者直接对话,让OpenClaw自己完成配置,省得配错

{  tools: {    agentToAgent: {      enabled: true,      allow: ["main", "work", "coding"],    },  },  session: {    agentToAgent: { maxPingPongTurns: 5 },  // 最多来回5次  },}

开启后,Agent 可以通过 sessions_send 向其他 Agent 发送消息并发起对话。不知道怎么写sessions_send,可以让Openclaw自己写。

方式三:跨 Agent 记忆搜索

一个 Agent 可以搜索另一个 Agent 的会话记录,适合需要全局视角的场景。

{  agents: {    list: [      {        id: "main",        memorySearch: {          qmd: {            extraCollections: [              { path: "~/.openclaw/agents/work/sessions", name: "work-sessions" },              { path: "~/.openclaw/agents/home/sessions", name: "home-sessions" },            ],          },        },      },    ],  },}
七、实战案例

案例一:职场全能——渠道分流

场景:日常处理工作群、技术讨论群和个人消息。

配置方案:WhatsApp 商业号 → 工作 Agent(Opus+深度思考)  ├─ 日常工作咨询、会议安排  └─ 远程运维指令Telegram 技术群 → 开发 Agent(Codex 模式)  ├─ 代码审查  ├─ 故障排查  └─ 架构讨论个人 WhatsApp → 生活 Agent(轻量模型)  ├─ 日程提醒  ├─ 生活推荐  └─ 休闲闲聊

配置如下:

{  agents: {    list: [      {        id: "work",        workspace: "~/.openclaw/workspace-work",        model: "anthropic/claude-opus-4-6",        thinkingDefault: "high",      },      {        id: "coding",        workspace: "~/.openclaw/workspace-coding",        model: "openai/gpt-5.5",        tools: { profile: "coding" },      },      {        id: "home",        workspace: "~/.openclaw/workspace-home",        model: "google/gemini-3-flash-preview",      },    ],  },  bindings: [    { agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },    { agentId: "coding", match: { channel: "telegram", accountId: "dev-bot" } },    { agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },  ],}

案例二:深度研究中台——子代理编排

场景:需要快速产出一份行业分析报告。

工作流:

  1. 主 Agent 收到任务 → 分解为多个子任务
  2. 派生 3~5 个子 Agent 并发搜索不同方向
  3. 子 Agent 各自汇报搜索结果
  4. 主 Agent 汇总、分析、撰写最终报告

这个场景在代码层面就是 sessions_spawn + sessions_yield 的典型应用,完全由主 Agent 自动完成,用户只需下达一次指令。

案例三:家庭共享助手

场景:家里有多个成员,都想用 AI 助手但不想看到彼此的数据。

配置方案:同一个 WhatsApp 号,不同联系人路由到不同 Agent:+86 138xxxx0001(爸爸)→ 工作 Agent+86 139xxxx0002(妈妈)→ 生活 Agent  +86 136xxxx0003(孩子)→ 学习 Agent(限制工具+沙箱)同一个号码,不同"人",不同"大脑",互不干扰。
{  bindings: [    {      agentId: "work",      match: { channel: "whatsapp", peer: { kind: "direct", id: "+86138xxxx0001" } },    },    {      agentId: "home",      match: { channel: "whatsapp", peer: { kind: "direct", id: "+86139xxxx0002" } },    },    {      agentId: "study",      match: { channel: "whatsapp", peer: { kind: "direct", id: "+86136xxxx0003" } },    },  ],}
八、监控与管理技巧

查看 Agent 运行状态

openclaw agents list --bindingsopenclaw channels status --probeopenclaw status

管理子代理

/subagents list       # 查看所有活跃子代理/subagents kill 1     # 杀掉编号为1的子代理/subagents log 1      # 查看子代理的输出日志/subagents steer 1 "调整方向"   # 引导子代理改变策略

会话管理

# 配置自动重置策略session: {  reset: {    mode: "daily",     // 每天凌晨4点自动重置    atHour: 4,  },  maintenance: {    pruneAfter: "30d",  // 超过30天的会话归档    maxEntries: 500,    // 最多保留500条会话  },}

安全注意事项

底层逻辑是:不要让不同 Agent 共用 agentDir,否则会导致认证和会话冲突。

  • 每个 Agent 应该有独立的工作区和状态目录
  • 高危操作(exec/write/edit)应为特定 Agent 专门放行
  • 开放给多人的 Agent 务必开启沙箱或限制工具集
  • 把子代理的模型设置为较低成本的型号节省开销
总结

OpenClaw 的多 Agent 体系,本质上是一套”AI 团队管理平台”:

  • 通过多 Agent 实现分工——不同职责用不同的”大脑”
  • 通过路由绑定实现分发——消息自动找到对的人
  • 通过子代理实现协作——主管统筹,专员执行
  • 通过沙箱实现安全——该隔离的隔离,该开放的开放

从一个人对着一个 AI 发号施令,到拥有一支 AI 团队各司其职——这大概就是 OpenClaw 的核心魅力所在。

关键不是配置有多复杂,而是你是否想清楚了自己要什么。先画好蓝图,再动手配置,一支高效的 AI 团队就能为你所用。

补充说明:

上面这些配置,如果你不想手工配的话,可以直接与OpenClaw进行自然语言对话,让OpenClaw自己配。

国内主要使用微信、钉钉、飞书、QQ等渠道,配置时相应修改即可。

钉钉官方文档:

https://docs.dingtalk.com/i/nodes/GZLxjv9VGGDA9Ro2uYjPbE4wV6EDybno?iframeQuery=view_mode%3Dnotable-record&belongNodeId=np9zOoBVBy2AdzEjunMbKdabW1DK0g6l&doc_type=wiki_doc

微信参考:

OpenClaw 微信接入指南