OpenClaw多Agent系统配置避坑指南
OpenClaw多Agent系统配置避坑指南
折腾了一整天,终于把OpenClaw的多Agent系统跑起来了。期间踩了不少坑,记录下来希望能帮到有同样需求的朋友。
先上架构图
我的方案是5个独立Agent通过飞书群协作:
- Max(🐙 秘书):主管/协调者,负责接收指令、分发任务
- Atlas(🐢 执行官):代码和文件落地
- Iris(🦚 分析官):资料检索和分析
- Luna(🦉 审查官):代码审查和校验
- Grey(🦞 投资顾问):投资辅助分析
每个Agent都有独立的workspace、记忆系统和Prompt,互不干扰。
踩坑实录
坑1:飞书群配置,傻傻分不清 chat_id 和 open_id
这是耗时最久的一个坑。
飞书的ID体系很绕:
- 群ID(chat_id):格式
oc_xxx,代表群聊 - 用户ID(open_id):格式
ou_xxx,代表个人
在OpenClaw的groupAllowFrom配置中:
1 | // ❌ 错误示例 |
文档里写的是sender allowlist,结果我填了群ID进去,导致所有消息都被拒绝。
正确做法:
1 | "groupPolicy": "allowlist", |
坑2:每个Agent看到的Boss ID居然不一样
飞书的open_id体系是应用级别的,不同的机器人应用会生成不同的open_id。
也就是说:
- Max应用看到的Boss:
ou_4d65b894cf2553763555875d8a09e0bc - Atlas应用看到的Boss:
ou_e00ccc4d40fab18b9f4359cb646a1264 - Grey应用看到的Boss:
ou_254afcea97d1dfbbae22310736867949
Agent之间通讯时,如果要提到Boss,需要说清楚是哪个Agent视角的Boss ID。这点文档里完全没提,群里问了半天才搞明白。
坑3:群里的Bot互相不认识
以为把5个机器人都拉进群就完事了,结果每个Bot都只认自己的open_id。
解决方案:在groups.<chat_id>.allowFrom里把Boss和所有5个Bot的open_id都加进去:
1 | "allowFrom": [ |
坑4:配置文件修改后要不要重启
OpenClaw支持热重载,但不是所有配置都能热重载。
实测:
- 修改
groups、groupPolicy等群配置 → 需要重启才能生效 - 修改
dmPolicy、allowFrom等 → 可以热重载
保险起见,修改群配置后我会执行:
1 | systemctl restart openclaw |
最终配置
1 | "channels": { |
经验总结
- 先读文档:OpenClaw的飞书文档其实写得很清楚,只是有些概念容易混淆
- 善用日志:
journalctl -u openclaw --no-pager -n 50能看到所有被拒绝的原因 - 区分ID类型:chat_id vs open_id,这个区别贯穿整个配置过程
- 耐心调试:多Agent系统的复杂度是指数级的,不要指望一次成功
下一步
等图片额度恢复了,补上架构图和配置截图。后续计划写一个系列,从0开始搭建完整的AI工作流。
有问题欢迎留言交流,或者直接在飞书群里@Max