深入理解OpenClaw的多Agent模式
摘要:本文详细介绍了OpenClaw的多Agent模式,通过一个Gateway管理多个独立AI大脑。文章解释了agentId、accountId和binding三个核心概念,并介绍了如何添加新Agent、配置消息路由规则以及常见的使用场景。最后还提供了多种配置方案供用户选择。
前言
OpenClaw的多Agent模式允许在一个Gateway中运行多个独立的AI大脑,每个大脑都有自己的工作区,互不干扰。例如,你可以有一个工作用的Agent,另一个用于生活,这样可以实现消息的自动路由到相应的Agent。
核心概念
要理解多Agent模式,首先需要掌握以下三个核心概念:
- agentId:每个Agent的唯一标识符,比如
main、work、home等。 - accountId:渠道账号的名字,例如飞书或钉钉账号。
- binding:消息路由规则,决定哪条消息该交给哪个Agent处理。
添加新Agent
添加新的Agent非常简单,只需一条命令:open cloud agents add [name],例如work或coding。执行后,系统会自动创建独立的工作区目录,初始化必要的文件,并提供独立的绘画存储。
配置Binding
在opencloud.json文件中,bindings是一个数组,每条规则指定agentId和match条件。match可以按渠道名、账号ID甚至具体的群ID来匹配。最具体的规则优先级最高。如果没有匹配到任何规则,消息将回退到默认Agent。
常见使用场景
- 不同渠道绑定不同的Agent,例如飞书走工作Agent,钉钉走个人Agent。
- 单个机器人账号按群路由,同一个飞书机器人在技术群里是编程Agent,在运营群里是内容Agent。
- 多人共用一个Gateway,每个人对应一个Agent,工作区和对话历史完全隔离。
配置方案
根据实际需求,有四种配置方案可以选择:
- 单Agent多会话:适合个人用户。
- 多Agent软隔离:每个Agent有独立工作区,适合小团队和多角色场景。
- Docker沙箱:处理敏感数据时安全性更高。
- 多Gateway:每个Agent独立进程,适合企业级部署。
沙箱和工具权限
沙箱有三档设置:off(不隔离)、none-man(仅对非主Agent启用沙箱)和all(所有Agent都进沙箱)。工具权限通过allow和deny控制,确保Agent的安全性。
验证配置
配置完成后,重启Gateway让改动生效:open cloud gateway restart。然后使用open cloud agents list --binding查看所有Agent及其对应的绑定规则是否正确。最后,通过open cloud channels status --pro确认各渠道连接正常,并发送测试消息以确认路由到了正确的Agent。