Hermes Agent 直连飞书机器人

适用场景:

  • 你已经安装好了 Hermes Agent
  • 你想直接让 Hermes 接飞书

前提条件,至少确认这些条件成立:

  • hermes --version 能正常输出版本
  • 飞书开放平台可以创建企业自建应用
  • 你的飞书账号能访问该应用
  • 已有可用的推理 provider
  • 如果你要走 GPT 而不是 MiniMax,需要额外满足:
    • hermes auth list 里有可用的 openai-codex 凭据

1. 创建飞书应用,开通对应权限及长连接

(注意:应用发布需要企业管理员通过,自己的账号测试可以通过自己创建的企业来进行操作)

  1. 在非书中搜索,打开开发者小助手,进入开发者后台
  1. 创建应用
  1. 添加机器人能力
  1. 开通对应权限

注意要打开的权限:

权限 作用
im:message.receive_v1 核心!接收用户发给机器人的单聊 / 群聊消息
im:message:send_as_bot/ application:bot:send_message 机器人回复消息、发卡片 / 文本
im:message.p2p_msg:readonly 读取用户单聊发给机器人的消息内容
im:message.group_at_msg:readonly 读取群里 @机器人的消息内容
im:chat:readonly 读取会话信息(群 / 单聊)
contact:user.base:readonly 读取用户基础信息(昵称 / ID,Hermes 做用户识别用)
  1. 打开事件与回调的长连接
  1. 创建版本,发布应用
  1. 发布完成,会收到消息。点击打开应用

就可以看到机器人聊天框了

2. Hermes连接飞书

  1. Windows 上先处理编码

在原生 Windows PowerShell 里,Hermes 很容易因为 GBK 编码报错。先执行:

ruby 复制代码
chcp 65001
$OutputEncoding = [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
$env:PYTHONIOENCODING='utf-8'

后面的 hermes 命令都建议在这个终端里执行。

  1. 确认 Hermes 已安装
css 复制代码
hermes --version
hermes doctor
  1. 启动飞书接入向导
arduino 复制代码
hermes gateway setup

选择 Feishu / Lark

因为我们前面已经创建好了机器人,选择 2,到飞书开发者后台复制 APP ID 和 密钥(注意,密钥是不会显示的,点击复制按钮后回到hermes控制台直接鼠标右键回车即可)

省略了第一步的话,可以优先选择:

  • Scan QR code to create a new bot automatically

如果二维码流程失败,再改成手动输入 App ID / App Secret

接着会出现两个选项:

选项 含义 适用场景
1. feishu (China) 飞书(国内版) 国内版飞书(feishu.cn域名,国内公司常用)
2. lark (International) Lark(国际版) 国际版飞书(larksuite.com域名,海外公司 / 团队常用)

我这里用的是国内版,选 1

  1. 选择 Connection mode

建议选:

  • WebSocket

原因:

  • 本机直连最简单
  • 不需要公网域名
  • 不需要 HTTPS 回调地址
  • 不需要自己暴露 webhook 服务

Webhook 只适合你已经有公网可访问的 HTTP/HTTPS 服务时使用。

  1. Direct messages authorization

建议选:

  • Use DM pairing approval

这表示:

  • 第一次有人私聊机器人,先给出 pairing code
  • 机器人管理员审批后,这个用户才能继续使用

这是最适合个人测试和小范围使用的策略。

  1. Group chats handling

建议选:

  • Respond only when @mentioned in groups

这样群里只有 @机器人 时才会回复,避免乱接话。

  1. Home chat ID

这个可以先留空。

它只影响:

  • cron 结果发送到哪里
  • 跨平台通知发到哪里

接入飞书聊天本身不依赖这个值。

  1. 回车完成

3. 验证

4. 切换模型

  1. 先确认权限列表

    hermes auth list

我这有两个模型:MiniMax-M2.7openai-codex

  1. 执行以下命令

MiniMax-M2.7,走 GPT,把 provider 改成 openai-codex

arduino 复制代码
chcp 65001
$OutputEncoding = [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
$env:PYTHONIOENCODING='utf-8'

hermes config set model.provider openai-codex
hermes config set model.base_url https://chatgpt.com/backend-api/codex
hermes config set model.default gpt-5.4-mini
  1. 验证本地 Hermes 是否真的修改
arduino 复制代码
hermes config show

正确的结果会包含:

makefile 复制代码
provider: openai-codex
default: gpt-5.4-mini
base_url: https://chatgpt.com/backend-api/codex
  1. 切换完成后需要重置会话,通过在飞书里对机器人发送:
bash 复制代码
/reset

或者:

arduino 复制代码
/new

可以通过 hermes chat -Q -q "Reply with OK only." --provider openai-codex -m gpt-5.4-mini 查看当前会话ID,回复OK说明没问题

5. 结论

  • 飞书聊天会保存到 Hermes 的 session 记录中
  • 这不等于每条聊天都会自动写入长期记忆 MEMORY.md / USER.md
  • 飞书文本聊天支持
  • 飞书群里 @机器人 聊天支持
  • 飞书语音/视频通话、飞书会议实时语音对话,当前不作为已验证能力

要写入长期记忆可以在飞书中名且说:

复制代码
记住:以后默认用中文回答,默认使用 GPT-5.4-mini。把这两条写入长期记忆。

验证是否成功:

  • 看 memories 目录 里是否生成了 MEMORY.md / USER.md
  • /reset 后再问它:以后默认用什么模型/语言?
  • 如果它能答出你刚保存的偏好,就说明长期记忆已经生效了

如果你只想快速跑通,按这套最短路径:

  1. 用 UTF-8 PowerShell
  2. hermes gateway setup
  3. Feishu / Lark
  4. WebSocket
  5. DM pairing approval
  6. 群里只有 @机器人 才回复
  7. Home chat ID 留空
  8. 飞书后台发布版本
  9. 运行 hermes gateway run
  10. 飞书里给机器人发 hi
  11. 本机执行 hermes pairing approve feishu <code>
  12. 飞书里再发 你好
  13. 如需 GPT,改 config.yamlopenai-codex + gpt-5.4-mini
  14. /reset
  15. 再问 你现在是什么模型

满足下面三项,就说明这条链路已经跑通:

  • 飞书里机器人能收消息并回复
  • hermes sessions list 能看到新 session
  • agent.log 里能看到实际使用的 provider/model

如果你要继续完善,可以再做这几件事:

  • 给飞书机器人加几个快捷菜单
  • /sethome 配置默认通知会话
  • 把 gateway 放到更稳定的长期运行环境
  • 补充飞书应用权限和事件配置
相关推荐
不务正业的前端学徒1 小时前
Threejs,地图标签绘制,碰撞检测逻辑
前端
Pkmer2 小时前
古法编程: 深度解析Java调度器Timer
java·后端
qq_12084093712 小时前
Three.js 工程向:GPU Overdraw 诊断与前端渲染优化
前端
小强19882 小时前
C++23/26新特性解析:那些让你放弃Boost库的杀手锏
后端
Aolith2 小时前
学 Express 被 app.use 绕晕了?用流水线思维一次性搞懂 5 种中间件
后端·express
BduL OWED2 小时前
将 vue3 项目打包后部署在 springboot 项目运行
java·spring boot·后端
二月龙2 小时前
从C++到WebAssembly:让高并发计算跑在浏览器里
后端
ZJY1322 小时前
3-12:路由和重构
后端·node.js
掘金者阿豪2 小时前
我用 Codex Rule 模式“驯服AI写代码”:从翻车到稳定上线的完整实践(附企业级规则模板 + 架构图)
后端