一、需求场景分析
需求,我需要让一个 OpenClaw(小龙虾)处理三个(根据自己实际情况而定)不同的任务:写公众号文章、整理素材、日常对话;且互相不干扰,最好还能搭配不同的 AI模型(文本模型和生图模型)。
解决方案:配置多智能体路由(Multi-Agent Routing)
在一个 OpenClaw 网关(Gateway)下,创建三个独立的智能体,并通过飞书的不同对话场景(私聊、群聊)将任务路由给对应的智能体。这样每个智能体专注自己的职责,互不干扰。
下面上实操,直接开始配置。
前提是你已经走通了小龙虾和飞书的对话,没有安装部署的可以看我前面发的内容。
二、创建群聊
在飞书App中,手动创建三个群聊,并为其命名以区分用途。之所以用手机创建是因为要拿到群ID,只有手机上能看到。
拉机器人OpenClaw(小龙虾)进群流程:
这里注意:拉机器人进群用专门的入口,不是普通邀请“真人”进群的方式,别搞错了。
三、修改配置文件
找到 openClaw 在你电脑上的配置文件 openclaw.json ,mac电脑的路径是这个 ~/.openclaw/openclaw.json ,打开找到 agents 节点下的 list 节点,修改为下面这样。
3.1 配置智能体
"list": [
{
"id": "assistant_xiaosheng", // 自定义智能体id
"name": "日常助手",
"default": true, // 设为默认智能体
"workspace": "/Users/codexiaosheng/.openclaw/workspace"
},
{
"id": "writergzh_xiaosheng",
"name": "公众号写手",
"workspace": "/Users/codexiaosheng/.openclaw/workspace-writer" // 每个智能体单独指定工作空间
},
{
"id": "collector_xiaosheng",
"name": "素材处理员",
"workspace": "/Users/codexiaosheng/.openclaw/workspace-collector"
}
]
这里的工作空间文件夹不需要我们手动创建,配置文件生效后会自动创建。
修改好记得保存一下。
现在回到手机飞书群里,挨个点开到下图这个页面,把群ID复制出来,多个群的不要搞混了,自己记好。
接着继续在 openclaw.json 中找到 bindings 节点,修改为如下内容。
3.2 配置智能体路由
"bindings": [
// 绑定规则:将飞书的不同对话路由到不同的智能体
// 示例1:将飞书群聊「公众号选题群」的消息路由给 writer 智能体
{
"agentId": "writergzh_xiaosheng",
"match": {
"channel": "feishu",
"peer": { "kind": "group", "id": "你刚刚复制的群ID" } // 替换为您的飞书群聊ID
}
},
// 示例2:将飞书群聊「素材收集群」的消息路由给 collector 智能体
{
"agentId": "collector_xiaosheng",
"match": {
"channel": "feishu",
"peer": { "kind": "group", "id": "你刚刚复制的群ID" }
}
},
// 示例3:将飞书群聊「日常对话群」的消息路由给 assistant_xiaosheng 智能体
{
"agentId": "assistant_xiaosheng",
"match": {
"channel": "feishu",
"peer": { "kind": "group", "id": "你刚刚复制的群ID" }
}
},
// 4. 默认规则:所有其他飞书消息(私聊、未匹配的群聊) -> assistant_xiaosheng 智能体 (保留此条)
{
"agentId": "assistant_xiaosheng",
"match": {
"channel": "feishu",
"peer": { "kind": "direct", "id": "你刚刚复制的群ID" } // 我这里把[日常对话群]作为默认
}
}
]
3.3 配置群里是否需要@才可响应
继续在 openclaw.json 中找到 channels 节点下的 feishu 节点,把 groupPolicy 的值改为 allowlist ,默认它不会对任何群进行消息回复,这里改为只有我们配置的群才会回复。
"groupPolicy": "allowlist", // 只允许 groupAllowFrom 列表中指定的群聊
"groupAllowFrom": ["你的群组ID", "你的群组ID", "你的群组ID"], // 填入您三个业务群聊的ID
"groups":{
"你的群组ID":{
"requireMention":false // 想要哪个群无需@即可响应 默认都需要@才可响应
}
}
groupPolicy 的作用
channels.feishu.groupPolicy 是控制飞书群聊访问的总开关,有三个选项:
-
"open":允许机器人接收所有群聊的消息(但仍可能受requireMention等规则限制)。 -
"allowlist":只允许groupAllowFrom列表中指定的群聊。 -
"disabled":禁用所有群组消息。这是最严格的设置,会直接丢弃所有来自群聊的消息。
3.4 重启OpenClaw网关
这一步一定要记得,只要 openclaw.json 发生改变,要想生效就一定要重启网关,在终端执行如下命令即可:
openclaw gateway restart
等待重启完成,没有报错,就可以在飞书群里测试了。
一般报错也都是语法错误(会给出行号),全程不管是冒号还是逗号,都是英文的,这是容易犯错的地方;还有一个就是括号没对齐,有头无尾的情况,自己检查下就能解决。
四、总结
上面的配置已经实现了多智能体路由核心功能,但没有做个性化配置,比如我公众号写作群想用 Gemini api来写,日常交流群用 deepseek 就足够了;还希望不同群我对小龙虾的称呼不同,也就是我可以给不同的智能体起一个特定的名字,这样他在完成任务做汇报时我通过名字就知道它给我干了什么。
当然,如果是生图、生视频,一样的道理。就看你的业务多不多了,多的话区分出来是最好的,下篇就写这个。
下篇:OpenClaw 多智能体配置不同的模型和个性化设置
大家好,我是小生,从程序员转行做自媒体,每天学习一点 AI 技术。