摘要

Hermes Agent 是 Nous Research 开源的自主型 AI Agent。它不只是一个聊天机器人,也不只是一个代码补全工具,而是将大模型、工具调用、记忆、Skills、定时任务和多平台消息网关组合在一起的 Agent 运行环境。

本文先解释 Hermes Agent 的定位和核心组成,再介绍它如何通过飞书机器人接收消息、调用工具并返回结果,最后给出一套基于 WebSocket 的飞书接入思路。

说明:本文讨论的是 Nous Research 的 Hermes Agent,不是同名的 Hermes 模型或其他项目。示例配置和命令应以当前官方文档为准。

一、Hermes Agent 是什么

官方文档将 Hermes Agent 定义为具备自我改进能力的 AI Agent。它可以使用工具、保留跨会话记忆、创建和复用 Skills、运行定时任务,并通过多种聊天平台与用户交互。[2]

从工程角度看,可以把 Hermes 理解为:

大模型推理能力 + 工具执行能力 + 记忆系统 + Skills 工作流 + 消息网关 + 任务调度器。

普通聊天机器人通常只完成“用户提问—模型回答”这条链路,而 Hermes 的典型流程是:

  1. 接收用户目标;
  2. 分析任务并制定步骤;
  3. 选择合适的工具;
  4. 在本地或远程环境执行操作;
  5. 读取执行结果;
  6. 必要时继续调用工具;
  7. 汇总结果并回复用户;
  8. 将有价值的经验保存到记忆或 Skills 中。

因此,Hermes 更适合处理研究、自动化、文件处理、项目协作和周期性任务,而不是只回答一次性问题。

二、Hermes Agent 可以做什么

1. 对话式任务处理

用户可以通过命令行或聊天平台向 Hermes 描述目标,例如:

  • 整理一批本地资料;
  • 分析一个项目目录;
  • 生成日报或周报;
  • 查询资料并输出摘要;
  • 检查代码和配置文件;
  • 根据模板生成文档。

2. 调用工具完成实际操作

Hermes 支持工具和 Toolsets,可以扩展网页搜索、浏览器操作、文件读写、终端命令、代码执行以及外部服务调用等能力。官方文档还提供 MCP 集成,用于连接更多外部工具。[2]

需要注意:模型只能做出决策,真正的文件修改、命令执行和网络访问都依赖工具及其运行环境。因此,工具权限比单纯的模型参数更值得关注。

3. 跨会话记忆

Hermes 可以保存用户偏好、项目背景、历史经验和任务总结。这样用户下次继续工作时,不必重复提供所有上下文。

记忆系统并不等于“模型永久记住一切”。实际效果取决于记忆配置、保存策略、上下文检索和权限隔离。生产环境中还应避免把密码、Token 和其他敏感信息直接写入长期记忆。

4. Skills 工作流

Skills 可以看作可复用的任务说明和操作流程。例如,可以为 Hermes 配置:

  • CSDN 技术博客写作 Skill;
  • PDF 分析 Skill;
  • GitHub Issue 处理 Skill;
  • 每日资讯整理 Skill;
  • 数据清洗和报告生成 Skill。

相比每次重新描述要求,Skills 更适合固化稳定流程。

5. 定时任务

Hermes 内置 Cron 能力,可以定期运行任务并将结果发送到指定平台。[2]

例如:

  • 每天上午发送行业资讯摘要;
  • 每周一生成项目进度报告;
  • 每晚检查指定网页是否更新;
  • 定期检查 GitHub 仓库并推送异常。

6. 多平台工作入口

Hermes 支持从命令行和多个消息平台使用。飞书接入后,用户可以直接在私聊或群聊中向 Agent 发起任务,并接收文本、图片、音频和文件等结果。[1]

三、Hermes Agent 的核心架构

飞书 用户

飞书 机器人

Hermes 消息网关

权限与会话管理

Agent Runtime

大模型 Provider

工具与 Toolsets

Memory

Skills

本地或远程执行环境

Cron Scheduler

组件说明

组件 主要职责
Agent Runtime 管理模型调用、任务循环和工具调用
Model Provider 提供大模型推理能力
Tools 执行搜索、文件、终端和外部服务操作
Memory 保存和检索跨会话信息
Skills 固化可复用的任务流程
Terminal Backend 决定任务在哪个环境执行
Messaging Gateway 连接飞书等聊天平台
Cron Scheduler 运行定时任务并发送结果

四、Hermes 接入飞书的工作流程

1. 私聊流程

工具 大模型 Hermes 飞书 用户 工具 大模型 Hermes 飞书 用户 发送任务消息 推送消息事件 校验身份和权限 请求任务规划 返回回复或工具调用 执行工具任务 返回执行结果 汇总结果并生成回复 最终答案 发送消息 展示结果

文字流程如下:

  1. 用户在飞书私聊机器人;
  2. 飞书将消息事件发送给 Hermes;
  3. Hermes 检查用户身份和访问权限;
  4. Hermes 读取会话、记忆和 Skills;
  5. 大模型判断是否需要调用工具;
  6. Hermes 执行工具并获取结果;
  7. 模型根据结果生成最终回复;
  8. Hermes 通过飞书 API 将结果发回用户。

2. 群聊流程

官方飞书适配器的默认行为是:私聊中响应用户消息,群聊中通常只有机器人被 @ 时才响应;共享群聊还可以配置按用户隔离会话。[1]

群聊处理流程是:

  1. 用户在群聊中 @Hermes;
  2. 飞书发送群消息事件;
  3. Hermes 检查是否被 @;
  4. Hermes 检查发送者是否有权限;
  5. Hermes 执行任务并回复群聊。

五、部署前的准备工作

1. 运行环境

Hermes 可以运行在本地电脑、私有服务器或其他远程执行环境中。建议初次体验使用一台可以稳定运行 Python 环境的电脑或 Linux 服务器。

需要准备:

  • 可运行 Hermes 的操作系统;
  • Python 和依赖管理环境;
  • 稳定的网络连接;
  • 大模型服务的 API Key 或 Nous Portal 账号;
  • 用于保存配置、记忆和日志的磁盘空间。

2. 飞书应用信息

需要在飞书开放平台创建企业自建应用,并准备:

  • App ID;
  • App Secret;
  • 应用机器人能力;
  • 消息接收权限;
  • 消息事件订阅;
  • 应用版本发布权限。

3. 飞书权限

官方接入文档列出的基础权限包括:

  • im:message:接收和读取消息;
  • im:message:send_as_bot:以机器人身份发送消息;
  • im:resource:访问图片、文件和音频资源;
  • im:chat:访问群聊元数据;
  • im:chat:readonly:读取群聊和成员信息。[1]

如果只做最小化文本对话,可以先配置基础权限,再根据图片、文件、文档或会议等功能逐步增加权限。

六、安装 Hermes Agent

官方文档提供了 Linux、macOS、WSL2、Android Termux 和 Windows 等安装路径。[2]

Linux、macOS 或 WSL2 可以参考:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Windows 原生 PowerShell 可以参考:

iex (irm https://hermes-agent.nousresearch.com/install.ps1)

示例未运行验证,请以官方安装文档为准。

安装后,先完成模型 Provider 配置,再进行基础对话测试。不要一开始就同时配置飞书、定时任务、MCP 和远程执行环境,否则出现问题时不容易判断故障位置。

七、创建飞书机器人应用

第一步:进入飞书开放平台

打开飞书开放平台,创建一个企业自建应用。

官方入口:

https://open.feishu.cn/

第二步:开启机器人能力

在应用能力设置中开启机器人能力,并记录应用的 App ID 和 App Secret。

App Secret 属于敏感凭证,不应提交到 Git 仓库,也不应直接写进公开博客或截图中。

第三步:配置权限

在权限管理中添加消息相关权限。最小文本对话可先配置:

im:message
im:message:send_as_bot
im:chat
im:chat:readonly

如果需要接收和发送图片、文件或音频,还需要根据官方文档配置资源相关权限。

第四步:订阅消息事件

在事件与回调设置中订阅:

im.message.receive_v1

使用 WebSocket 模式时,选择飞书开放平台提供的长连接方式;使用 Webhook 模式时,则需要配置可被飞书访问的 HTTP 地址。

第五步:发布应用

权限和事件配置完成后,需要发布一个新的应用版本。否则,新增权限和事件可能不会真正生效。[1]

八、使用 WebSocket 接入飞书

为什么推荐 WebSocket

WebSocket 模式的主要特点是:

  • Hermes 主动连接飞书;
  • 不需要准备公网域名;
  • 不需要额外配置反向代理;
  • 适合本地电脑和私有服务器;
  • SDK 负责长连接和重连。

Webhook 模式适合已经拥有公网 HTTP 服务的场景,但需要额外处理:

  • 公网地址;
  • HTTPS;
  • URL 验证;
  • 加密 Key;
  • Verification Token;
  • 请求签名校验。

配置环境变量

在 Hermes 配置文件或环境变量中设置:

FEISHU_APP_ID=cli_xxx
FEISHU_APP_SECRET=secret_xxx
FEISHU_DOMAIN=feishu
FEISHU_CONNECTION_MODE=websocket

# 生产环境建议配置
FEISHU_ALLOWED_USERS=ou_xxx,ou_yyy
FEISHU_HOME_CHANNEL=oc_xxx

其中:

  • FEISHU_DOMAIN=feishu 表示中国大陆飞书;
  • FEISHU_DOMAIN=lark 表示国际版 Lark;
  • FEISHU_ALLOWED_USERS 用于限制可调用机器人的用户;
  • FEISHU_HOME_CHANNEL 用于接收定时任务和通知结果。

启动 Gateway

官方文档给出的核心操作是先完成 Gateway 配置,再启动 Gateway:

hermes gateway setup
hermes gateway

示例未运行验证,请以当前版本的 CLI 帮助和官方文档为准。[1]

启动后,在飞书中私聊机器人,或在群聊中 @机器人进行测试。

九、安全配置建议

1. 设置用户白名单

如果不配置访问控制,能够接触到机器人的用户可能都可以向 Hermes 发起任务。生产环境建议设置:

FEISHU_ALLOWED_USERS=ou_user_1,ou_user_2

不要直接在生产环境使用“允许所有用户”的配置。

2. 群聊必须 @机器人

群聊中建议保持 @限制,避免 Hermes 读取和处理所有群消息,也可以降低误触发风险。

3. 保护 App Secret

不要把以下内容提交到公开仓库:

  • FEISHU_APP_SECRET
  • 大模型 API Key;
  • MCP 服务密钥;
  • SSH 私钥;
  • 数据库密码。

4. 限制终端权限

如果 Hermes 可以执行 Shell 命令,应优先使用:

  • 最小权限用户;
  • Docker 或其他隔离环境;
  • 命令审批机制;
  • 独立工作目录;
  • 明确的文件访问范围。

5. Webhook 模式启用签名校验

如果使用 Webhook,建议配置 FEISHU_ENCRYPT_KEYFEISHU_VERIFICATION_TOKEN,并按照官方适配器的校验方式保护入站请求。[1]

十、常见问题

问题一:机器人完全不回复

可以依次检查:

  1. App ID 和 App Secret 是否正确;
  2. 应用是否已经发布;
  3. im.message.receive_v1 是否已订阅;
  4. Hermes Gateway 是否正在运行;
  5. 网络是否可以连接飞书;
  6. 当前使用的是飞书还是 Lark 域名配置。

问题二:私聊可以回复,群聊没有反应

重点检查:

  • 是否在群聊中 @了机器人;
  • 用户是否在 FEISHU_ALLOWED_USERS 中;
  • 机器人是否已经被加入群聊;
  • 群聊策略是否被设置为禁用。

问题三:权限配置后仍然报错

飞书权限通常需要发布新版本后才会生效。还应确认当前应用所在租户是否需要管理员审批。

问题四:为什么推荐 WebSocket 而不是 Webhook

因为 WebSocket 不要求公网 HTTP 地址,更适合本地部署和私有服务器。Webhook 更适合已有公网服务、反向代理和安全校验体系的团队。

问题五:Hermes 能否直接替代 IDE Agent

Hermes 更适合跨会话记忆、异步任务、定时任务、基础设施操作和聊天平台协作。深度的编辑器内联编程仍然可以使用 Cursor、Claude Code 或其他 IDE 工具。两类工具可以互补使用。

十一、典型应用场景

1. 飞书个人助理

用户通过私聊让 Hermes 查询资料、整理文件、生成计划或执行重复性任务。

2. 自动日报和周报

通过 Cron 定时收集信息,生成日报、周报并推送到指定飞书群。

3. 项目协作机器人

将项目文档、代码仓库和任务系统接入 Hermes,让团队成员在飞书中查询项目进度。

4. 文档辅助处理

根据权限配置,Hermes 可以参与飞书文档评论、资料读取和内容整理等流程。具体权限和事件需要以当前官方适配器文档为准。[1]

5. 研究和信息整理

让 Hermes 定期搜索资料、提取重点、形成结构化摘要,再发送到飞书。

十二、总结

Hermes Agent 的核心价值不在于“又一个聊天机器人”,而在于它把以下能力组合成了一个可持续运行的 Agent:

  • 大模型推理;
  • 工具调用;
  • 跨会话记忆;
  • Skills 工作流;
  • 终端执行环境;
  • 定时任务;
  • 多平台消息接入。

部署到飞书时,可以采用以下最小路径:

  1. 安装 Hermes;
  2. 配置一个可用的大模型 Provider;
  3. 创建飞书企业自建应用;
  4. 开启机器人和消息权限;
  5. 订阅消息接收事件;
  6. 使用 WebSocket 连接模式;
  7. 配置 App ID 和 App Secret;
  8. 启动 Gateway;
  9. 完成私聊和群聊测试;
  10. 最后增加白名单、Skills、MCP 和定时任务。

对于初学者,建议先完成“飞书私聊问答”这一条最小闭环,再逐步增加文件处理、自动化任务和业务系统集成。

参考资料

[1] Hermes Agent Feishu / Lark Setup,发布日期:未标注,访问日期:2026-08-17。
https://github.com/NousResearch/hermes-agent/blob/main/website/docs/user-guide/messaging/feishu.md

[2] Hermes Agent Documentation,发布日期:未标注,访问日期:2026-08-17。
https://hermes-agent.nousresearch.com/docs

[3] NousResearch / hermes-agent,发布日期:未标注,访问日期:2026-08-17。
https://github.com/NousResearch/hermes-agent

[4] Hermes Agent Feishu Platform Adapter,发布日期:未标注,访问日期:2026-08-17。
https://github.com/NousResearch/hermes-agent/tree/main/plugins/platforms/feishu

[5] 飞书开放平台:机器人概述,发布日期:未标注,访问日期:2026-08-17。
https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/bot-v3/bot-overview

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐