调查研究-157 Hermes Agent:一个真正“会成长”的开源 AI Agent 框架

调查研究-157 Hermes Agent:一个真正“会成长”的开源 AI Agent 框架 Hermes Agent一个真正会成长的开源 AI Agent 框架2026TL;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-05MCP 本地 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/TermuxPython 3.11 来源博客园 2026-04Docker / Singularity / Modal 容器隔离✅ 已验证生产环境推荐容器执行来源CSDN 部署指南 2026-04vLLM/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 更适合处理半结构化任务有流程但每次情况可能略有不同需要工具调用但也需要判断需要自动化但又不能完全写死。六、定时任务自然语言版 cronHermes 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 | bash后hermes提示 command not found安装脚本写入~/.bashrc/~/.zshrc但当前 shell 未加载执行type hermes看是否返回路径source ~/.bashrc或source ~/.zshrc或重新打开终端启动报 VIRTUAL_ENV 相关错误工具命令修改了 Hermes 自身 Python 环境当前 shell 继承了外部 venv 变量污染了 Hermes 启动echo $VIRTUAL_ENV确认非空启动前unset VIRTUAL_ENV hermes已在 GitHub Issue 标记为 P2MCP 工具全部暴露模型选择困难且误调用增多未按服务器过滤工具默认全量加载查看~/.hermes/mcp.yaml或启动日志的工具清单显式配置allowed_servers/profile按环境裁剪工具集子 Agent 并行任务结果互相冲突或重复工作主 Agent 未给子 Agent 明确边界子任务范围重叠复盘任务拆分时是否写明输入/输出契约拆分前定义清晰的子目标、交付物与依赖顺序YOLO 模式下生产服务器执行了误删/重启命令高危命令未拦截YOLO 在生产环境被启用查看~/.hermes/safety.yaml审批模式立即切回manual或smart生产环境强制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作者武子康的个人博客