必须依赖OpenClaw内置异步消息通信机制实现多Agent协同:一、启用agentToAgent直连通道;二、利用群聊历史共享上下文;三、通过sessions_spawn派生子Agent自动回传;四、基于共享文件系统异步传数据;五、接入MemOS插件构建统一记忆池。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用OpenClaw时需要实现多个Agent之间的任务协同与信息同步,则必须依赖其内置的异步消息通信机制。以下是实现Agent间消息传递和协作通信的具体方法:
一、启用 agentToAgent 直接消息通道
该方式允许两个已配置的持久Agent之间通过唯一ID建立点对点通信,适用于需明确指令流向、结果强绑定的协作场景。消息支持同步等待响应与即发即忘两种模式,由调用方显式指定。
1、在主Agent配置文件 openclaw.json 的 channels 节点下,添加 allowAgents 白名单字段,填入目标Agent的唯一ID(如 "agent-7a3f9b")。
2、确保目标Agent的 gateway 配置中 enabled 字段为 true,并且其 memory 模块已启用持久化存储。
3、在主Agent代码中调用 sessions_send 接口,传入目标Agent ID、消息体 payload 及 mode 参数("sync" 或 "fire-and-forget")。
4、目标Agent收到消息后,自动触发 onMessage 事件处理器,解析 payload 并执行对应逻辑。
二、利用群聊历史共享上下文
该方式不依赖额外配置或API调用,而是通过将多个持久Agent加入同一通讯群组(如Telegram群、飞书群),借助群内公开消息流实现隐式协同。每个Agent被 @ 提及后可读取完整群聊历史,从而获取前序Agent输出的中间结果。
1、确认所有参与协作的Agent均绑定同一通讯渠道(例如全部启用 Telegram 插件)。
2、在 openclaw.json 中为该渠道配置 groupPolicy 为 "allowlist",并在 groups.allowlist 中填入目标群组ID(如 "-1001234567890")。
3、在飞书或 Slack 渠道中,必须将 requireMention 设置为 true,否则将触发无限循环响应。
4、在群内发送含 @ 符号的消息,例如 "@designer 请基于 @researcher 刚提供的竞品数据生成UI草图"。
三、通过 sessions_spawn 派生子Agent并自动回传
该方式用于临时性任务分发,主Agent动态创建子Agent执行专项任务,子Agent生命周期结束后自动将结果以结构化格式返回至父Agent的 Announce 队列,无需手动监听或轮询。
1、主Agent调用 sessions_spawn API,传入子Agent角色标识(如 "code-reviewer")、超时时间 timeout_ms 及初始参数 args。
2、子Agent启动后,从父会话继承 tool registry 和 memory scope,但拥有独立的 session_id 与 context window。
3、子Agent完成任务后,调用 announce 接口,将 result 字段设为 JSON 对象(如 {"status":"success","output":"PR检查通过"})。
4、主Agent在父会话中监听 Announce 事件,从 event.payload.result 中提取返回值并继续后续流程。
四、基于共享文件系统异步传递数据
该方式绕过消息总线,通过约定路径与格式的本地文件实现跨Agent数据交换,适用于大体积中间产物(如CSV报表、截图、日志片段)或离线环境下的协作。
1、在 openclaw.json 的 system 节点中定义 sharedStoragePath,例如 "/opt/openclaw/shared/",所有Agent对该路径具有读写权限。
2、发送方Agent生成文件时,按命名规范保存:{task_id}_{step_name}_{timestamp}.json,内容为标准JSON结构。
3、接收方Agent定期扫描 sharedStoragePath 下匹配 task_id 的新文件,解析后删除原文件以避免重复处理。
4、双方Agent需在 memory 中记录已处理的 task_id 哈希值,防止因文件扫描延迟导致重复消费。
五、接入 MemOS 插件构建统一记忆池
该方式将多个Agent连接至同一个向量记忆服务(MemOS),通过 user_id 或 task_id 作为检索键,实现长期上下文与结构化知识的跨Agent共享,适用于需持续累积经验的多轮协作任务。
1、部署 MemOS 服务实例,确保其 endpoint(如 http://memos.local:8080)可被所有Agent网络访问。
2、在各Agent的 openclaw.json 中配置 memory.type 为 "memos",并填入 memos.endpoint 与 memos.apiKey。
3、发送方Agent调用 memory.write 接口,传入 key(如 "task-20260518-report-data")、value(JSON对象)及 ttl(秒)。
4、接收方Agent调用 memory.read 接口,传入相同 key,获取序列化后的 value 并反序列化使用。


















