调查研究-157 Hermes Agent:一个真正“会成长”的开源 AI Agent 框架
2026/6/6 4:39:20 网站建设 项目流程

Hermes Agent:一个真正"会成长"的开源 AI Agent 框架(2026)

TL;DR

  • 场景:想在服务器上常驻一个能跨平台交互、记住项目偏好、复用经验流程的开源 AI Agent,而不是一次性聊天机器人或 IDE 工具。
  • 结论:Hermes Agent 是 Nous Research 于 2026 年 2 月发布的开源自进化 Agent 框架(MIT,当前 v0.13.0),以"持久记忆 + 技能系统 + 消息网关 + MCP"为四大支柱,强调越用越熟悉你的工作方式。
  • 产出:一份涵盖安装、记忆、技能、网关、定时任务、子 Agent、MCP、安全与横向对比的工程化导览。

版本矩阵

功能状态说明
持久记忆 MEMORY.md / USER.md✅ 已验证有限精选记忆 + 防止上下文膨胀,来源:CSDN 深度技术解析 2026-05
会话检索 SQLite + FTS5✅ 已验证历史会话全文检索,来源:腾讯云开发者社区 2026-06
技能系统 Skills✅ 已验证渐进式加载,按需检索执行,来源:七牛云行业应用 2026-05
消息网关 Telegram/Discord/Slack/WhatsApp/Signal/Email✅ 已验证单一 Gateway 接入 6+ 平台,来源:博客园 2026-05
MCP 本地 stdio + 远程 HTTP✅ 已验证启动时自动发现注册,支持按服务器过滤工具,来源:CSDN 源码解析 2026-05
自然语言 cron 定时任务✅ 已验证后台执行并投递结果到指定平台,来源:博客园 2026-05
子 Agent 并行委派✅ 已验证隔离上下文与终端,减少主上下文污染,来源:CSDN 教程 2026-05
危险命令审批 manual/smart/off + YOLO✅ 已验证YOLO 仅适合可信一次性容器/CI,来源:CSDN 部署指南 2026-04
一键安装脚本 install.sh✅ 已验证支持 Linux/macOS/WSL2/Termux,Python 3.11+ ,来源:博客园 2026-04
Docker / Singularity / Modal 容器隔离✅ 已验证生产环境推荐容器执行,来源:CSDN 部署指南 2026-04
vLLM/STT/TTS 部署排障类技能示例⚠️ 待验证原文示例为常见工程场景,未在官方文档直接核到
YOLO 模式用于个人主机长期运行❌ 不建议高风险,仅限一次性容器/受控 CI 环境

文章正文

Hermes Agent:一个真正"会成长"的开源 AI Agent 框架

过去一年,AI Agent 的概念已经从"能调用工具的聊天机器人",逐渐变成"能长期运行、能理解项目、能执行任务、能沉淀经验的数字工作者"。很多人第一次接触 Agent,看到的是 Cursor、Claude Code、Codex、Cline、OpenHands、AutoGPT、CrewAI、LangGraph 这一类工具或框架。它们各自解决了一部分问题:有的擅长写代码,有的擅长工作流编排,有的擅长多 Agent 协作,有的擅长接入工具。

Hermes Agent 的定位不完全一样。

它不是单纯的 IDE 编程助手,也不是一个套壳聊天机器人,更不是一个只能跑一次任务的自动化脚本。Hermes Agent 更像是一个可以长期部署在你服务器上的个人 AI 助理。它可以在 CLI 里和你对话,也可以通过 Telegram、Discord、Slack、WhatsApp、Signal、Email 等平台与你交互。它可以记住你的偏好,记住项目环境,搜索历史会话,创建可复用技能,定时执行任务,把复杂工作拆给子 Agent 并行处理,还可以通过 MCP 接入外部工具生态。

如果用一句话概括:Hermes Agent 想解决的不是"让 AI 帮我回答一次问题",而是"让 AI 在我的环境里长期工作,并且越用越熟悉我的工作方式"。

这正是它和普通聊天机器人、普通 Coding Copilot 的核心区别。

一、Hermes Agent 是什么

Hermes Agent 是 Nous Research 推出的开源 AI Agent 项目。Nous Research 过去更广为人知的是 Hermes 系列模型,比如 Hermes 2、Hermes 3 等开源模型,这些模型强调指令遵循、角色扮演、多轮对话、函数调用和工具使用能力。而 Hermes Agent 则是在"模型能力"之上构建的完整 Agent 运行系统。

注意,这里要区分两个概念:

Hermes 3 是模型。

Hermes Agent 是 Agent 框架和运行环境。

模型负责理解、推理和生成内容;Agent 负责调度工具、管理记忆、执行命令、运行任务、连接外部平台、维护上下文和把一次次任务经验沉淀下来。Hermes Agent 可以使用 Nous 自家的模型,也可以使用 OpenRouter、OpenAI、Anthropic、Hugging Face、本地模型、自定义 OpenAI-compatible endpoint 等推理服务。也就是说,Hermes Agent 不绑定某一个模型供应商。

从架构定位上看,Hermes Agent 更接近一个"常驻型个人 Agent 操作层"。它有自己的 CLI,有自己的消息网关,有自己的记忆系统,有自己的技能系统,有自己的工具系统,有自己的安全审批机制,有自己的会话数据库,也可以通过 MCP 扩展外部能力。

这和很多"一次性任务 Agent"不一样。很多 Agent 框架的默认假设是:用户给一个任务,Agent 规划步骤,调用工具,输出结果,然后这次任务就结束了。Hermes Agent 的默认假设更像是:这个 Agent 会长期存在,它会逐渐理解你的项目、习惯、环境、命令、偏好和历史任务。它不是每次都从零开始,而是要形成长期上下文。

这也是 Hermes Agent 最值得关注的地方。

二、为什么说 Hermes Agent 的核心是"成长"

现在很多 AI 工具都声称自己是 Agent,但大部分 Agent 实际上还停留在三个层面:能聊天,能调工具,能写代码。它们当然有价值,但离真正的"长期数字助手"还有距离。

真正长期可用的 Agent 至少要解决几个问题。

第一,它要记得住。不是把所有历史聊天无脑塞进上下文,而是要有选择地保存关键事实,比如你的项目路径、部署方式、技术偏好、常用命令、踩过的坑、修复方案、工作流习惯。

第二,它要能复用经验。一个 Agent 如果每次遇到相似任务都重新摸索,就只是一个昂贵的自动补全工具。更好的方式是:第一次完成复杂任务后,把流程总结成技能,下次遇到同类任务直接调用。

第三,它要能跨平台存在。人不可能永远坐在 IDE 前面。很多任务适合在服务器上跑,很多提醒适合通过 Telegram 或 Slack 收到,很多自动化适合定时触发。

第四,它要能安全执行。Agent 一旦能操作终端、文件系统、浏览器、API、代码仓库,就必须有审批、隔离、权限控制和危险命令防护。否则能力越强,风险越大。

Hermes Agent 的"成长"主要体现在两个系统:记忆系统和技能系统。

记忆解决"我是谁、你是谁、我们做过什么、环境是什么"的问题。

技能解决"遇到类似任务时,应该按什么流程做"的问题。

这两个系统加在一起,才让 Hermes Agent 不只是一个会调用工具的大模型,而是一个能在使用过程中逐渐沉淀工作方式的 Agent。

三、持久记忆:让 Agent 不再每次从零开始

Hermes Agent 的持久记忆并不是简单地保存聊天记录。它采用的是"有限、精选、可管理"的记忆方式。

它主要有两类记忆文件:MEMORY.md 和 USER.md。

MEMORY.md 更偏向 Agent 对环境和工作的记录,比如当前机器系统、项目路径、部署方式、常用命令、项目约定、已经完成的任务、某次排障中发现的关键结论。

USER.md 更偏向用户画像,比如用户偏好的回复风格、技术水平、工作习惯、沟通偏好、常用工具、对输出格式的要求。

这种设计有一个明显好处:它不会让记忆无限膨胀。无限记忆听起来很美,但实际会带来两个问题。第一个问题是成本和上下文污染,什么都记等于什么都不重要。第二个问题是安全风险,长期保存无关内容、敏感信息和过期信息,反而会让 Agent 更不可靠。

Hermes Agent 的思路是:只把真正长期有用的信息放进核心记忆,把历史会话保存在数据库中,需要时再搜索。

这意味着它有两层长期上下文。

第一层是核心记忆,容量有限,但每次会话都会加载,适合保存高价值事实。

第二层是会话搜索,通过 SQLite 和 FTS5 保存历史会话,需要查找过去讨论时再检索,适合处理"我们上周是不是聊过这个问题"“之前那个部署命令是什么”"某个错误当时怎么解决的"这类问题。

这比单纯依赖长上下文更合理。长上下文不是长期记忆。长上下文只是一次会话里能塞更多内容,但它无法自动判断哪些内容应该长期存在,也无法保证下次会话仍然能稳定使用。持久记忆的价值在于:把短期对话变成长期资产。

对于程序员来说,这一点非常重要。

比如你在一台服务器上部署了 vLLM、STT、TTS、MinIO、Nginx、Docker Compose,普通聊天机器人每次都要你重新说明目录、端口、镜像、显卡、环境变量。而一个有记忆的 Agent 可以逐渐知道:你的模型目录在哪里,你习惯用什么 compose 文件,你的网络名称是什么,你的 GPU 资源如何分配,你之前踩过哪些参数坑。

这就是从"问答工具"到"个人工程助手"的分水岭。

四、技能系统:把经验沉淀成可复用流程

Hermes Agent 的另一个核心是 Skills,也就是技能系统。

技能不是普通 prompt。它更像一种结构化的过程记忆。一个技能可以包含触发条件、操作步骤、注意事项、验证方式、参考文件、脚本、模板和资产。它不是让模型凭空想,而是给模型一个明确的流程说明。

例如,一个"创建 GitHub PR"的技能可以规定:

什么时候使用这个技能;

先检查当前分支和工作区状态;

再运行测试;

再生成 commit;

再创建 PR;

最后输出 PR 摘要和风险点。

一个"部署 Kubernetes 服务"的技能可以规定:

先检查 kube-context;

再检查 namespace;

再 dry-run;

再 apply;

再检查 pod 状态和日志;

最后给出回滚命令。

一个"vLLM 部署排障"的技能可以规定:

先看镜像版本;

再看启动参数;

再看显存占用;

再看模型路径;

再看端口和 health check;

最后判断是参数错误、显存不足、模型不兼容还是容器环境问题。

这类技能一旦沉淀下来,Agent 下次遇到类似任务时就不必重新发明流程。

Hermes Agent 的技能系统还采用了渐进式加载。也就是说,Agent 不会一开始就把所有技能全文都塞进上下文。它先知道有哪些技能,只有在需要时才加载完整技能内容。这对 token 成本和上下文稳定性都很重要。

这也说明 Hermes Agent 对 Agent 工程有比较成熟的理解:真正可用的 Agent 不是把所有规则都堆进系统提示词,而是要按需加载、按需检索、按需执行。

技能系统还有一个现实意义:它使个人经验可以被文件化、版本化、迁移和共享。

过去我们写脚本、写 README、写 SOP。现在 Agent 的技能文件可以成为一种新形态的 SOP:既能被人读,也能被 Agent 执行。对团队来说,这可能会变成一种新的工程资产。团队里的部署规范、代码检查流程、事故排查流程、发布流程,都可以逐渐转化为 Agent Skill。

这比"让每个成员自己问 AI"更稳定。

五、CLI、TUI 和消息网关:让 Agent 真正常驻

Hermes Agent 不只是一个 Python 包,也不只是一个 Web 页面。它提供了完整的命令行体验,包括传统 CLI 和 TUI。它支持多行输入、斜杠命令、会话恢复、中断当前任务、查看上下文使用量、切换模型、启用技能、查看工具、启动后台任务等。

这对开发者很关键。

程序员每天大量时间都在终端、IDE、服务器、日志、Git、Docker、Kubernetes、数据库之间切换。一个 Agent 如果只能在网页里聊天,它很难真正进入工程工作流。Hermes Agent 的 CLI/TUI 让它更像一个可以直接陪你操作系统环境的助手。

更进一步,Hermes Agent 提供消息网关。也就是说,你可以在 Telegram、Discord、Slack、WhatsApp、Signal、Email 等平台上和它交互。它仍然可以跑在你的服务器或云 VM 上,但你不需要一直 SSH 上去。

这带来了一个重要变化:Agent 从"本地工具"变成了"常驻服务"。

例如,你可以让 Hermes Agent 部署在一台 VPS 上,然后通过 Telegram 发消息:

检查今天的服务状态。

每晚备份数据库。

帮我看一下 GitHub Issue。

给我生成周报。

定时抓取某个页面变化。

分析服务器日志异常。

这个形态更接近真正的个人自动化中心。过去我们用 crontab、shell、Python 脚本、GitHub Actions、n8n、IFTTT、Zapier 来做自动化。Hermes Agent 的特点是:它可以用自然语言接收任务,可以调用工具,可以记住上下文,可以在复杂场景中动态判断步骤。

当然,这不代表它可以替代所有传统自动化。稳定、确定、重复的任务仍然应该脚本化。Hermes Agent 更适合处理"半结构化任务":有流程,但每次情况可能略有不同;需要工具调用,但也需要判断;需要自动化,但又不能完全写死。

六、定时任务:自然语言版 cron

Hermes Agent 内置定时自动化能力,可以用自然语言描述周期任务,然后由 Agent 在后台执行并把结果投递到指定平台。

这类能力看起来简单,但对个人和团队都很实用。

例如:

每天早上生成服务器健康报告。

每周一整理 GitHub Issue 状态。

每晚检查数据库备份是否成功。

每月生成订阅费用汇总。

每小时检查某个页面是否变化。

每天下班前总结当天 commit 和待办。

传统方式也能做这些事,但通常需要写脚本、写 cron、写通知逻辑、接 Telegram Bot、处理异常和格式化输出。Hermes Agent 的价值在于把这些东西统一在 Agent 语义层里:你描述目标,它负责调用工具、执行检查、总结结果和发送消息。

不过这里必须注意边界。对于生产环境核心任务,不能只依赖 Agent 的自由判断。比如数据库备份、线上发布、账务操作、删除资源这类任务,仍然需要明确脚本、权限隔离、审批流程和可观测性。Agent 可以做编排、检查和提醒,但不应该在没有防护的情况下拥有无限权限。

更合理的方式是:把确定性动作做成脚本,把脚本暴露给 Agent 调用;Agent 负责判断何时调用、如何解释结果、如何通知人。

这才是 Agent 自动化的正确工程化路径。

七、子 Agent 并行:把复杂任务拆开做

Hermes Agent 支持委派和并行。它可以生成隔离的子 Agent,每个子 Agent 有自己的上下文、终端和任务范围,用来处理并行工作流。

这个能力适合复杂任务。

比如你要调研一个技术方案,可以让不同子 Agent 分别处理:

一个查官方文档;

一个查 GitHub Issue;

一个整理竞品对比;

一个写部署方案;

一个验证 Demo;

最后主 Agent 汇总。

又比如你要修复一个项目 bug,可以让子 Agent 分别检查:

后端日志;

前端报错;

数据库迁移;

CI 失败;

依赖版本;

最后合并分析。

子 Agent 的意义不是"更多 Agent 就更智能",而是减少单个上下文里的干扰。一个大任务如果全部塞给一个 Agent,它容易在多个方向之间来回跳,导致上下文污染、计划混乱、执行失控。拆成多个短生命周期子 Agent 后,每个子 Agent 只关心一个子问题,主 Agent 再汇总结果,整体稳定性会更好。

这也符合人类团队协作方式。复杂工作不是一个人脑内无限上下文,而是拆分职责、并行推进、最后整合。

不过,多 Agent 并行也会引入新问题:成本增加、结果冲突、重复工作、工具权限扩大、调度复杂度上升。所以它适合中高复杂度任务,不适合所有小任务。对于简单问题,直接一个 Agent 完成即可。

八、MCP:把外部工具生态接进来

Hermes Agent 支持 MCP,也就是 Model Context Protocol。MCP 的意义在于让 Agent 可以连接外部工具服务器,从而使用 GitHub、数据库、文件系统、浏览器、内部 API、项目管理工具等能力。

这对 Agent 生态非常关键。

如果没有 MCP,每个 Agent 框架都要自己实现一堆工具,每个工具都要重新设计协议、认证、参数和返回格式。结果就是生态割裂。MCP 的出现,是为了让工具服务和 Agent 客户端之间有统一连接方式。

Hermes Agent 支持本地 stdio MCP 服务器,也支持远程 HTTP MCP 服务器,并且可以在启动时自动发现和注册工具。它还支持按服务器过滤工具,避免把所有工具都暴露给 Agent。

这点非常重要。Agent 工具不是越多越好。工具太多会导致模型选择困难,也会增加误调用风险。正确做法是:只暴露当前任务真正需要的工具。

举例来说,如果你把 GitHub、数据库、生产服务器、文件系统、浏览器全部暴露给 Agent,但没有权限边界和审批机制,那就是在制造风险。更安全的方式是按 profile、按项目、按任务配置工具集合。开发环境可以开放更多,生产环境必须严格限制。

MCP 让 Hermes Agent 从"自带工具的 Agent"变成"可接入外部工具生态的 Agent"。这会显著提高它在企业内部、个人自动化、DevOps、数据分析、项目管理中的适用性。

九、安全模型:能力越强,越需要边界

Agent 能操作终端、文件系统、浏览器、外部 API 和消息平台后,安全问题就变成第一优先级。一个没有边界的 Agent,本质上就是一个会听错命令的远程执行器。

Hermes Agent 的安全设计主要围绕几个层次展开:

用户授权:谁可以和 Agent 对话。

危险命令审批:高风险命令执行前需要确认。

容器隔离:通过 Docker、Singularity、Modal 等方式隔离执行环境。

MCP 凭证过滤:控制外部工具进程能拿到哪些环境变量。

上下文文件扫描:防止项目文件中的 prompt injection 影响 Agent。

跨会话隔离:防止不同会话互相访问状态。

输入净化:限制工作目录等参数,防止 shell 注入。

其中最值得注意的是危险命令审批。Hermes Agent 支持 manual、smart、off 等模式。manual 是默认人工审批;smart 会用辅助模型判断风险;off 则相当于关闭审批。它还提供 YOLO 模式,用于可信环境中自动批准命令。

但从工程实践看,YOLO 模式必须谨慎使用。它适合一次性容器、临时环境、CI 中的受控任务,不适合个人主机、生产服务器和包含敏感数据的环境。

Agent 安全的基本原则是:不要给它你自己都不敢随便操作的权限。

在个人服务器上,可以给 Hermes Agent 一个普通用户账号,不给 root 权限;在 Docker 中执行任务;限制可访问目录;关键命令必须审批;密钥使用最小权限;生产环境只开放只读检查工具,不直接开放删除、发布、重启等高危能力。

Hermes Agent 的价值不是让 Agent 无限自由,而是在可控边界内让它持续工作。

十、Hermes Agent 和其他 Agent 工具的区别

要理解 Hermes Agent 的定位,可以把它和几类常见工具对比。

第一类是 IDE Copilot,例如 Cursor、GitHub Copilot、JetBrains AI。它们强在代码补全、代码修改、项目上下文理解和开发者体验。但它们通常绑定 IDE,偏向"开发时辅助",不太像一个 24 小时运行的服务器 Agent。

第二类是命令行 Coding Agent,例如 Claude Code、Codex CLI、Aider、Cline。它们更接近工程执行助手,可以读代码、改文件、跑测试、提交变更。但很多仍以单次任务或项目级会话为核心,长期记忆、消息平台、定时任务、技能自进化不是它们的主要定位。

第三类是多 Agent 编排框架,例如 CrewAI、LangGraph、AutoGen。它们适合开发者构建 Agent 应用,强调图结构、角色分工、流程编排和可编程控制。但它们更像 SDK 或框架,需要你自己开发应用,不一定开箱即用成为个人助理。

第四类是自动化平台,例如 n8n、Zapier、Make。它们强在稳定的工作流编排和 SaaS 集成,但自然语言推理、项目上下文、长期技能沉淀、代码级任务处理不是核心优势。

Hermes Agent 的交叉点在这里:它既不是纯 IDE 工具,也不是纯 Agent SDK,也不是纯自动化平台。它更像一个"个人 AI Agent Runtime":可以常驻,可以对话,可以执行,可以记忆,可以扩展,可以调度,可以通过消息平台触达用户。

它的优势不在于某一个点极致领先,而在于把长期 Agent 需要的多个系统拼在了一起。


错误速查卡

症状根因定位修复
运行curl ... install.sh | bashhermes提示 command not found安装脚本写入~/.bashrc/~/.zshrc但当前 shell 未加载执行type hermes看是否返回路径source ~/.bashrcsource ~/.zshrc,或重新打开终端
启动报 VIRTUAL_ENV 相关错误,工具命令修改了 Hermes 自身 Python 环境当前 shell 继承了外部 venv 变量,污染了 Hermes 启动echo $VIRTUAL_ENV确认非空启动前unset VIRTUAL_ENV && hermes;已在 GitHub Issue 标记为 P2
MCP 工具全部暴露,模型选择困难且误调用增多未按服务器过滤工具,默认全量加载查看~/.hermes/mcp.yaml或启动日志的工具清单显式配置allowed_servers/profile,按环境裁剪工具集
子 Agent 并行任务结果互相冲突或重复工作主 Agent 未给子 Agent 明确边界,子任务范围重叠复盘任务拆分时是否写明输入/输出契约拆分前定义清晰的子目标、交付物与依赖顺序
YOLO 模式下生产服务器执行了误删/重启命令高危命令未拦截,YOLO 在生产环境被启用查看~/.hermes/safety.yaml审批模式立即切回manualsmart;生产环境强制manual+ Docker 隔离
Telegram/Discord 网关发消息无响应Bot Token 未配置或 webhook 回调地址被防火墙拦截hermes doctor检查网关连通性重新设置TELEGRAM_BOT_TOKEN等环境变量;放行回调端口
技能执行后效果不稳定,结果与第一次差异大技能是按需检索的提示式流程,模型在不同上下文会自由发挥对照技能文件步骤看是否被跳过把关键步骤固化为脚本/命令,让技能只负责"何时调用哪个脚本"
hermes安装完整克隆极慢(>80MB)国内网络拉取 GitHub 全量历史克隆耗时长改用git clone --depth 1 https://github.com/NousResearch/hermes-agent.git
长期记忆里出现敏感/过期信息MEMORY.md 写入时未做敏感信息过滤搜索记忆文件关键词USER.md/MEMORY.md配置排除规则,定期人工 review
任务中途 Agent 上下文被撑爆长会话未做压缩,会话历史全部加载查看上下文使用量命令启用/compact或拆分为子会话;核心事实保留到 MEMORY.md

作者:武子康的个人博客

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询