Hermes Agent 原理与实战——第1章 Hermes Agent 简介与核心理念

Hermes Agent是由 Nous Research构建的开源、自进化通用型 AI 智能体。它并非某个大语言模型的简单封装,也不是传统意义上的 IDE 插件,而是一套完整的 Agent Harness(智能体 Harness)——一个赋予 AI 模型自主思考、调用工具、记忆持久化、自我迭代进化、跨平台交互的底层运行时系统。

Hermes Agent 原理与实战——第1章 Hermes Agent 简介与核心理念

1.1 Hermes Agent 介绍

1.1.1 Hermes Agent是什么

Hermes Agent(以下简称 Hermes)是由 Nous Research 构建的开源、自进化通用型 AI 智能体(Self-Improving AI Agent)。它并非某个大语言模型的简单封装,也不是传统意义上的 IDE 插件,而是一套完整的 Agent Harness(智能体 Harness)——一个赋予 AI 模型自主思考、调用工具、记忆持久化、自我迭代进化、跨平台交互的底层运行时系统。

官方对其的定义:

“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 **是由Nous Research打造的可自我迭代优化的AI 智能体。它是目前唯一内置学习闭环的Agent:会在实操经验中自主创建技能(Skill)、并在使用过程中持续优化技能;主动触发将重要事实写入持久化记忆、检索历史会话记录,并在跨会话交互中不断完善对你的深度用户画像模型。它既能在 5 美元的 VPS 上运行,也能在 GPU 集群上运行;它不限定于你的笔记本——你可以一边在 Telegram 上跟它聊天,一边让它在云端 VM 上执行复杂任务。

Hermes 采用 MIT 开源协议仓库地址github.com/NousResearch/hermes-agent
官方文档hermes-agent.nousresearch.com/docs

1.1.2 七条关键特性

官方 README 给出了 Hermes 的七条关键特性:

  1. 真正的终端界面:完整的 TUI(文本用户界面),支持多行编辑、斜杠命令自动补全、对话历史浏览、随时打断/重定向、流式工具输出。
  2. 走到哪用到哪:对接Telegram、Discord、Slack、WhatsApp、Signal、企业微信、飞书、钉钉、Email、SMS、Home Assistant 等 20+ 平台,共享同一个 Gateway 进程;语音消息可转写、跨平台对话连续性。
  3. 闭环的学习能力:智能代理自主维护记忆库并定期唤醒上下文;复杂任务后自主创建技能;技能在使用过程中中自我改进;基于 FTS5 全文检索会话配合 LLM 摘要实现跨会话回溯;可选接入 Honcho 实现辩证式用户建模;技能格式兼容 agentskills.io 开放标准。
  4. 内置定时调度:原生 Cron 调度器,结果可投递到任意平台;每日报告、夜间备份、周度审计都可以用自然语言描述、无人值守运行。
  5. 任务委托与并行:通过 delegate_task 启动多个隔离子代理并行工作;通过 execute_code 工具,模型可以编写 Python 脚本通过 RPC 直接调用 Hermes 的工具集,把多步流水线压缩成一次推理。
  6. 随处运行6 种终端后端——localdockersshdaytonamodalsingularity。Daytona 和 Modal 提供 Serverless 持久化——代理环境空闲时休眠、按需唤醒,空闲期间几乎零成本。
  7. 研究就绪:批量轨迹生成、轨迹压缩,可以直接用于训练下一代工具调用模型。

1.2 为什么会有 Hermes

1.2.1 当前 Agent 工具的结构性问题

如果你使用过 Cursor、Cline、Claude Code、Aider 等主流编程 Agent,一定会发现它们普遍存在几个结构性缺陷:

  • 第一,高度绑定 IDE 环境,且多数锁定单一模型服务商。Cursor 深度依赖 Anthropic 与 OpenAI,Claude Code 绑定 Claude 模型。即便部分工具允许手动切换模型,更换后交互稳定性、代码工具调用能力往往会出现不可控的衰减,导致开发者被禁锢在厂商封闭生态中,形成厂商锁定。

  • 第二,缺乏持久记忆。每个新会话都从零开始。上周花了一个小时向 Agent 解释的复杂业务逻辑、项目架构约束、个人编码偏好,在新的会话窗口中全部清零,需要反复重新灌输上下文。

  • 第三,学习不闭环。即便某些工具支持"项目规则文件"或"Prompt Template",它们也都是用户手动维护的静态配置。模型本身不会从成功的经验中沉淀技能,不会主动调整行为模式,不会越用越"懂"你。

  • 第四,无法远程运行。Agent 只能运行在打开 IDE 的那台电脑上,关闭电脑它就停止工作。想让 Agent 在后台持续执行任务,同时在手机上查看进度和交互,几乎是不可能的。

  • 第五,多平台体验割裂。在 IDE 里是一个 Agent,在 Telegram 里是另一个 Bot,在 Slack 里又是一个 Webhook 服务。它们彼此互不知情、不共享记忆、不继承上下文,形成信息孤岛。

Hermes 的设计就是从根上解决这些问题。

1.2.2 Hermes 的核心理念

理解 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 的关系

  • OpenClaw:项目基于 TS 开发,主打多平台网关调度 + 海量社区技能生态,无自主进化能力。Hermes 是其能力升级版,内置 hermes claw migrate 一键迁移命令,可完整迁移 OpenClaw 的记忆文件、人设、技能、API 密钥、多 Agent 配置等全量核心资产,生态高度兼容。
  • Claude Code:Anthropic 官方闭源工具,深度绑定 Claude 系列模型,核心优势是大型代码库深度解析与工程重构,主打专业编码场景。
  • OpenCode:轻量化底层 CLI 开源AI编码工具,主打极简终端代码操作,架构轻便、聚焦单一编码场景。
  • Hermes Agent 核心差异化:区别于另外三款工具,完整自进化学习闭环、Honcho 动态用户画像、FTS5+LLM 跨会话记忆摘要、强隔离并行子代理、多终端后端、多 Agent 团队协同等核心能力,定位是可长期成长的通用 Agent 运行时平台

它们之间可搭配组合使用,实操协作方案:Claude Code/OpenCode 负责专项编码工作,Hermes 承担长期记忆沉淀、自主进化、复杂任务自动化与多 Agent 团队调度,依托 MCP 协议实现互通。

1.3 五大核心特性概览

后续章节会深入剖析架构细节,这里先把 Hermes 五大最具差异化的能力做个全景预览,帮助您建立整体认知框架。

(1) 特性一:自学习闭环(Closed Learning Loop)

这是 Hermes 区别于绝大多数 Agent 的核心竞争力。它由四个互相啮合的组件构成:

  • Memory:通过 memory 工具读写 ~/.hermes/memories/MEMORY.md(约 800 token,记录环境约定与项目规范)USER.md(约 500 token,记录用户画像与个人偏好)。系统提示在每次会话开始时将这些文件冻结成快照注入上下文,确保 Agent 始终"记得"你是谁、你们约定过什么。;
  • Skills:智能体在完成复杂任务后,可以把可复用的步骤、注意事项、验证方式写成 SKILL.md,保存到 ~/.hermes/skills/<skill-name>/ 目录。下次遇到同类问题时,系统会自动匹配并加载相关技能。
  • Session Search:所有历史会话都存在 SQLite + FTS5 中;通过 session_search 工具,Agent 可以搜索"我上周怎么处理过 GraphQL schema 迁移的"。系统会返回相关会话的摘要、关键工具调用,让结果更精炼。
  • Curator + Honcho:Curator 子系统会定期"提示"Agent 整理和压缩记忆,防止记忆文件无限膨胀。Honcho 则提供更高级的辩证式用户模型(Dialectic User Modeling),通过与用户的持续对话不断修正和深化用户画像,把用户画像维护得越来越准。

(2)特性二:模型与运行环境双解耦

一行命令切换模型:

1
2
3
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 支持 6 种终端后端:可以让 Hermes 在local执行命令,也可以在 docker 沙箱、ssh 远端、daytona 云开发环境、modal 无服务器函数、singularity HPC 容器中跑同一组工具。

一行命令切换终端:

1
hermes config set terminal.backend docker

这种双解耦设计意味着:你可以用最强的 Claude 模型做代码审查,同时让命令在 docker 的隔离沙箱中执行;或者在国内网络环境下使用 Kimi 模型,而计算任务跑在新加坡的 Modal 实例上。

(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 都已经原生支持。

(4)特性四:丰富的工具集与子代理

Hermes 自带 68 个内置工具,按 toolset 逻辑组织为 52 个工具集

类别 代表工具 说明
文件操作 read_filewrite_filepatchsearch_files 读写、编辑、搜索项目文件
终端执行 terminalprocess 执行 Shell 命令和管理进程
Web 搜索 web_searchweb_extract 网络信息检索与页面内容提取
浏览器自动化 browser_navigatebrowser_clickbrowser_screenshot 等 10 个 覆盖导航、点击、表单、视觉、截图等
媒体处理 vision_analyzeimage_generatetext_to_speech 图像分析、生成、语音合成
智能编排 todoclarifyexecute_codedelegate_task 任务管理、澄清、代码执行、子代理委派
记忆与检索 memorysession_search 记忆读写、历史会话检索
自动化与投递 cronjobsend_message 定时任务与消息投递
第三方集成 ha_*(Home Assistant)、动态 mcp-<server> 工具、rl_*(RL 训练) 智能家居、MCP 协议、RL 训练

特别值得关注的:

  • delegate_task 工具让 Agent 可以并行启动多个子代理处理独立分支,默认并发运行 3 个子 Agent(可配置)。

  • execute_code 则允许模型直接编写 Python 脚本,通过 RPC 调用 Hermes 的工具集,将多步流水线压缩为一次 LLM 推理调用——这被称为"程序化工具调用(Programmatic Tool Calling)"。

(5) 特性五:内置 Cron + Kanban + Webhook——自动化"操作系统"

  • Cron 定时任务

    原生 cron 调度器,用自然语言或标准 cron 表达式安排周期/一次性任务,执行结果可投递到任意消息平台:

    1
    2
    3
    4
    5
    
    # 自然语言创建定时任务
    hermes cron add "每天早 9 点扫 Hacker News Top 10,发到 Telegram"
    
    # 标准 cron 表达式
    hermes cron add --expression "0 2 * * 1" --task "weekly-db-backup" --platform email
    
  • Kanban 任务板

    基于 SQLite 的多 Profile 任务板系统。多个命名 Agent(如 dispatcher、researcher、writer、reviewer)可以通过任务板协作,每个任务都是一行可被人类和其它 Agent 读写的记录。这种设计使得 Hermes 可以充当一个小型"Ops 团队"的协调中枢。

  • Webhook 事件入口

    Gateway 暴露 webhook 入口,你可以让 GitHub PR 事件触发"PR Review Agent",让 Stripe 支付事件触发"客户告知 Agent",让 Prometheus 告警触发"故障排查 Agent"。

1.4 Hermes 与同类项目的对比

维度 Cursor / Cline Claude Code Aider OpenClaw Hermes Agent
形态 IDE 插件 CLI / IDE CLI Gateway + CLI + 50+ 消息平台 CLI + 多平台 Bot + API + ACP
模型自由度 较高 仅 Claude 较高 极高(任意 LLM + 本地 Ollama) 极高(多提供商 + 本地 Ollama)
持久记忆 有限 / 项目规则 无原生 无原生 MEMORY.md分层文件记忆 MEMORY.md + USER.md + Honcho 辩证用户建模
自创建技能 依赖 ClawHub 商店手动安装技能,任务完成后无自生成新技能 任务后自动创建、使用中迭代优化
跨会话检索 BM25 + 向量混合检索,无 LLM 摘要压缩 FTS5 全文检索 + LLM 会话摘要回溯
远程后端 本地 / Docker / 基础 SSH local/docker/ssh/daytona/modal/ singularity 共 6 种终端后端
多消息平台 20 + 海外主流 IM,国内适配薄弱 20 + 原生海外平台 + 国内 IM 兼容适配
Cron 自动化 原生 Cron 定时任务、Webhook 触发 原生 Cron + Kanban 看板调度 + Webhook 联动
子代理并行 有限支持 支持 单体架构为主,多 Agent 隔离性弱 delegate_task 委派 + Kanban 多配置集并行,进程级故障隔离
协议互通 MCP MCP 否(可作为 MCP Server) MCP **MCP + ACP(Agent Client Protocol ,智能体客户端协议) **
开源协议 闭源 闭源 Apache MIT MIT

选型建议:

  • 选 Cursor / Cline:如果你 90% 的需求是在 IDE 里写代码、改 Bug,且习惯图形化界面。
  • 选 Claude Code:如果你深度依赖 Claude 模型,需要企业级代码审查与 SOC2 合规,且不介意闭源生态锁定。
  • 选 Aider:如果你熟悉终端工作流,需要轻量、快速的编码辅助,且偏好 Apache 开源协议。
  • 选 OpenClaw:如果你需要一个简单、稳定、7×24 在线的消息网关,且以海外平台为主。
  • 选 Hermes:如果你需要一个会成长、跨平台、跨设备、可自动化的长期助理——它不一定在单次编码体验上胜过 Claude Code,但它是唯一把"持久记忆 + 自学习 + 多平台 + 多后端 + 开源"作为一等公民的完整运行时。

Hermes 的差异化竞争力不在"单点 IDE 体验",而在"作为长期 Agent 运行时的整体性"。如果你的目标是:

  • 想用 任意大模型(包括国内 Kimi、MiniMax、GLM、DeepSeek等)做一个 24/7 在线、跨平台、有记忆的助理;
  • 希望它自己沉淀经验,下次同类问题更聪明;
  • 希望它跑在云端,你的笔记本一关它依然在工作;
  • 希望它对接 IM / 邮件 / SMS / Webhook / Home Assistant / 企业微信 /钉钉/飞书等;
  • 同时还希望保留完整可控、可定制、开源 MIT 的底盘;

那么 Hermes 是目前开源生态中唯一的架构最完整的选项。

1.5 学完本教程你能做到什么

学完本教程后,你将能够:

  1. 理解 Hermes 的架构与核心组件,能根据需要在 CLI、Gateway、API、ACP、批处理等入口之间切换。
  2. 完成完整的安装与初始化:包括选择供应商、配置 API Key、调试 hermes doctor、迁移旧 OpenClaw。
  3. 熟练使用 CLI/TUI:所有重要的斜杠命令、键位、会话管理、checkpoint/rollback、profile 切换。
  4. 配置多模型与故障切换:理解 chat_completions / codex_responses / anthropic_messages 三种 API 模式,配 fallback 链、credential pool、provider routing,掌握上下文压缩与缓存优化。
  5. 管理工具与终端后端:按平台启用/禁用 toolset,让 Agent 在 docker / ssh / daytona / modal 中跑命令。
  6. 设计 Prompt 与上下文工程:编写 SOUL.md 身份文件、切换 personality 预设、使用 @file / @folder / @git-diff / @url 上下文引用、管理自动加载的项目上下文文件。
  7. 构建闭环学习:写记忆、读记忆、创建/启用/分享技能、管理 Skills Hub、用 session_search 检索过去,接入 Honcho / Mem0 等外部记忆后端。
  8. 接入 MCP:配置本地 stdio 与远程 HTTP MCP server ,按 server 过滤工具。
  9. 搭建多平台 Gateway:上线 Telegram、Discord、Slack、企业微信、飞书、钉钉、Email、Webhook。
  10. 设计 Cron 自动化与长期任务编排:每日简报机器人、GitHub PR Review Agent、定时巡检脚本,用 /goal 设定持久目标并追踪状态。
  11. 使用语音、视觉、浏览器、子代理、Kanban:使用 Hermes 搭建一个"小型 ops 团队"。
  12. 扩展生命周期与可视化:编写 Event Hooks、启动 Web Dashboard 监控 Token 与成本、定制皮肤主题。
  13. 写自己的 Plugin / Memory Provider / Context Engine / Platform Adapter,并把它打包分发。
  14. 安全加固与生产运维:危险命令白名单、容器隔离、DM Pairing、Credential 安全透传、性能调优与生产部署。
  15. 结合批处理、RL 环境、Trajectory 做模型训练数据生成:把 Hermes 用作研究工具。

1.6 学习前的准备

  • 基本的 Linux/macOS shell 使用( bash/zsh 基础语法,环境变量配置、文件权限、进程查看、cron 概念)
  • Python 3.11+(Hermes 默认通过 uv 自动装好)
  • 提前准备好至少一个可用的大模型服务商密钥(如 Claude、OpenAI、通义千问、DeepSeek 等),用于 Hermes 初始化对接模型。或Ollama、vLLM 等本地私有化部署大模型,实现离线调用。
  • 硬件:本地 macOS/Linux/WSL2(window环境)/Termux(Android)都支持。Windows 原生也支持(除 Dashboard PTY 终端外,其余功能均可原生运行)。