OpenClaw 多智能体路由方案实现不同业务处理
<h2 id="一需求场景分析">一、需求场景分析</h2><p>需求,我需要让一个 OpenClaw(小龙虾)处理三个(根据自己实际情况而定)不同的任务:写公众号文章、整理素材、日常对话;且互相不干扰,最好还能搭配不同的 AI模型(文本模型和生图模型)。</p>
<p><strong>解决方案:配置多智能体路由(Multi-Agent Routing)</strong></p>
<p>在一个 OpenClaw 网关(Gateway)下,创建三个独立的智能体,并通过飞书的不同对话场景(私聊、群聊)将任务路由给对应的智能体。这样每个智能体专注自己的职责,互不干扰。</p>
<p>下面上实操,直接开始配置。</p>
<p>前提是你已经走通了小龙虾和飞书的对话,没有安装部署的可以看我前面发的内容。</p>
<h2 id="二创建群聊">二、创建群聊</h2>
<p>在飞书App中,手动创建三个群聊,并为其命名以区分用途。之所以用手机创建是因为要拿到群ID,只有手机上能看到。</p>
<p><img src="https://my.feishu.cn/space/api/box/stream/download/asynccode/?code=NzdkNjk0YjQ4ZWViMDAxOTlmN2FjN2FjNjVkNDUyZGZfTjFLQ3Rjd1RTcmd1aWN0aWVPZlM5Y2hHRkJYejBFT25fVG9rZW46QmEzaWJ0V3Nyb0Y5cnB4clNSa2N2NGk4bmpmXzE3NzQ0MDc2NDE6MTc3NDQxMTI0MV9WNA"></p>
<p>拉机器人OpenClaw(小龙虾)进群流程:</p>
<p><img src="https://my.feishu.cn/space/api/box/stream/download/asynccode/?code=NjJjNDc5MTk2MjdkNjQ5NjdiMWVlMTYwNTFiN2Y2Njlfeng0Vll0N0NVR0hqZjFaWlY2Z3E2ZTZXQ1RaTzU3MGxfVG9rZW46U2lpTmJNTFI1b2NWUUl4MWoxSmNCaUZPblFoXzE3NzQ0MDc2NDE6MTc3NDQxMTI0MV9WNA"></p>
<p><strong>这里注意:</strong>拉机器人进群用专门的入口,不是普通邀请“真人”进群的方式,别搞错了。</p>
<h2 id="三修改配置文件">三、修改配置文件</h2>
<p>找到 openClaw 在你电脑上的配置文件 <code>openclaw.json</code> ,mac电脑的路径是这个 <code>~/.openclaw/openclaw.json</code> ,打开找到 <code>agents</code> 节点下的 <code>list</code> 节点,修改为下面这样。</p>
<h4 id="31-配置智能体">3.1 配置智能体</h4>
<pre><code class="language-json">"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"
}
]
</code></pre>
<p>这里的工作空间文件夹不需要我们手动创建,配置文件生效后会自动创建。</p>
<p>修改好记得保存一下。</p>
<p>现在回到手机飞书群里,挨个点开到下图这个页面,把群ID复制出来,多个群的不要搞混了,自己记好。</p>
<p><img src="https://my.feishu.cn/space/api/box/stream/download/asynccode/?code=NmViMDJhZjRiZWVjNmFmZWYxYmM5MDZhMDI0ZmY0NzRfckxaWGZqTzhjYTN4ZTBvQm1ZQjdQZzVyTGxmNXlIWmFfVG9rZW46UFRncWJBRXY2b1Ywa1F4UU9HZGNMRko5bnVkXzE3NzQ0MDc2NDE6MTc3NDQxMTI0MV9WNA"></p>
<p>接着继续在 <code>openclaw.json</code> 中找到 <code>bindings</code> 节点,修改为如下内容。</p>
<h4 id="32-配置智能体路由">3.2 配置智能体路由</h4>
<pre><code class="language-json">"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" } // 我这里把[日常对话群]作为默认
}
}
]
</code></pre>
<h4 id="33-配置群里是否需要才可响应">3.3 配置群里是否需要@才可响应</h4>
<p>继续在 <code>openclaw.json</code> 中找到 <code>channels</code> 节点下的 <code>feishu</code> 节点,把 <code>groupPolicy</code> 的值改为 <code>allowlist</code> ,默认它不会对任何群进行消息回复,这里改为只有我们配置的群才会回复。</p>
<pre><code class="language-json">"groupPolicy": "allowlist", // 只允许 groupAllowFrom 列表中指定的群聊
"groupAllowFrom": ["你的群组ID", "你的群组ID", "你的群组ID"], // 填入您三个业务群聊的ID
"groups":{
"你的群组ID":{
"requireMention":false // 想要哪个群无需@即可响应 默认都需要@才可响应
}
}
</code></pre>
<p><strong><code>groupPolicy</code> 的作用</strong></p>
<p><code>channels.feishu.groupPolicy</code> 是控制飞书群聊访问的<strong>总开关</strong>,有三个选项:</p>
<ul>
<li>
<p><strong><code>"open"</code></strong>:允许机器人接收所有群聊的消息(但仍可能受 <code>requireMention</code> 等规则限制)。</p>
</li>
<li>
<p><strong><code>"allowlist"</code></strong>:只允许 <code>groupAllowFrom</code> 列表中指定的群聊。</p>
</li>
<li>
<p><strong><code>"disabled"</code></strong>:禁用所有群组消息。这是最严格的设置,会直接丢弃所有来自群聊的消息。</p>
</li>
</ul>
<h4 id="34-重启openclaw网关">3.4 重启OpenClaw网关</h4>
<p>这一步一定要记得,只要 <code>openclaw.json</code> 发生改变,要想生效就一定要重启网关,在终端执行如下命令即可:</p>
<pre><code class="language-json">openclaw gateway restart
</code></pre>
<p>等待重启完成,没有报错,就可以在飞书群里测试了。</p>
<p>一般报错也都是语法错误(会给出行号),全程不管是冒号还是逗号,都是英文的,这是容易犯错的地方;还有一个就是括号没对齐,有头无尾的情况,自己检查下就能解决。</p>
<h4 id="四总结">四、总结</h4>
<p>上面的配置已经实现了多智能体路由核心功能,但没有做个性化配置,比如我公众号写作群想用 Gemini api来写,日常交流群用 deepseek 就足够了;还希望不同群我对小龙虾的称呼不同,也就是我可以给不同的智能体起一个特定的名字,这样他在完成任务做汇报时我通过名字就知道它给我干了什么。</p>
<p>当然,如果是生图、生视频,一样的道理。就看你的业务多不多了,多的话区分出来是最好的,下篇就写这个。</p>
<p>下篇:OpenClaw 多智能体配置不同的模型和个性化设置</p>
<blockquote>
<p>大家好,我是小生,从程序员转行做自媒体,每天学习一点 AI 技术。</p>
</blockquote>
</div>
<div id="MySignature" role="contentinfo">
AI视频 AI绘画 AI编程 AI数字人综合学习资料https://pan.quark.cn/s/a43dba5a3b8e<br><br>
来源:https://www.cnblogs.com/codexs/p/19768858
頁:
[1]