🔥 目前互联网上很多 OpenClaw 多 Agent 的教程往往都非常复杂,并且在本地难以实现。
本文将为大家带来一个可以在本地完整落地的 OpenClaw 多 Agent 协作教程。我们将以软件开发中两个非常常见的角色——项目经理以及全栈工程师为例,演示如何配置和运行多 Agent 协作系统。
📋 完整流程概览
本教程共包含 10 个步骤,从创建飞书机器人到最终演示多 Agent 协作开发一个时钟任务:
- 创建飞书机器人(项目经理、全栈工程师)
- OpenClaw engines 配置(独立 workspace)
- 多账号会话隔离设置
- 工具权限配置(Agent 间消息调度)
- 飞书渠道配置(app_id、app_secret)
- 路由绑定配置(消息转发通道)
- 允许私聊账号配置(从日志获取用户ID)
- Agent 初始化(赋予灵魂和工作策略)
- 主 Agent 记忆固化(建立长期记忆)
- 演示效果(开发时钟任务)
1创建飞书机器人
首先,我们需要在飞书开放平台创建两个机器人,分别对应两个不同的 Agent 角色:
- 项目经理小测 - 负责需求分析和任务拆解
- 全栈开发工程师小站 - 负责代码开发实现
点击链接跳转到飞书机器人的创建界面,按指引完成创建。第一个机器人取名为项目经理小测,第二个机器人取名为全栈开发工程师小站。
机器人创建完成之后,当前页面先不要关闭,等会儿我们还需要拷贝相应的
app_id 以及 app_secret。
2OpenClaw Engines 配置
OpenClaw 多 Agent 的配置比较简单。我们需要给每个 Agent 定义它的 ID、名称、工作空间,以及它所使用的模型。
默认的主助手可以使用当前已经存在的 workspace。但对于其他需要协作的助手,一定要给它们分配不同的 workspace。完全独立的 workspace 意味着每个助手可以拥有完全独立的性格以及做事风格,这也是多 Agent 协作的必要前提条件。
配置文件示例:
"engines": {
"project-manager": {
"name": "项目经理小测",
"workspace": "workspace-pm",
"model": "your-model-name"
},
"fullstack-dev": {
"name": "全栈工程师小站",
"workspace": "workspace-dev",
"model": "your-model-name"
}
}
复制该配置文件,点开 OpenClaw 控制台,点击配置,找到 engines 配置,将配置文件粘贴过来。注意根据实际情况补充逗号,否则配置文件格式会不正确。粘贴过来之后,记得将相应的模型替换为你正在使用的模型。修改完成之后点击保存。
这时候可以先不用急着重启,将其他的配置修改完成之后,一并重启即可。
3多账号会话隔离设置
这一步也是非常重要,一定要进行配置,否则多个机器人之间就没有办法实现完全独立的会话。
在 OpenClaw 配置文件中找到 session,粘贴会话隔离配置:
"session": {
"isolation": {
"byAccount": true,
"byChannel": true
}
}
同样要注意逗号的格式,点击保存。
4工具权限配置
工具权限配置里有一个非常重要的配置项:agent。
当我们将该配置设置为开启的时候,才可以通过主 Agent 向其他的子 Agent 发送消息进行调度。
"tools": {
"agent": {
"enabled": true,
"allowDispatch": true
}
}
同样复制粘贴进配置文件即可,找到 tools 粘贴完成,注意逗号,点击保存。
5飞书渠道配置
飞书 channel 配置里面主要是新增了多机器人的配置。机器人所需要的配置信息也比较简单:
app_id- 飞书应用 IDapp_secret- 飞书应用密钥name- 机器人名称privateChatStrategy- 私聊策略
私聊策略配置为 allowlist,代表只有在 allowFrom 里面的账号才能够跟该机器人进行私聊。
"channels": {
"feishu": {
"bots": [
{
"appId": "your-app-id-1",
"appSecret": "your-app-secret-1",
"name": "项目经理小测",
"privateChatStrategy": "allowlist",
"allowFrom": []
},
{
"appId": "your-app-id-2",
"appSecret": "your-app-secret-2",
"name": "全栈工程师小站",
"privateChatStrategy": "allowlist",
"allowFrom": []
}
]
}
}
将新建好的机器人的 app_id 以及 app_secret 粘贴过来。allowFrom 暂时先不做修改,里面的账号配置只有当我们在飞书里面对相应机器人发送消息的时候才可以获取到。
6路由绑定配置
OpenClaw 路由配置比较复杂,这里只取其中最简单的一种配置,以 project manager 为例。
这个配置代表的含义是:当在飞书里面通过 project manager 这个机器人向 OpenClaw 发送消息的时候,所有的消息都会被转发给 project manager 这个 Agent。也就是构建了一个消息转发通道,确保消息不会被错误的转发给其他的 Agent。
"routes": [
{
"channel": "feishu",
"bot": "项目经理小测",
"target": "project-manager"
},
{
"channel": "feishu",
"bot": "全栈工程师小站",
"target": "fullstack-dev"
}
]
粘贴该配置文件的时候需要注意它的层级是比较高的,千万不要把它错误的放在
channels 里面。直接找到 channels 配置的开头,在 channels 的上方按下回车粘贴进来。
粘贴完成后点击保存,所有的基础配置都已经完成了。
7允许私聊账号配置
打开终端,执行以下命令重启 OpenClaw 服务:
openclaw gateway restart
服务重启完成后,我们还有一个飞书机器人允许的私聊账号没有配置完成。下面讲解如何找到这个相应的账号 ID。
首先,再打开一个 OpenClaw 控制台的页面,找到日志菜单,将日志拉到最下面。然后打开飞书,先找到项目经理小测,点击打开应用,给他发送第一条消息(比如"嗨")。
消息发送完成后,回到 OpenClaw 控制台,可以看到这样的一条消息,它的格式是比较固定的:前面是飞书,后面是我们给机器人取的名字。sender 后面跟着的这串 ID 就是我们需要的用户 ID。
飞书项目经理小测 | sender: ou_xxxxxxxxxxxxxxxxxxxxxxxx
复制该 ID 粘贴到对应机器人的 allowFrom 配置中。同理,另外一个机器人所需要配置的 ID 也通过该方式获取。两个 ID 都配置完成之后点击保存,再次重启 OpenClaw 服务。
8Agent 初始化
服务重启完成后,回到飞书再次给两个机器人分别发送消息,可以看到 OpenClaw 已经收到消息了。从机器人给我们的回复中也可以看出来,它们两个是完全独立的新的工作空间。
下面可以给这两个机器人赋予他们的灵魂,并且给他们设置好各自的工作策略。
项目经理小测的初始化提示词:
你是一位经验丰富的项目经理,擅长需求分析和任务拆解。 你的主要职责: 1. 接收开发任务,进行详细的需求分析 2. 将复杂任务拆解为清晰的开发文档 3. 明确功能需求、技术要求和验收标准 4. 输出结构化的开发文档供开发人员使用 工作风格: - 严谨细致,注重文档质量 - 善于沟通,能够准确理解需求 - 输出格式清晰,便于开发人员理解执行
全栈工程师小站的初始化提示词:
你是一位全栈开发工程师,精通前后端开发技术。 你的主要职责: 1. 根据项目经理提供的开发文档进行代码实现 2. 独立完成网页应用的开发和部署 3. 确保代码质量和功能完整性 4. 开发完成后提供可访问的演示地址 技术栈: - 前端:HTML、CSS、JavaScript - 后端:Node.js/Python(根据需求选择) - 部署:能够生成可访问的在线演示 工作风格: - 代码规范,注释清晰 - 注重用户体验和界面美观 - 按时交付,保证质量
将对应的提示词文本复制发给对应的机器人即可。两个机器人都已经完成初始化设置了。
9主 Agent 记忆固化
最后一步的配置:告诉主 Agent 如何指挥这两个子 Agent 去干活。
这段提示词的主要目的就是在主 Agent 里面建立长期记忆。当向主 Agent 下发开发类任务的时候,默认不要新建临时 Agent,而是将当前任务发送给项目经理 Agent 以及全栈开发工程师 Agent,让他们去进行协作处理。
当你收到开发类任务时,请按照以下流程执行: 1. 首先将任务转发给项目经理(project-manager),要求其进行需求拆解并输出开发文档 2. 等待项目经理完成需求分析后,将开发文档转发给全栈工程师(fullstack-dev)进行开发 3. 全程跟踪任务进度,协调两个 Agent 之间的协作 4. 项目完成后,向用户汇报整体成果 注意: - 使用 agent:send 工具向子 Agent 发送消息 - sessionKey 可以在 OpenClaw 控制台的会话里面获取 - 项目经理 sessionKey: [从控制台获取] - 全栈工程师 sessionKey: [从控制台获取]
sessionKey 可以在 OpenClaw 控制台的会话里面获取。打开 OpenClaw 控制台,点击会话,可以检索相应会话,复制对应的 sessionKey 粘贴到提示词中。
将这段话复制发送给主 Agent 即可,等待主 Agent 完成配置。
10演示效果
主 Agent 已经完成配置了,下面可以验证多 Agent 协作的效果。给主 Agent 发送一个开发时钟的任务,让它去安排项目经理以及全栈工程师进行开发。
用户输入:帮我开发一个网页时钟
可以看到主 Agent 已经在安排该开发任务了。打开 OpenClaw 的控制台,对应找到相应的 session 去观察:
调度流程观察:
1. 主 Agent → 项目经理:
主 Agent 跟项目经理说:"大哥这边有个新开发任务,开发一个时钟,要求出一个开发文档,以供后续全栈工程师直接开发。"
2. 项目经理进行需求拆解:
项目经理开始去做需求拆解,输出详细的开发文档。
3. 主 Agent → 全栈工程师:
当项目经理完成需求拆解后,主 Agent 告诉全栈工程师:"大哥这边有个新开发任务,开发一个网页时钟",并且将项目经理拆出来的需求文档交给他。
4. 全栈工程师开发:
全栈工程师开始按照文档去做开发,完成后会弹出一个网页,显示开发成果。
5. 主 Agent 汇报:
回到飞书,主 Agent 会汇报:"项目经理拆解完需求,全栈工程师按文档开发完成",并总结当前项目完成的成果,最后提供一个访问地址。
全栈工程师开发出来的网页时钟能够跟当前时间匹配上,说明开发没有问题。整个协作流程自动化完成,无需人工干预。
结语
本次的多 Agent 协作教程演示到这边就结束了。演示过程中采用的场景还是比较简单的,关于多 Agent 协作的场景,目前也还在逐步探索。
通过这个教程,我们实现了:
- ✅ 多个飞书机器人的创建和配置
- ✅ OpenClaw 多 Agent 独立 workspace 设置
- ✅ Agent 间消息调度和路由绑定
- ✅ 主 Agent 自动分配任务给子 Agent
- ✅ 完整的开发任务协作流程演示
工具会变,但方法更重要。
欢迎大家在实践中多多探索,相互交流。
本文内容整理自 B 站视频:OpenClaw 多 Agent 协作保姆级教程(BV1VzAMzzEEb),作者:麦冬
← 返回博客首页