
























目前我已经完成了OpenClaw的基本安装,但是在对话框只有一个,机器人也只绑定到主会话,一次只能处理一个消息。很多时候我在聊天窗口,说A任务,然后做了一半,又发了关于B任务的指令。一是每次发完消息,如果OpenClaw还在处理,剩下的消息要么进入队列、要么看不到(实际还在队列)。两个任务切来切去,感觉体验很不好。
要彻底解决这个问题,实现网上演示的那种对各Agent、每个对话机器人对应一个Agent,就需要用到多智能体路由技术。
实现的步骤如下:
明明我已经安装好了飞书,系统还是会提示我安装,否则就跳过了添加飞书这步。应该是系统Bug 。这次安装的飞书位置在~/.openclaw/extensions/feishu,其实和~/.npm-global/lib/node_modules/openclaw/extensions/feishu/是一样的,安装的方法不同而已。建议把.npm-global的删除。

第二次配置的时候,会把第一次飞书Channel给覆盖掉,具体看channels.feishu下面的配置。因为我们要实现每个Agent对应一个机器人,就必须要有多个feishu的机器人配置,而这里只有一个。
以下为OpenClaw自己配置的:
正确的如下,将多个机器人配置放在了channels.feishu.accounts下面,没办法只能手工改:
"channels": {
"feishu": {
"enabled": true,
"domain": "feishu",
"groupPolicy": "allowlist",
"accounts": {
"main": {
"appId": "cli_1",
"appSecret": "appSecret1",
"botName": "主助手",
"groupAllowFrom": [
"ou_id1"
]
},
"feishu-work": {
"appId": "cli_2",
"appSecret": "appSecret2",
"botName": "工作助手",
"groupAllowFrom": [
"ou_id2"
]
},
},
"dmPolicy": "pairing"
}
},
"bindings": [
{
"agentId": "main",
"match": {
"channel": "feishu",
"accountId": "main"
}
},
{
"agentId": "work",
"match": {
"channel": "feishu",
"accountId": "feishu-work" #要与前面配置对应
}
}
],
注意事项:

效果就是这样。
回到Gateway的聊天窗口,就可以切换聊天的对象,我这有2个。(应该也有相关的配置的,找到之后更新)

一次性申请了6个机器人,确定好Agent的名称,让OpenClaw帮我完成配置。
提示应用未建立长链接。原因是手工修改openclaw.json增加飞书渠道,并没有通过openclaw channels add增加。
发现在~/.openclaw/feishu/dedup少了些内容,但这并没有什么影响。
实测的总结是:必须在控制台完成对飞书机器人添加,才能起作用。而OpenClaw生成的openclaw.json还是对的,能让我的新机器人与Agent对应上。加上之后,还需要调整一下openclaw.json,删除错误的配置。
于是放心把其他的机器人都通过控制台添加上去,任务完美完成。
接下来我就可以创建一批智能体和机器人,并且让他们协同起来了。
飞书创建机器人的过程比较复杂,流程繁琐。好在我操作一遍之后,就可以按照之前的路径一直这样做下去。
多个飞书账号时,名称中如果包含大小写,会遇到无法找到的问题。原因时飞书在处理的时候都改成了小写。为了避免类似问题,我将所有飞书的accountId改为小写。
当多个Agent相互调用的时候,我发现第一个Agent调用第二个Agent失败,仔细看聊天记录,发现OpenClaw把Agent的id全改为了小写。同样,为了规避此类问题,建议所有的Agent名称都时小写。
还可以在Agent的workspace名称发现一些端倪。
比如我的Agent名称为BandBusiness,系统自动分配的workspace名称为~/.openclaw/bandbusiness,全改为小写了。
关键词:OpenClaw 多智能体 路由,飞书多机器人配置,OpenClaw bindings 绑定
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。