第一章:Hermes Agent 项目简介与核心理念
1.1 Hermes Agent 是什么
1.1.1 一句话介绍
Hermes Agent(以下简称 Hermes)是 Nous Research 出品的 开源、自学习的通用型 AI 智能体(self-improving AI agent)。它不是一个 IDE 插件,也不是某一个大模型的简单封装,而是一套完整的 Agent Harness:
「The self-improving AI agent built by Nous Research. It’s the only agent with a built-in learning loop — it creates skills from experience, improves them during use, nudges itself to persist knowledge, searches its own past conversations, and builds a deepening model of who you are across sessions.」
翻译过来就是:Hermes 是唯一内置完整学习闭环的开源 Agent——它会在使用过程中自主创建技能、改进技能、把重要事实写入持久化记忆、检索自己历史会话,并对你这个用户建立一份越来越精确的画像。它既能跑在 5 美元的 VPS 上,也能跑在 GPU 集群上,还能跑在 Daytona / Modal 这种空闲时几乎零成本的 Serverless 基础设施上;它不绑定你的笔记本——你可以一边在 Telegram 跟它聊天,一边让它在云端 VM 上为你干活。
许可证为 MIT,托管在 GitHub NousResearch/hermes-agent。官方文档站点为 hermes-agent.nousresearch.com/docs。
1.1.2 项目定位与”它不是什么”
为了减少误解,先把 Hermes 不是什么列清楚:
- 它不是 IDE 插件:和 Cursor / Continue / Cline / Copilot 不同,Hermes 是一个独立运行的 Agent 进程,不依赖任何编辑器,CLI 与消息平台才是它的”主舞台”。
- 它不是某个大模型的官方客户端:虽然名字叫”Hermes”(与 Nous 训练的 Hermes 系列模型同名),但 Hermes Agent 本身与具体模型解耦,可以使用 200+ 模型,包括 Claude、GPT、Gemini、GLM、Kimi、MiniMax、DeepSeek、Qwen、Nemotron、Hermes、Llama 等。
- 它不是简单的”包一层 ChatCompletion”:Hermes 内部维护了完整的工具运行时(68 个内置工具,52 个 toolset)、会话存储(SQLite + FTS5)、上下文压缩、Prompt 缓存、Provider 故障切换、密钥池、技能系统、MCP 客户端、定时任务、消息网关等子系统,是一套真正的”Agent 操作系统”。
- 它不是只能在桌面跑的玩具:Hermes 设计目标是 服务化、远程化、长时运行——可以作为后台进程、Telegram bot、Discord bot、cron 调度器、HTTP API 服务、ACP IDE 后端、批处理 trajectory 生成器等多种形态运行。
而它是什么呢?官方 README 给出了七条最关键的特性:
- 真正的终端界面(A real terminal interface):完整的 TUI,多行编辑、斜杠命令自动补全、对话历史、随时打断/重定向、流式工具输出。
- 走到哪用到哪(Lives where you do):Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost、Email、SMS、企业微信、飞书、钉钉、BlueBubbles、Home Assistant 等 15+ 平台共享同一个 Gateway 进程;语音消息可以转写;同一个对话可以跨平台延续。
- 闭环的学习能力(A closed learning loop):智能体自己策划记忆,定期”轻推”自己写入;复杂任务后自主创建技能;技能在使用中自我改进;FTS5 + LLM 摘要做跨会话检索;可选接入 Honcho 做辩证式用户建模;技能格式兼容 agentskills.io 开放标准。
- 内置定时调度(Scheduled automations):原生 cron 调度器,结果可投递到任意平台;每日报告、夜间备份、周度审计都可以用自然语言描述、无人值守运行。
- 任务委托与并行(Delegates and parallelizes):通过
delegate_task启动多个隔离子代理并行工作;通过execute_code工具,模型可以写 Python 脚本通过 RPC 直接调用 Hermes 的工具集,把多步流水线压缩成一次推理。 - 跑在哪都行(Runs anywhere, not just your laptop):6 种终端后端——
local、docker、ssh、daytona、singularity、modal。Daytona 和 Modal 提供 Serverless 持久化:环境空闲时休眠、按需唤醒,几乎零成本。 - 研究就绪(Research-ready):批量轨迹生成、Atropos RL 环境、轨迹压缩,可以直接用于训练下一代工具调用模型。
1.2 为什么会有 Hermes:从”一次性 Copilot”到”长期共生体”
1.2.1 当前 Agent 工具的结构性问题
如果你仔细回顾过 Cursor / Cline / Claude Code / Copilot Chat / Aider 等主流编程 Agent,会发现它们普遍存在几个结构性问题:
- 强绑定 IDE 和某一个模型供应商:Cursor 强绑 Anthropic / OpenAI,Codex 绑 OpenAI,Copilot 绑 GitHub。一旦切换模型,体验和工具能力都在变化。
- 没有持久记忆:每个新会话都从零开始;上一次解决过的难题,这一次依然要重复解释一遍上下文。
- 学习不闭环:即便有”项目规则文件”或”prompt template”,它们都是用户手动维护的;模型自己不会从经验中沉淀技能、不会主动调整行为。
- 不能远程运行:你的 Agent 只能跑在打开 IDE 的那台电脑上,关掉电脑它就停了;想让它一边跑一边在手机上和你交互几乎不可能。
- 多平台体验割裂:在 IDE 里是一个 Agent,在 Telegram 里是另一个 bot,再在 Slack 里又是一个 webhook;它们彼此互不知情、不共享记忆。
Hermes 的设计就是从根上对这些问题做出回应。
1.2.2 Hermes 的核心理念:一个会成长的、真正属于你的 Agent
理解 Hermes 设计哲学,最关键的就是把它当成一个 “长期、跨设备、跨平台、会成长的助理”,而不是”一次性问答工具”。它的所有功能都围绕这一目标展开:
| 核心问题 | Hermes 的回答 |
|---|---|
| 怎么记住我? | 写入 MEMORY.md(环境/约定)和 USER.md(用户画像),每次启动注入系统提示;可选 Honcho 做更深层用户建模 |
| 怎么沉淀经验? | 自主创建 Skill(一段可复用的”做某事的步骤说明”),保存到 ~/.hermes/skills/,下次匹配自动加载 |
| 怎么在不同地方都能用? | Gateway 单进程同时驱动 15+ 消息平台;CLI / API 服务器 / ACP IDE 协议三个本地入口 |
| 怎么不被某个模型卡住? | Provider 抽象 + Fallback 链 + Credential Pool;一行 hermes model 切换 200+ 模型 |
| 怎么不被某台机器卡住? | 6 种 terminal backend,可在本地、容器、远端 SSH、Daytona、Modal、Singularity 跑命令 |
| 怎么主动干活? | Cron 调度 + 自然语言任务:”每天早 9 点扫 Hacker News,发到我的 Telegram” |
| 怎么和团队协作? | Kanban 多 Profile 协同 + Webhook + ACP,多个命名 Agent 通过 SQLite 任务板共享状态 |
也就是说,Hermes 把”AI 助手”的边界从”我开 IDE 时它在线”扩展到了”我活着它就在线,跨设备、跨平台、跨上下文都记得”。
1.2.3 与 OpenClaw / Claude Code / OpenCode 的关系
Hermes 的前身是 OpenClaw。Hermes 仓库内置 hermes claw migrate 命令:可以把 OpenClaw 的 SOUL.md、记忆(MEMORY.md/USER.md)、技能、API Key、命令白名单、TTS 资源、AGENTS.md 等一键迁移过来。
Hermes 与 Anthropic Claude Code、OpenCode(Hermes 的”姊妹项目”之一)走的是不同路线:Claude Code 紧贴 Claude,OpenCode 是个底层 CLI;而 Hermes 把”多模型 + 自学习 + 多平台 + 多后端”作为一等公民,更接近”agent 平台/runtime”。三者并不互斥——你完全可以用 Claude Code 写代码、用 Hermes 做长期助理、用 OpenCode 做命令行实验。
1.3 五大核心特性总览
虽然第二章会详细介绍架构,这里先把 Hermes 五大让人留下深刻印象的能力做个全景预览,让你心里有数。
1.3.1 自学习闭环(Closed Learning Loop)
这是 Hermes 区别于绝大多数 Agent 的关键。它包含 4 个互相啮合的组件:
- Memory(持久记忆):
memory工具读写~/.hermes/memories/MEMORY.md(约 800 token,环境与约定)和USER.md(约 500 token,用户画像)。系统提示在每次会话开始时把它们冻结成快照注入。 - Skills(技能):智能体在完成复杂任务后,可以把可复用的步骤、注意事项、验证方式写成
SKILL.md,保存到~/.hermes/skills/<skill-name>/,下次同类问题自动唤起。 - Session Search(会话检索):所有历史会话都存在 SQLite + FTS5 中;通过
session_search工具,Agent 可以搜索”我上周怎么处理过 GraphQL schema 迁移的”。LLM 摘要会让结果更精炼。 - Curator + Honcho(用户建模):Curator 子系统会定期”提示”Agent 整理记忆;Honcho 提供更高级的辩证式用户模型(dialectic user modeling),把用户画像维护得越来越准。
1.3.2 模型与运行环境双解耦
一行命令切换模型:
hermes model # 进入交互式选择
hermes config set model anthropic/claude-opus-4.6
hermes config set model openrouter/openai/gpt-5
支持的供应商极其广泛(详见第五章):Nous Portal、OpenRouter、Anthropic、OpenAI/Codex、Z.AI/GLM、Kimi/Moonshot(含中国区)、MiniMax(含中国区)、Alibaba DashScope(Qwen)、HuggingFace、KiloCode、OpenCode Zen/Go、DeepSeek、NVIDIA NIM、GitHub Copilot、Vercel AI Gateway、自定义 OpenAI-Compatible 端点(vLLM、SGLang、Ollama、LMStudio)。
终端后端同样如此:你可以让 Hermes 在 local 跑命令,也可以让它在 docker 沙箱、ssh 远端、daytona 云开发环境、modal 无服务器函数、singularity HPC 容器中跑同一组工具。
1.3.3 多平台网关(Gateway)
hermes gateway start 启动一个进程,同时连接:Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost、Email、SMS、企业微信、飞书、钉钉、QQ 机器人、Yuanbao、BlueBubbles、Webhooks、Open WebUI、Home Assistant 等。每个平台都有独立的 adapter,但共享同一个 Agent、同一份记忆、同一份技能。
国内开发者最关心的几条平台:WeCom(企业微信)、Feishu(飞书)、DingTalk(钉钉)、Weixin(个人微信,配合 HermesClaw 桥接)、QQ Bot、Yuanbao 都已经原生支持。
1.3.4 工具与子代理
Hermes 自带 68 个内置工具,按 toolset 组织(共 52 个 toolset):
- 文件:
read_file、write_file、patch、search_files - 终端:
terminal、process - Web:
web_search、web_extract - 浏览器:10 个
browser_*工具,覆盖导航、点击、表单、视觉、截图等 - 媒体:
vision_analyze、image_generate、text_to_speech - 智能编排:
todo、clarify、execute_code、delegate_task - 记忆与检索:
memory、session_search - 自动化与投递:
cronjob、send_message - 集成:
ha_*(Home Assistant)、动态mcp-<server>工具、rl_*(RL 训练)
delegate_task 让 Agent 可以并行启动多个子代理处理独立分支;execute_code 让模型直接写 Python 脚本通过 RPC 调用工具,把多步流水线压成一次推理(”Programmatic Tool Calling”)。
1.3.5 内置 Cron + Kanban + Webhook:自动化”操作系统”
- Cron:用自然语言或标准 cron 表达式安排周期/一次性任务,结果投递到任意平台。
- Kanban:基于 SQLite 的多 Profile 任务板。多个命名 Agent(dispatcher / researcher / writer / reviewer 等)可以通过任务板协作,每个任务都是一行可被人类和其它 Agent 读写的记录。
- Webhook:Gateway 暴露 webhook 入口,你可以让 GitHub PR 触发”PR Review Agent”,让 Stripe 事件触发”客户告知 Agent”等。
1.4 Hermes 与同类项目的对比
| 维度 | Cursor / Cline | Claude Code | Aider | OpenAI ChatGPT Agents | Hermes Agent |
|---|---|---|---|---|---|
| 形态 | IDE 插件 | CLI / IDE | CLI | SaaS / GPT Store | CLI + 多平台 Bot + API + ACP |
| 模型自由度 | 较高 | 仅 Claude | 较高 | 仅 OpenAI | 极高(200+ 模型,6 大类供应商) |
| 持久记忆 | 有限/项目规则 | 无原生 | 无 | Memory(封闭) | MEMORY.md + USER.md + Honcho |
| 自创建技能 | 否 | 否 | 否 | GPT 配置 | SKILL.md,自动创建/改进 |
| 跨会话检索 | 否 | 否 | 否 | 部分 | FTS5 + LLM 摘要 |
| 远程后端 | 否 | 否 | 否 | 云端但封闭 | local/docker/ssh/daytona/modal/singularity |
| 多消息平台 | 否 | 否 | 否 | 部分 | 15+ 原生平台 + 国内 IM |
| Cron 自动化 | 否 | 否 | 否 | 部分(Tasks) | 原生 cron + Kanban + Webhook |
| 子代理并行 | 否 | 否 | 否 | 部分 | delegate_task + Kanban |
| 协议互通 | 否 | 部分 | 否 | 否 | MCP + ACP + agentskills.io |
| 开源协议 | 闭源 | 闭源 | Apache | 闭源 | MIT |
可以看出:Hermes 的差异化竞争力不在”单点 IDE 体验”,而在”作为长期 Agent runtime 的整体性”。如果你的目标是:
- 想用 任意大模型(包括国内 Kimi、MiniMax、GLM、DeepSeek)做一个 24/7 在线、跨平台、有记忆的助理;
- 希望它自己沉淀经验,下次同类问题更聪明;
- 希望它跑在云端,你的笔记本一关它依然在工作;
- 希望它对接 IM / 邮件 / SMS / Webhook / Home Assistant / 企业微信 / 飞书;
- 同时还希望保留完整可控、可定制、开源 MIT 的底盘;
Hermes 几乎是目前唯一一个”全方位都能打”的选择。
1.5 学完本教程你能做到什么
本教程共 12 章,循序渐进。学完之后你应当能够:
- 理解 Hermes 的架构与核心组件,能根据需要在 CLI、Gateway、API、ACP、批处理等入口之间切换。
- 完成完整的安装与初始化:包括选择供应商、配置 API Key、调试
hermes doctor、迁移旧 OpenClaw。 - 熟练使用 CLI/TUI:所有重要的斜杠命令、键位、会话管理、checkpoint/rollback、profile 切换。
- 配置多模型与故障切换:理解
chat_completions/codex_responses/anthropic_messages三种 API 模式,配 fallback 链、credential pool、provider routing。 - 管理工具与终端后端:按平台启用/禁用 toolset,让 Agent 在 docker / ssh / daytona / modal 中跑命令。
- 构建闭环学习:写记忆、读记忆、创建/启用/分享技能、管理 Skills Hub、用 session_search 检索过去。
- 接入 MCP:本地 stdio 与远程 HTTP MCP server 都能配,按 server 过滤工具。
- 搭建多平台 Gateway:上线 Telegram、Discord、Slack、企业微信、飞书、钉钉、Email、Webhook。
- 设计 Cron 自动化:每日简报机器人、GitHub PR Review Agent、定时巡检脚本。
- 使用语音、视觉、浏览器、子代理、Kanban:把 Hermes 当成一个”小型 ops 团队”。
- 写自己的 Plugin / Memory Provider / Context Engine / Platform Adapter,并把它打包分发。
- 结合批处理、Atropos RL、Trajectory Format 做模型训练数据生成:把 Hermes 用作研究工具。
1.6 学习前的准备
虽然每章都会从零讲起,但你最好具备以下基础:
- 基本的 Linux / macOS shell 使用(
bash、zsh、环境变量、cron 概念)。 - 会装 Python 3.11(Hermes 默认通过
uv自动装好;但理解虚拟环境会有帮助)。 - 会读写 YAML 与 Markdown(配置文件
~/.hermes/config.yaml和技能SKILL.md都用这两种格式)。 - 了解过任意一个 LLM 服务的 API Key 概念。
- 不要求会 Python 或 Go:阅读源码、写插件、写 cronjob 时如果会 Python 会更轻松,但日常使用完全不用。
至于硬件:5 美元 VPS 即可跑起来;本地 macOS / Linux / WSL2 / Termux(Android 手机)都受支持。不支持 Windows 原生,请在 Windows 上用 WSL2。
1.7 本章小结
本章我们建立了对 Hermes Agent 的整体认知:
- Hermes 是 Nous Research 出品的 MIT 协议、自学习、多模型、多平台、多后端 AI Agent;
- 它的核心理念是把”Agent”从”一次性问答工具”重塑为”长期共生的、跨设备记得你的助理”;
- 它通过 Memory + Skills + Session Search + Honcho 构成 闭环学习;
- 它通过 Provider 抽象 + Terminal Backend 做到 模型与环境双解耦;
- 它通过 Gateway + Cron + Kanban + Webhook 做到 真正的自动化操作系统;
- 它的工具/技能/MCP 协议格式都遵循开放标准,便于团队共享和长期演进。
下一章,我们会把镜头拉近,看 Hermes 内部到底由哪些子系统组成,它们如何协同工作。