Skip to content

Hermes Agent — 全景导读

一句话定位:一个自带学习闭环、多平台接入、模型无关的开源 AI Agent,能从经验中创建 Skill、跨会话记忆,且可用于 RL 训练数据生成。

本文作为 hermes 目录的入口主索引——把 6 篇深度文档串成一张地图,让你按需进入。 新读者建议按本篇的顺序通读三大主线后,再根据兴趣点深入对应专题文档。


1. 项目核心数据

维度数据
仓库nousresearch/hermes-agent
Stars118K+
语言Python (核心) + TypeScript (TUI/Web)
协议MIT
版本v0.11.0
核心代码量run_agent.py 12.8K 行, cli.py 11K 行
创建时间2025-07-22
维护者Nous Research

详细项目背景与目标用户画像见下文 §5 落地评估,或 Hermes 仓库 README


2. 整体架构地图

              ┌────────────────────────────────────────────────┐
              │   多平台 Gateway 层                              │
              │   CLI / Telegram / Discord / Slack / 钉钉 / 飞书 │
              │   WhatsApp / Signal / 企微 / Webhook / Email    │
              └────────────────────────┬───────────────────────┘
                                       │ Session 抽象(PII 脱敏)

              ┌────────────────────────────────────────────────┐
              │   AIAgent.run_conversation()                     │
              │   ┌────────────────────────────────────────┐    │
              │   │ System Prompt 组装                       │    │
              │   │   SOUL.md + Skills 索引 + Memory        │    │
              │   │   + Context Files + 环境提示             │    │
              │   └────────────────────────────────────────┘    │
              │   ┌────────────────────────────────────────┐    │
              │   │ Tool-Calling Loop(同步迭代)            │    │
              │   │   while iter < max:                      │    │
              │   │     LLM.chat() → tool_calls → 调度执行    │    │
              │   └────────────────────────────────────────┘    │
              │   ┌────────────────────────────────────────┐    │
              │   │ 后处理(异步后台)                        │    │
              │   │   Memory 同步 / Skill 自动创建            │    │
              │   │   Trajectory 保存 / Context 压缩          │    │
              │   └────────────────────────────────────────┘    │
              └────────┬───────────────────────┬───────────────┘
                       │                       │
        ┌──────────────▼─────────┐    ┌────────▼─────────────┐
        │ 工具系统                 │    │ 自进化系统             │
        │  Registry / Toolset     │    │  Background Review   │
        │  70+ 内置 + MCP         │    │  Skill Manager       │
        │  并行/串行调度           │    │  Curator (7天周期)    │
        └──────────────┬─────────┘    └────────┬─────────────┘
                       │                       │
              ┌────────▼───────────────────────▼───────────┐
              │   多模型适配层                               │
              │   OpenAI SDK 统一入口                         │
              │   + anthropic / gemini / bedrock / codex       │
              │   + ollama / NVIDIA / 智谱 / Kimi / MiniMax    │
              │   + Tool-call 解析器(按模型分发)              │
              └────────────────────────────────────────────────┘

子系统职责一览

子系统关键能力
多平台 Gateway11+ 平台 adapter / 统一 Session / PII 脱敏 / Cron 跨平台投递
AIAgent 主循环Prompt 组装 / Tool-calling / 后处理(Memory 同步 + Skill 创建 + Trajectory + Context 压缩)
多模型适配层Provider 抽象 / Tool-call 解析器按模型分发 / 降级容错
工具系统Tool(70+ 内置 + MCP)/ Toolset 分组 / 并行调度 / Skill 渐进式披露
自进化系统Background Review Fork(异步隔离 16 轮)/ Skill Manager / Curator(7 天周期 + 状态机 + LLM 合并)
设计哲学与 PM 启发横切产品视角的复盘 → 设计哲学与 PM 启发录

3. 三大设计主线

Hermes 的全部技术决策都收敛到三条主线,理解这三条就能理解 70% 的架构选择。

主线一:模型无关 — 用户自由 = 长期信任

核心命题:不绑定任何单一模型厂商,用户随时可在 Claude / GPT / Gemini / Ollama / 国产模型之间切换;任一 Provider 故障时自动降级到备选模型。

实现要点

  • 统一通过 OpenAI SDK 调用,针对各厂商写适配器(anthropic / gemini_native / bedrock / codex_responses / moonshot 等)
  • Tool-call 解析器分发:不同模型输出的工具调用格式不一致,按 model 名称路由到对应 parser(hermes / qwen / deepseek_v3 / llama / glm45 等)
  • 模型异构 Prompt 注入:根据模型特点注入差异化指导(GPT 容易"只说不做" → 强制要求执行;Gemini 路径粗糙 → 强调绝对路径并行调用)
  • 比例阈值压缩:上下文压缩按窗口占比触发(默认 50%),自动适配任意窗口大小,而非固定 Token 数

模型异构 Prompt 注入与 Provider 适配的设计权衡见 设计哲学篇 §权衡 1 / 模板 2

主线二:多平台一体 — 一个 Agent,到处可达

核心命题:一个 Gateway 进程统一所有 IM 平台,Agent 不感知消息来源,用户在哪都能召唤同一个 Agent 实例。

实现要点

  • 每个平台一个 adapter 文件(Telegram / Discord / Slack / WhatsApp / Signal / 钉钉 / 飞书 / 企微 / QQ Bot / Home Assistant / Email / SMS / Webhook)
  • SessionSource 数据类抽象消息来源(平台 / chat_id / thread_id),用于路由回复
  • PII 自动脱敏:sender_id 和 chat_id 走 SHA256 哈希,日志中不出现原始 ID
  • Cron 调度:内置 croniter,定时任务可投递到任何平台
  • TUI 前端:CLI 端通过 prompt-toolkit 提供 streaming / spinner / kawaii 表情 / skin 主题 / markdown 三模式渲染

多平台 Gateway 与 TUI 前端(Streaming / Spinner / Skin / Markdown 三模式)的设计权衡见 设计哲学篇 §哲学 2

主线三:自进化闭环 — 越用越强

核心命题:Agent 在执行任务的同时持续从对话中学习——把成功经验沉淀为 Skill,把用户挫败感转为程序性修正,由 Curator 定期合并整理,防止知识库退化。

实现要点(三层闭环):

  1. Layer 1 — Background Review Fork:每 10 轮对话或 10 次工具迭代后,后台异步 fork 一个隔离的 Review Agent,从记忆 / 技能 / 综合三维度复盘
  2. Layer 2 — Skill Manager:结构化存储 ~/.hermes/skills/,包含 SKILL.md + references/ + templates/ + scripts/,6 个操作(create / edit / patch / delete / write_file / remove_file)
  3. Layer 3 — Curator:每 7 天运行一次,自动状态转换(active → stale → archived)+ LLM 驱动的 umbrella 合并

与"营销化自进化"的本质区别:Hermes 自动用用户数据训练模型权重;自进化的真正内涵是「动态 Skill 生成(外部知识扩充)+ 可选的 RL 训练(用 Teacher 模型蒸馏到小模型)」。

三层闭环(Background Review / Skill Manager / Curator)的设计权衡与可复用模板见 设计哲学篇 §哲学 1 / §哲学 7 / §模板 1


4. 关键差异化清单(vs Claude Code / OpenClaw / Codex)

维度HermesClaude CodeOpenClawCodex
模型自由度⭐⭐⭐ 200+ 模型⭐ 仅 Claude⭐⭐ 主流厂商⭐ 仅 OpenAI
多平台接入⭐⭐⭐ 11+ IM 平台CLI / IDECLICLI
Skill 自创建⭐⭐⭐ 动态生成 + Curator 维护⭐⭐ 静态预置⭐⭐ 静态预置⭐ 无
RL 训练数据生成⭐⭐⭐ Atropos 集成⭐ 无⭐ 无⭐ 无
上下文压缩比例阈值(窗口 %)绝对阈值绝对阈值绝对阈值
错误自愈14 类结构化错误分类 + 退避通用重试通用重试通用重试
模块化⚠️ run_agent.py 12K 行巨石⭐⭐⭐ 模块化⭐⭐ 中等⭐⭐ 中等
IDE 集成⚠️ 无⭐⭐⭐ VS Code / Cursor⭐ 无⭐⭐ 部分
生态兼容AGENT.md / SOUL.md / CLAUDE.md / .cursorrules只读自家 CLAUDE.md自家格式自家格式

Hermes 的差异化定位

模型自由 × 多平台接入 × 自进化 三个维度同时最强。 代价是单文件巨石架构(贡献者门槛高)+ 缺 IDE 集成(不适合 IDE-first 工作流)。

完整三方对比(vs Claude Code / OpenClaw / Codex)见 设计哲学与 PM 启发录


5. 落地评估

维度评估
部署复杂度低 — 一行 curl 安装,hermes setup 向导式配置
最低成本$5 VPS 即可运行;Modal/Daytona serverless 闲时接近零成本
成熟度高 — 118K stars,v0.11,10 个 Release Notes 累计 30 万字
风险run_agent.py 12K 行巨石架构,社区贡献门槛极高;无 IDE 集成
适合场景独立开发者 / OPC / AI 研究员(RL 数据生成)/ 极客自部署 / 多 IM 平台团队
不适合场景重度 IDE workflow(用 Cursor / Windsurf)/ 企业级合规要求高的场景

目标用户画像

用户类型核心需求
独立开发者 / OPC不绑定笔记本、能在 VPS 上 7×24 运行的 AI 助手,通过 Telegram / Discord 随时交互
AI 研究员用 Atropos RL 环境生成 Agent 轨迹数据,训练下一代 tool-calling 模型
极客 / 自部署用户不想被锁定在 Claude / OpenAI 生态,需要支持 200+ 模型的自由切换
团队多平台 Gateway 统一入口,Slack / Discord / 钉钉 / 飞书全覆盖

6. 推荐阅读顺序

读者画像关注章节
PM / 决策者(快速判断要不要研究 / 选型)本文 §3 三大主线 + §4 差异化清单 + §5 落地评估 → 设计哲学与 PM 启发录 §第一部分七大哲学
架构师(理解技术决策)本文 §2 架构地图 + §3 三大主线 → 设计哲学与 PM 启发录 §第二部分五处权衡
要做类似产品本文 §3 三大主线 → 设计哲学与 PM 启发录 §第三部分四套设计模板 + §第五部分 PM 检查清单
要做 RL 训练 / 研究本文 §3 主线三(自进化闭环)→ Hermes 仓库 environments/ 目录 直接看源码
要做多平台 IM Bot本文 §3 主线二(多平台一体)→ 设计哲学与 PM 启发录 §哲学 2

想看源码级深度拆解(Provider 适配器代码 / Curator 1675 行 / Tool 5 部分注册结构 / Streaming pipeline):直接读 Hermes 仓库 源码,配合 Hermes Release Notes 累计 30 万字的设计说明。


7. 与全库其他文档的关联

全库文档关联点
Agent 范式演进与工程方法论Hermes 代表"自进化 Agent"演进新阶段
Agent 记忆系统内外双驱 Memory(SQLite + Mem0/Honcho)
Agent 工程实践与工具生态Tool vs Skill 区分 / Registry / 渐进式披露
Agent 架构与协作模式Gateway 多平台一体 / 子 Agent 沙箱
Agent 设计哲学与决策框架"自进化的边界与误区" / 模型无关战略 / 安全即产品
Harness 概念架构与 Coding 工程实践全生命周期 9 个 Hook 钩子链
Harness 失效模式与演化方向14 类结构化错误分类与恢复策略
OpenClaw 架构深度拆解Hermes 在 Prompt/Context/Harness 上继承并演进 OpenClaw

MIT License