NousResearch/hermes-agent 项目分析报告
对 NousResearch/hermes-agent - 自托管 AI 代理框架的开源仓库分析报告
一句话摘要
Hermes Agent 是一个能跨 CLI、消息网关、TUI、Electron 桌面和 IDE 运行的自托管 AI 代理框架,具有跨会话记忆、自我进化的技能系统和 25+ 平台适配器。
值得关注的理由
- 4 个月内从 0 到 180K 星标 — 2026 年 2 月 25 日发布后 7 周内达到 95.6K 星标,被 Dealroom 列为 2026 年增长最快的开源代理框架。这不是渐进增长,而是品类爆发。
- “窄腰”架构模型 — 核心保持最小化,大部分能力通过一个 6 级阶梯(”足迹阶梯”)扩展,从 CLI 命令 + 技能到新增核心工具。这是对代理代码库功能蔓延问题最明确的工程回应。
- 闭环学习回路 — 代理不仅有记忆,还能在任务完成后自主生成可复用技能文档,后续类似任务直接从经验起步而非从零推理。独立基准测试验证:20+ 自创建技能可使重复任务提速 40%。
项目概况
| 字段 | 值 |
|---|---|
| 星标数 | 223,849 |
| Fork 数 | 43,215 |
| 发布日期 | 2026-02-25 |
| 仓库创建 | 2025-07-22(发布前开发期) |
| 桌面应用 | 2026-06-02 发布(v0.15.2 公开预览,macOS/Windows/Linux) |
| 主要语言 | Python |
| 许可证 | MIT |
| 阶段 | 主流 |
| 已归档 | 否 |
| 未解决 Issue | 8,504 |
语言分布(按字节):
1
2
3
4
5
6
7
8
9
10
11
12
Python ████████████████████████████████ 75.3%
TypeScript ████████ 20.5%
JavaScript █▍ 0.7%
TeX █▍ 0.6%
Shell █▍ 0.4%
PowerShell █▍ 0.3%
Rust █▍ 0.2%
BibTeX █▍ 0.2%
CSS █▍ 0.2%
Nix █▍ 0.2%
HTML █▍ 0.1%
其他 █▍ 1.3%
作者视角
Hermes 由 Nous Research 开发,这是一家专注于大语言模型后训练与微调的独立 AI 实验室,以 Hermes 模型系列(基于 Llama 微调,针对指令遵循和函数调用优化)和 Atropos 强化学习训练框架闻名。
Nous Research 的模型技术栈为理解 Hermes Agent 提供了重要背景:
- Hermes 3(2024 年 8 月):基于 Llama 3.1 微调(8B/70B/405B),使用 3.9 亿 tokens 合成数据训练,函数调用准确率领先。
- Hermes 4(2025 年 8 月):引入混合推理(
<think>标签,思维链可扩展至 16K tokens)和 DataForge 合成数据管线(500 万样本、600 亿 tokens)。AIME’24 基准上过度推理减少 78.4%,准确率仅损失 4.7%。 - Hermes 4.3(36B):在字节跳动 Seed 36B 上微调。
关键连接:Atropos(RL 训练框架)同时集成在 Agent 运行时中,用于轨迹捕获。这意味着代理使用数据可以直接回流到模型训练——从 Agent 使用到模型改进的完整数据管道。
2026 年 7 月,TechCrunch 报道 Nous Research 正在寻求以 15 亿美元估值进行新一轮融资。
维护者结构高度集中:teknium1 贡献了 7,527 次提交(占前 10 名贡献者总和的 56%),OutThisLife 贡献 2,660 次。
该项目识别的问题:开发者反复在多个平台上做相同的编排工作——终端里跑一个代理、手机上聊天、同一个代码库在 IDE 里跑自动化——每增加一个平台就是又一个一次性集成。Hermes 的”一个代理,多个平台”模型直接解决了这个问题,并在核心之上叠加学习和自适应能力。
抄袭争议:2026 年 5 月,GitHub Issue #10232 指控 Hermes Agent 的代码结构与 EvoMap 的 Evolver 项目高度相似但缺乏署名。维护者 teknium1 将原始 Issue 标题和内容编辑为”.”,删除了 4 名用户的评论并封禁了他们。EvoMap 随后发布了详细的相似性分析文章。截至本报告,Nous Research 未做出正式回应。这一事件在 HN 社区引发了讨论,并在”OpenClaw 迁移”主帖中被反复提及。
核心价值
| 价值点 | 新颖性 | 可用性 | 可移植性 | 说明 |
|---|---|---|---|---|
| 闭环学习回路 | 5 | 4 | 3 | 任务完成→自主生成技能→后续复用,20+ 技能可提速 40%(独立验证) |
| 窄腰 + 足迹阶梯 | 5 | 4 | 5 | 6 级扩展决策树,从”扩展现有代码”到”新增核心工具”,任何代理框架可借鉴 |
| 五层记忆系统 | 4 | 4 | 3 | 从短期推理到 FTS5 全文搜索,跨会话回忆延迟 <10ms(10K+ 技能文档) |
| 多平台网关 | 3 | 5 | 4 | 25+ 适配器,单一网关进程路由所有平台,会话状态跨平台共享 |
| 六种终端后端 | 3 | 5 | 4 | Local/Docker/SSH/Daytona/Singularity/Modal,切换后端只需改一行配置 |
最重要的价值点是闭环学习回路。大多数代理框架的记忆是被动存储——你存什么它记什么。Hermes 的回路是主动的:任务完成后自动提取可复用模式写成技能文档,后续遇到类似任务时直接加载技能而非从零推理。TokenMix 在 2026 年 4 月的独立基准测试中验证了这一声明:拥有 20+ 自创建技能的代理在重复任务上比全新实例快 40%,token 消耗降低 30-85%。
诚实的局限是:这种改进是领域特定的。从”总结 GitHub PR”中学到的技能不会自动迁移到”规划数据库迁移”。跨领域泛化仍是开放问题,Hermes 没有声称解决了它。
窄腰 + 足迹阶梯作为独立架构文章可直接借鉴:6 个阶梯从低到高分别是扩展现有代码→CLI 命令+技能→service-gated 工具→插件→MCP 服务器→新增核心工具,每个阶梯都定义了具体成本(工具 schema 膨胀、运维成本、隔离程度)。
五层记忆系统从临时到永久依次是:短期推理内存(当前会话上下文)→持久化内存文件(MEMORY.md 2,200 字符 / USER.md 1,375 字符)→技能记忆(~/.hermes/skills/ 下的 SKILL.md 程序性知识)→Honcho 辩证式用户建模(异步推导用户偏好,存储结论而非原始对话)→FTS5 全文搜索(SQLite,覆盖所有历史交互,支持”我上周二做了什么”式时间维度查询)。
竞争格局
| 项目 | 定位 | 对比维度 |
|---|---|---|
| OpenClaw | 同赛道先驱,Node.js 网关中心架构 | 340K 星标但安全事件频发(CVE-2026-25253 令牌窃取/RCE,ClawHub 市场约 824 个恶意包占 20%),作者加入 OpenAI 后交由基金会治理。Hermes 定位为安全替代品 |
| OpenAI Codex CLI | OpenAI 交互式编码代理 | 更简洁的 CLI,无消息网关,无跨会话学习,仅限 OpenAI 模型 |
| Anthropic Claude Code | Anthropic 终端代理 | 代码补全体验强,仅限 Anthropic 模型,无自托管网关 |
| Crush | 社区中的另一个代理项目 | HN 用户将 Hermes 和 Crush 并列为”高颜值”代理 |
Hermes 与 OpenClaw 的核心差异不在功能列表,而在设计哲学:
- OpenClaw 以网关为控制平面——一个长期运行的 Node.js 进程负责消息路由、工具执行和状态管理,技能由人手工编写(社区已积累 5,700+)。技能基本静态,效果不佳需手动修改。
- Hermes 以代理循环为核心——网关、调度器、工具运行时都围绕 ReAct 循环构建。代理在完成任务后提炼经验,自动生成并改进技能。
OpenClaw 的安全事件(CVE-2026-25253 可通过恶意链接窃取网关令牌并远程执行代码;ClawHub 市场审计发现约 824 个恶意包,占目录 20%)直接推动了用户迁移。Hermes 截至目前零 agent 专属 CVE,但其规模仍小于 OpenClaw,尚未经受同等规模的安全压力测试。
HN 社区反馈显示两极分化:一位用户说”OpenClaw 的 endless bugs 把我磨垮了,希望 Hermes 是更稳定的选择”;另一位说”说到底就是 LLM 调用加 SQLite 外壳”。多位用户质疑这类代理框架的实际价值——”我用 AI 每天 12 小时,仍然没找到现有工具(bash 脚本、cron)解决不了的场景”。
dev.to 上的独立评测给出了 8.1/10 的总评:学习回路 9.5、记忆系统 9.0、开发体验 8.0、生态 7.5、稳定性 6.5。稳定性是最低分,与 fix 占比过高的提交分布一致。
可复用模式与技巧
1. 闭环学习回路:做→学→改进
任务完成后自动生成技能文档(Markdown),记录方法、边界情况和领域知识。后续相似任务加载技能而非从零推理。技能在使用中被持续改进——如果第二次使用时遗漏了边界情况,代理会更新技能文档。实现上:5+ 工具调用的任务、遭遇错误并恢复的任务、收到用户修正的任务会触发技能创建。
2. ABC + 编排器插件注册模式
为每个可插拔子系统(内存提供者、上下文引擎、模型提供者)定义抽象基类,搭配一个编排器从多个目录路径发现和注册实现。新后端在导入时调用 registry.register(),无需修改核心。用户插件同名覆盖内置插件——last-writer-wins 策略。
3. 双层压缩 + 微压缩
安全阀层(网关级,85% 上下文长度触发)和经济层(Agent 级,50% 触发),都使用 API 报告的精确 token 计数。微压缩在每轮结束后将最旧的未吸收交换折叠进运行摘要,分摊压缩的 LLM 调用成本。
4. 即时不可变快照(提示缓存)
内存和技能在会话开始时作为冻结快照加载——会话中途写入更新磁盘但不重载到当前会话,保持系统提示字节稳定。提示缓存是架构约束而非优化选项。
5. 六后端执行环境抽象
通过 BaseEnvironment 接口将代理运行时与执行环境分离:Local(直接执行,无隔离)、Docker(只读根文件系统、能力降级、PID 限制)、SSH(远程持久化)、Daytona(云端开发)、Singularity(HPC 集群)、Modal(无服务器,空闲时休眠近零成本)。切换后端只需改 config.yaml 一行。
生态定位与套利机会
信息差:社区普遍将 Hermes 视为”又一个 AI 代理”,但它实际上是一个多平台代理操作系统。阅读 GitHub star 数字的开发者往往意识不到消息网关、技能系统、策展人和委托机制的存在。对想要探索代理基础设施而非仅用聊天助手的团队,这个认知差是一个被低估的机会。
技术借鉴:窄腰 + 足迹阶梯架构可直接迁移到企业自动化代理(嵌入 Slack/Teams/钉钉)、自托管个人知识代理(笔记 + 记忆 + 搜索)、教育场景多代理编排(教师代理 → 学生代理,带隔离沙箱)。
生态位:隐私 + 桌面 + AI 代理 三轴交叉目前几乎没有其他项目占据。你可以在本地运行 Hermes(通过 Ollama 或本地推理),让它通过后台 computer use 控制你的桌面,不向第三方发送任何数据。
趋势判断:Apple Silicon GPU 内存增长(M3 Ultra 可达 96GB 统一内存)和 7B-13B 级本地 LLM 质量提升正在推高”本地优先、功能完备的代理运行时”需求。Atropos 集成意味着 Hermes 的代理使用数据可直接回流模型训练——从 Agent 使用到模型改进的闭环。
风险与不足
- 抄袭争议与治理风险:Issue #10232 指控 Hermes 与 EvoMap Evolver 高度相似但无署名。维护者的处理方式(编辑 Issue 为”.”、删除评论、封禁用户)而非公开回应,本身就是一个治理风险信号。
- 单一维护者依赖:teknium1 拥有 7,527 次提交,第二名仅 2,660 次。核心架构决策集中在极少数人手中——224K star 项目上的结构性风险。
- 8,504 个未解决 Issue:发布仅 5 个月有这个数字偏高。部分原因是用户基数大,但 triage 跟不上。
- fix 占比过高:最近 100 次提交中 fix 类远多于 feat 类(fix(desktop) 15 次、fix(update) 11 次、fix(gateway) 9 次 vs feat(desktop) 仅 5 次)。维护期特征,意味着安装和升级路径仍有粗糙边缘。
- 技能上下文膨胀:v0.10.0 附带 118 个预构建技能。HN 用户报告默认加载的技能列表消耗超过 10K tokens 上下文。”窄腰”哲学与”默认启用太多技能”之间存在落差。
- 内存容量硬限制:MEMORY.md 2,200 字符 / USER.md 1,375 字符,达到上限后触发手动整合。可接入 Honcho 等外部提供者扩展,但基本文件内存仍然是严格约束。
- 插件安全模型:”运营者审查”是第三方插件的唯一信任边界。插件以完全权限在进程内运行——没有代码签名、能力限制或沙箱。AGENTS.md 明确承认”OS 级隔离是对抗性 LLM 的唯一真正安全边界”。
- 稳定性评分最低:dev.to 独立评测给出稳定性 6.5/10(所有维度最低分),与 fix-heavy 提交分布和高 Issue 数一致。
行动建议
如果你要用它
安装通过一键脚本(curl -fsSL .../install.sh | bash)或 pip install hermes-agent,随后运行 hermes setup 进入配置向导(选择模型提供者、消息平台、工具集成)。可在 5 美元/月 VPS 上运行。适合需要统一存在感(终端 + 聊天 + 桌面)的开发者。如果你只想要”一个终端聊天机器人”,Claude Code 或 Codex CLI 在该场景下更即时、摩擦更小。
如果你要学它
推荐阅读顺序(反映架构依赖性):
tools/registry.py— 工具注册系统,理解扩展机制起点agent/memory_provider.py— 可插拔架构 ABC 模式run_agent.py(~12K 行) — 核心 ReAct 循环,同步编排gateway/run.py— GatewayRunner,多平台会话管理agent/conversation_compression.py— 双层压缩流水线 + 微压缩
同时阅读 AGENTS.md — 它不仅是一份贡献指南,更是一份可用的架构决策记录。
如果你要 Fork 它
- 提高测试覆盖率 — ~75K 行代码但核心 hotspot 测试覆盖有限,子代理生命周期和技能加载失败路径尤需补测
- 降低巴士因子 — teknium1 的 7,527 次提交意味着架构知识高度集中于一人,文档化核心设计决策是最有价值的非代码贡献
- 降低安装门槛 — 提供一键 preset 配置(当前需手动编辑 config.yaml + .env),改善新用户激活漏斗
如果你要避免它
以下情况应考虑替代方案:
- 只需要简单终端聊天机器人(Codex CLI、Claude Code 更即时)
- 不能接受 ~579 MB 磁盘占用
- 需要深度 IDE 原生支持(ACP Server 不完整,不如 Cursor/Windsurf/Codex IDE 扩展开箱即用)
- 需要严格安全隔离(插件信任模型风险不可接受)
- 关注供应链安全但需要大量社区技能(Hermes 技能生态仍小于 OpenClaw 的 5,700+)
数据来源
| 来源 | 类型 | 用途 |
|---|---|---|
| GitHub API | 原始数据 | 仓库元数据、语言分布、贡献者、提交活动、版本发布 |
| DeepWiki | AI 生成文档 | 15 章节百科全书,覆盖架构/子系统/扩展模型/社区模型 |
| Hacker News(Algolia API) | 社区讨论 | 21 条 HN 帖子,含”OpenClaw 迁移”主帖(122 分/105 评论)完整评论 |
| TechCrunch | 科技媒体 | Nous Research $1.5B 估值融资报道 |
| 腾讯云开发者社区 | 技术媒体 | 深度技术剖析报告、OpenClaw 对比分析、安装指南 |
| dev.to | 开发者评测 | 独立评分(8.1/10)、性能验证、功能拆解 |
| Medium | 技术博客 | 桌面应用发布分析、架构图解 |
| 项目 AGENTS.md | 项目文档 | 贡献规范、足迹阶梯、架构设计决策 |
| 项目 README.md | 项目文档 | 项目简介、安装指引、功能列表 |