---
title: "Hermes Agent 从原理到实战"
description: "面向中文开发者，用 8 篇文章建立 Hermes Agent 的定位、稳定闭环、配置、工具、记忆、技能、消息网关和自动化边界。"
verifiedAt: "2026-05-09"
---

Hermes 的难点不在于命令多，而在于能力面太宽。它不是「装了一个 AI 命令行工具」，而是同时把会话、工具执行、长期记忆、技能学习、消息平台接入和后台调度六件事压在了同一个进程里。任何一项配错，下游都会被放大。

理解篇按「**先建立心智模型，再逐层启用**」的顺序组织：先把 Hermes 是什么、和别的 AI 工具有什么差别说清楚，再依次理解会话、执行、记忆、消息、自动化，最后才谈把它接入团队工作流。

> [!NOTE]
> **先给结论**：不要把 Hermes 当成「带 AI 的聊天 CLI（命令行工具）」来学。它是一个 agent runtime（代理运行时），定位是「**运行时间越长，能力越强**」（官方 Hero 原话 _"gets more capable the longer it runs"_）——从经验里创建 skills（技能）、跨 session（会话）形成用户模型、按需把任务分发到本机或云上。学习顺序必须从最小闭环开始，先跑稳本机对话，再扩展工具、记忆、技能、Gateway（消息网关）和自动化。

## 先建立这张心智图

Hermes 的官方定位是 _terminal-native autonomous coding and task agent_（终端原生的自主编码与任务代理）。三个修饰词分别说明它住哪、怎么干活、解决什么问题：

- **terminal-native**——它的主入口不是 IDE 插件，也不是网页聊天框，而是终端（CLI 和 TUI（终端 UI））；这意味着它能直接调用本机命令、shell 工具、git，不绑死在某个编辑器里。
- **autonomous**——它在收到任务后会自己规划、调用工具、检查结果、决定要不要继续；不是「问一句答一句」的聊天机器人。
- **coding and task agent**——它既能写代码，也能跑通用任务（运维脚本、研究、自动化）。

它能跑在 7 种 terminal backend（终端后端）上：local（本机）、Docker（容器）、SSH（远程主机）、Daytona、Singularity、Modal、Vercel Sandbox——其中 Daytona、Modal 和 Vercel Sandbox 是「按需启动、闲置免费」的 serverless（无服务器）环境（[官方 backends 列表](https://hermes-agent.nousresearch.com/docs/user-guide/features/tools)）。模型这边对接 Nous Portal、OpenRouter、OpenAI、Anthropic、Google 或任何 OpenAI 兼容端点。聊天入口（Gateway）覆盖 Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost、Email、SMS、DingTalk（钉钉）、Feishu（飞书）、WeCom（企业微信）、Microsoft Teams 等 15+ 平台一站接入。

这不是「功能很多」的简单堆叠，而是**四层叠加**的系统——下层稳了，上层才有意义；下层错了，上层全白搭：

```mermaid
flowchart TB
    subgraph L4["④ 编排层 · 让 Hermes 在远程或后台自动跑"]
        E1["Gateway / cron / delegation / hooks / background / goals"]
    end
    subgraph L3["③ 学习层 · 让 Hermes 跨次对话保留经验"]
        L31["MEMORY.md / USER.md / session_search / skills / curator"]
    end
    subgraph L2["② 执行层 · 让模型真的能动手做事"]
        X1["tools / toolsets / terminal backend / Docker / SSH / worktree"]
    end
    subgraph L1["① 会话层 · 让人类和模型对得上话"]
        S1["CLI / TUI / provider / session / context window / resume"]
    end
    L1 -->|"基础不稳<br/>命令意图被误判"| L2
    L2 -->|"执行不清<br/>错误经验进长期记忆"| L3
    L3 -->|"治理空缺<br/>错误扩散到远程/后台"| L4
    L1 -.读 01-03.-> A1["原理篇 01 · 02 · 03"]
    L2 -.读 04.-> A2["原理篇 04"]
    L3 -.读 05-06.-> A3["原理篇 05 · 06"]
    L4 -.读 07-08.-> A4["原理篇 07 · 08"]
```

下面是同一张图的逐层详解（看不动 mermaid 图就看这张表）：

| 层 | 负责什么 | 关键术语（首次见忽略，文中再展开） | 对应文章 |
| --- | --- | --- | --- |
| 会话层 | 让人类和模型对得上话 | CLI / TUI / provider（推理服务商） / session（会话） / context window（上下文窗口） / resume（恢复） | 01、02、03 |
| 执行层 | 让模型真的能动手做事 | tools（工具） / toolsets（工具集） / terminal backend / Docker / SSH / worktree（工作区） | 04 |
| 学习层 | 让 Hermes 跨次对话保留经验 | MEMORY.md / USER.md / session_search（会话检索） / skills / curator（策展器） | 05、06 |
| 编排层 | 让 Hermes 在远程或后台自动跑 | Gateway / cron（定时任务） / delegation（子代理委派） / hooks（生命周期钩子） / background（后台会话） / goals（持久目标） | 07、08 |

**跨层故障传导**就是上面 mermaid 的三条实线箭头——学习时不要跨层跳。这也是为什么本系列没有按官方目录从头机械翻译：**底层不稳，上层全部白学**。

## 学习地图

<Cards>
  <Card title="01 · Hermes 是什么" description="先把它从普通聊天 CLI 和 IDE 编码助理中区分出来，建立独立的心智模型。" href="/docs/hermes/understanding/01-what-is-hermes-agent" />
  <Card title="02 · 稳定闭环" description="跑通最小闭环：模型连上、命令能跑、对话能续——后面所有功能都建立在这个闭环之上。" href="/docs/hermes/understanding/02-first-stable-loop" />
  <Card title="03 · 配置与 Provider" description="读懂 ~/.hermes 目录里那些文件各自管什么，避免 provider 和 backend 概念混淆。" href="/docs/hermes/understanding/03-configuration-provider" />
  <Card title="04 · 工具与后端" description="搞清调用什么工具（toolset）和在哪里执行（backend）是两件事，避免命令在错误环境里破坏你的本机。" href="/docs/hermes/understanding/04-tools-terminal-backends" />
  <Card title="05 · 记忆与召回" description="区分长期事实、当前会话、历史检索三种记忆机制，不让 Hermes 把错误经验固化下来。" href="/docs/hermes/understanding/05-memory-and-recall" />
  <Card title="06 · Skills 系统" description="判断什么流程值得做成 skill；同时识别外部 skill 的密钥和脚本风险。" href="/docs/hermes/understanding/06-skills-system" />
  <Card title="07 · 消息网关" description="把 Hermes 接到聊天平台前，先弄清谁能用、能做什么、怎么撤销。" href="/docs/hermes/understanding/07-messaging-gateway" />
  <Card title="08 · 自动化边界" description="cron、后台会话、子代理、hooks 看着方便，但每一项都会放大权限边界——上线前的安全基线在这里讲。" href="/docs/hermes/understanding/08-automation-boundaries" />
</Cards>

## 推荐顺序

不要把这 8 篇当连续小说读。按你当前要做的事挑路径：

- **只想试一下，能跑就行** → 01 → 02 → 03 → 04，把本机闭环跑稳就够了。剩下 4 篇等真要上项目再回来。
- **想做长期个人助手** → 在上一条基础上继续读 05 → 06，先把"什么该记、什么该忘、什么该沉淀成技能"想清楚，否则 Hermes 越用越脏。
- **准备接到聊天平台或后台跑任务** → 再读 07 → 08，重点看 allowlist（允许名单）、用户授权和后台权限边界。这两篇没读完就上线，等于把命令执行权交给陌生人。

## 每篇文章解决的具体问题

| 文章 | 你应该带走的能力 |
| --- | --- |
| 01 · Hermes 是什么 | 能向同事解释 Hermes 为什么不是普通聊天 CLI，也不是 IDE 编码助理 |
| 02 · 稳定闭环 | 能跑通安装、连上模型、对话续上、session 恢复和基础上下文 |
| 03 · 配置与 Provider | 能解释 `config.yaml`、`.env`、`auth.json`、`profile`、`SOUL.md` 各自的作用，能读懂模型路由顺序 |
| 04 · 工具与后端 | 能判断当前 toolset 是不是开得太宽，以及命令实际在哪个 backend（本机 / Docker / SSH / Daytona）执行 |
| 05 · 记忆与召回 | 能区分「长期事实记忆 / 当前会话 / 历史检索 / 外部 memory provider」四种机制各自解决什么问题 |
| 06 · Skills 系统 | 能判断一个流程是否值得做成 skill，能审查外部 skill 的密钥和脚本风险 |
| 07 · 消息网关 | 能解释一条消息从平台到 Hermes 的完整路径：用户 → 平台授权 → Gateway → session 路由 → 工具执行 → 回复 |
| 08 · 自动化边界 | 能在启用 cron、delegation、hooks、persistent goals 前列出可控/不可控边界，决定哪一项暂时不该开 |

这组文章不替代官方参考，而是把官方页面**翻译成工程判断**。真正上项目时，仍要回到官方文档和上游源码核对命令、配置键和版本行为。

## 和官方教程的分工

官方教程中文版回答“怎么配置、用哪个命令、功能入口在哪里”。理解篇回答“为什么这么用、什么时候不要用、风险在哪里”。

如果你正在排错，先查 [官方教程中文版](/docs/hermes/official)。如果你正在设计自己的 agent workflow，按本目录顺序读。

## 通过标准

读完理解篇后，至少要能独立完成三件事：

1. **设计一个安全的本机最小配置**：能向同事解释你选了哪个 provider、session 怎么续、开了哪个 toolset、命令实际跑在哪个 backend、以及 `~/.hermes/` 下这些 context 文件（`SOUL.md` / `AGENTS.md` / `MEMORY.md` 等）各自管什么。
2. **设计一个长期助手配置**：能给「什么该写进 `MEMORY.md`、什么只该留在当前 session、什么该做成 skill、什么时候该让 curator 清理 skill」定下规则——而不是让 Hermes 自由生长。
3. **设计一个远程入口配置**：能列出 Gateway 接到哪些平台、谁有授权、allowlist 怎么写、日志保存到哪、出错了怎么紧急暂停，以及哪些自动化任务**暂时不该启用**。

如果读完只能复述「它支持很多平台和很多工具」，说明还没学到重点。重点是组合能力背后的**责任边界**——`MEMORY.md` 把谁的事实写下来、`allowlist` 把谁挡在外面、`hooks` 在每条命令前后插入什么校验、`cron` 在你睡着时替你执行什么操作。这些问题没答案前，能力越多越危险。

## 官方资料

- [Hermes Agent Documentation](https://hermes-agent.nousresearch.com/docs)（首页 + Quick Links）
- [Hermes Agent llms.txt](https://hermes-agent.nousresearch.com/docs/llms.txt)（机器可读的全文索引）
- [Developer Guide / Architecture](https://hermes-agent.nousresearch.com/docs/developer-guide/architecture)（四层系统对应官方架构页）
- [User Guide / Features / Memory](https://hermes-agent.nousresearch.com/docs/user-guide/features/memory)（学习层主源）
- [User Guide / Features / Tools](https://hermes-agent.nousresearch.com/docs/user-guide/features/tools)（执行层主源）
- [User Guide / Messaging](https://hermes-agent.nousresearch.com/docs/user-guide/messaging)（编排层主源）

## 下一篇

<Cards>
  <Card title="01 · Hermes Agent 是什么" description="从心智模型开始，而不是从命令列表开始。" href="/docs/hermes/understanding/01-what-is-hermes-agent" />
</Cards>
