我的工作过程中一直都没怎么接触过飞书,只是在偶尔参与某些产品内测的时候才会把它重新下载回来,在OpenClaw大火的时候看到人人都用飞书接入玩的飞起,那时也没有让我有接入的动力
上次发了一篇关于Hermes开启多个子Agent的教程,让我的Hermes分为了三个不同分工的Agent,一个负责写作,一个负责出PRD,一个负责编码,如果要想跟着这篇文章一起实现群组里面接入多个子Agent的话还是建议先看完我之前写的这篇文章:
当时看到有大佬将Hermes跟OpenClaw两个Agent扔到了某国外软件的群组里面,互相调用,互相督促,感觉还挺好玩的,于是我想尝试将Hermes的多个子Agent扔到同一个群组里面对话,但是死活不行,只有主Hermes能够回复我消息,子Agent就是不回消息,玩了玩没啥意思,于是就暂时搁置下来。
今天突然想到,既然某国外软件不行,那飞书是不可以,于是我又将飞书 APP 下载了回来
我想很多同学不管在玩OpenClaw还是在玩Hermes时,已经将飞书的接入流程玩的炉火纯青了,根本不用我的这篇教程来学习配置,所以我这篇文章也就当做我的一个记录吧~
接入教程
打开终端,执行命令:
hermes gateway setup
选择 Feishu / Lark 选项:

选择第一个扫码登录:

注意⚠️:扫码登录只有主Agent可以调起,子Agent不可以

扫码登录成功后继续后面的配置:


以上全部选择推荐配置即可
Home chat ID这里可以先不配置,直接回车,后续在机器人对话中发送 /setHome 就好了

按照流程操作完之后,这时候我们在飞牛APP中可以看到机器人了,进入对话随便发个消息,就可以收到配对命令:

将该命令粘贴到终端执行就可以了,党看到如图返回表示配对成功,就可以正常对话了:

以上为主Agent配置教程,虽然子Agent配置大相径庭,但是有部分细节不同,大家要仔细看以下内容:
现在假设你跟我一样也有了多个子Agent,比如写作助手叫writer,产品助手叫planner,编码助手叫coder,那么我以planner举例
在终端执行命令:
planner gateway setup
使用下面的命令也可以,跟上面的效果一样:
hermes -p planner gateway setup
你可以理解为planner 等于 hermes -p planner。
然后跟配主 Agent 一样的步骤,选择 Feishu,在选择扫码跟填写 APP ID 这一步,你不管选哪一个都一样,因为子 Agent 无法调起二维码,最终都会让你手动输入 APP ID(如下图):

到这一步,先按下不表,跟我来创建 APP ID:
访问飞牛开发者平台:
https://open.feishu.cn/
登录后点击右上角 「开发者后台」:

进来后我们可以看到创建飞牛智能体应用的入口,点击 「立即创建」:

选择头像,输入名称:

创建成功后会获得 APP ID与 APP Secret:

将App ID跟 App Secret 粘贴到终端后剩下的操作继续按照推荐的来就行了。
创建完毕后我们通过飞书打开planner机器人的对话,随便发个消息,收到配对命令:

这里要注意一下,先别执行!!!
由于收到的命令是主Agent的,执行会失败,根据我下方的命令进行修改一下再执行:
你收到的:
hermes pairing approve feishu ZH7CVU7F
你真正执行的:
hermes -p planner pairing approve feishu ZH7CVU7F
相信你按照我的步骤来,到这里肯定已经成功了:

其他子Agent继续按照上面的流程创建即可。
然后在飞书创建一个群组(这里不用我教了吧~),然后将机器人们拉进来就可以了
点击群组右上角三个点 -> 设置 -> 群机器人,添加机器人,完成!

然后就可以同时跟多个Hermes Agent机器人对话了~

其实我想要的还不够,我想要的效果是我只负责跟Hermes主Agent对话,然后由主Agent去通知另外的子Agent去工作,达到真正的团队协作,只是~
无论我怎样让主Agent去@子Agent进行任务的下发,都无法实现:

由于飞书的@功能与直接输入@+名字不一样,经过多次尝试最终的效果依旧不尽人意,所以就只能换个思路了
让群组机器人获取群组中的所有消息
首先在开发者平台应用 -「事件与回调」中确保已经开通获取群组中所有消息:

不过好像Hermes 的飞书组件是没有这个功能的,就算开通了权限不@机器人的情况下它也没法接收/发送消息,于是,我让Hermes自己改代码:


在 config.yaml中增加了如下配置:
feishu:
require_mention: true
free_response_channels:
- oc_xxxx
于是我将 require_mention 改为了 false,开启了魔幻之旅:

当我感觉一切美好的时候。。。。




彻底乱套了。。。
然后就让主 Agent 接着改代码,并且在配置中增加关键词识别:
feishu:
require_mention: true
free_response_channels:
- oc_xxxx
channel_required_keywords:
oc_xxxx:
- Hermes Planner
然后,越来越扯淡了~

告辞,不玩了👋👋
想问问大家对于这种多Agent放在同一个群聊里面是怎么玩的,是我的玩法不对吗?