---
title: "01 · Hermes Agent 是什么"
description: "理解 Hermes Agent 的定位：CLI/TUI、provider、工具、记忆、skills、Gateway、terminal backends 和自动化组成的开源 agent runtime。"
verifiedAt: "2026-05-09"
---

Hermes Agent 不只是一个聊天 CLI，也不只是另一个 coding agent（编程代理）。它更像 Nous Research 做的开源 agent runtime（代理运行时）——把模型、工具、记忆、skills（技能）、消息网关、终端后端、后台任务和自动化放到同一套运行系统里。

官方资料：[Hermes Agent Docs](https://hermes-agent.nousresearch.com/docs)、[GitHub README](https://github.com/NousResearch/hermes-agent)、[llms.txt](https://hermes-agent.nousresearch.com/docs/llms.txt)。

> [!NOTE]
> **先给结论**：如果只想一次性改代码，Claude Code、Codex 或 Cursor 可能更直接；如果想要跨 session、跨平台、带记忆和技能沉淀的长期个人 agent，Hermes 的设计才开始有意义。

## 先分清四类工具

<Cards>
  <Card title="聊天 CLI" description="解决本轮问答，通常不强调长期运行、消息平台和自动化。" />
  <Card title="Coding Agent" description="重点是读代码、改代码、跑测试、发 PR。" />
  <Card title="消息 Bot" description="重点是从 Telegram、Discord、Slack、Email 等平台接任务。" />
  <Card title="Agent Runtime" description="把模型、工具、记忆、skills、消息入口、权限和后台任务组织到一起。" />
</Cards>

Hermes 更接近第四类。它可以写代码，但目标不止写代码；它可以接聊天平台，但也不是普通 bot。

## 最小心智模型

可以把 Hermes 拆成七层：

```mermaid
flowchart TB
    Entry["① 入口层<br/>CLI / TUI / Gateway / API Server"]:::io
    Model["② 模型层<br/>provider / model / context / fallback"]:::io
    Context["③ 上下文层<br/>SOUL.md / context files / sessions"]:::cap
    Tools["④ 工具层<br/>web / file / terminal / browser / MCP / delegation"]:::cap
    Runtime["⑤ 执行层<br/>local / docker / ssh / singularity / modal / daytona / vercel_sandbox"]:::cap
    Memory["⑥ 记忆层<br/>MEMORY.md / USER.md / session_search / providers"]:::pers
    Skills["⑦ 能力沉淀<br/>skills / slash commands / agent-managed skills"]:::pers
    Governance["⑧ 治理层<br/>allowlist / approvals / logs / config / backend 隔离"]:::gov
    Entry --> Model --> Context --> Tools --> Runtime --> Memory --> Skills --> Governance
    classDef io fill:#e6f0ff,stroke:#3568d4,color:#222
    classDef cap fill:#fde7c2,stroke:#d4761a,color:#222
    classDef pers fill:#e8f5e9,stroke:#43a047,color:#222
    classDef gov fill:#fde2e2,stroke:#c43d3d,color:#222
```

四色分组（蓝 = 信任域 / 橙 = 能力域 / 绿 = 持久化域 / 红 = 治理边界）。下面是逐层文字版：

七层各自负责什么：

| 层 | 解决的问题 | 典型出错点 |
|---|---|---|
| 入口层 | 任务从哪来——CLI 终端命令 / TUI（Terminal UI 文本界面）/ Gateway 聊天平台 / API Server 程序调用 | 多入口不收敛，导致权限边界混乱 |
| 模型层 | 用哪个 LLM、上下文多大、失败时回退到谁 | 没设 fallback（备用模型）线上一停服全瘫 |
| 上下文层 | 每次会话给模型看什么——`~/SOUL.md`（全局人格 / 默认语气） + `AGENTS.md`/`CLAUDE.md`/`.hermes.md`（项目级规则） + sessions（会话状态） | 上下文文件越塞越大，token 用量暴涨；SOUL 与项目规则边界不清会冲突 |
| 工具层 | 模型能调哪些动作——读写文件、跑终端、控浏览器、调用 MCP、把任务委派（delegation）给子代理 | 工具默认全开 = 风险面失控 |
| 执行层 | 命令在哪里跑——本机 / Docker / SSH 远端 / 云端 sandbox（隔离沙箱） | 没隔离时模型可能改到生产环境 |
| 记忆层 | 跨会话记住什么——MEMORY.md 长期事实 / USER.md 用户偏好 / session_search 历史回看 | 记忆膨胀或敏感信息泄露 |
| 能力沉淀 | 重复流程怎么固化——把成功流程写成 skill（技能包），由 agent 自己调用或手动 / | skill 描述模糊，agent 误触发 |
| 治理层 | allowlist（白名单）、approvals（审批）、日志、配置、backend（后端）隔离——把上面六层的风险压住 | 治理空缺时，能力越多事故越大 |

使用 Hermes 时，不要只问"它会不会写代码"。更重要的问题是：

- 它会记住什么？
- 它能调用哪些工具？
- 它从哪里接收任务？
- 它在哪里执行命令？
- 它能不能后台运行？
- 它失败后有什么日志和停止方式？

## 和普通 coding agent 的差异

Claude Code、Codex、Cursor、Windsurf 更强调“围绕项目完成开发任务”。Hermes 的关注面更宽：

- 可以作为本地 CLI / TUI assistant（终端助手）。
- 可以接 Telegram、Discord、Slack、WhatsApp、Signal、Email、Matrix、Mattermost、DingTalk（钉钉）、Feishu（飞书）、WeCom（企业微信）、Microsoft Teams 等 15+ 平台。
- 可以用 `MEMORY.md`、`USER.md` 和 `session_search`（会话检索工具）做跨 session 记忆。
- 可以把流程沉淀成 agentskills.io 兼容的 skills（可复用技能包）。
- 可以通过 cron（定时任务）、background session（后台会话）、delegation（子代理委派）和 hooks（生命周期钩子）做自动化。
- 可以把 terminal 命令放到 local（本机）、Docker（容器）、SSH（远程主机）或云 sandbox（云端隔离沙箱）。

这也意味着 Hermes 的风险面更大。能力越多，越需要明确 provider（推理服务商）、toolsets（工具集）、backend（执行后端）、allowlist（允许名单）和 secret（密钥）边界。

## 自我改进到底是什么

官方 Hero 把 Hermes 描述为「**The only agent with a built-in learning loop**」——带内建学习循环的自我改进代理。落到工程机制上，主要**不是**"模型权重自己变强"（那是 RL training 的事），而是这几类**持久化能力**叠加：

- **Memory（长期记忆）**：保存长期偏好、环境事实、项目约定，跨 session 复用。
- **Session search（会话检索）**：通过 FTS5 全文索引 + LLM 摘要，回看过去讨论过的内容。
- **Skills（技能）**：把成功流程沉淀成 markdown 知识包，下次任务相似时自动套用——agent 还会自己**创建**新 skill（agent-created skills）。
- **Curator（技能策展）**：后台维护代理自建 skill 的使用率、新鲜度、归档与 LLM 驱动的复审。
- **Gateway（消息网关）**：跨平台（Telegram / Slack / DingTalk 等）持续接收任务。
- **Cron / background（定时与后台）**：周期或异步执行任务。
- **Terminal backend（终端后端）**：把命令执行环境从本机扩展到 Docker、远端 SSH 或云端 sandbox。
- **Honcho dialectic user modeling（Honcho 辩证式用户建模）**：可选的 AI 原生用户建模插件，跨多 agent 形成对话式用户画像。

这些机制叠起来，Hermes 才不只是「每次从零开始聊天」——它在跨次使用中**主动**积累事实、流程、个人模型。官方原话叫 _"gets more capable the longer it runs"_（运行时间越长，能力越强）。

## 什么时候适合用

适合：

- 你希望 agent 跨 session 记住偏好和环境。
- 你希望从手机、聊天平台、邮件或 webhook 触发任务。
- 你有重复流程，想沉淀成 skill。
- 你需要定时检查、后台研究、自动报告或消息投递。
- 你愿意认真治理密钥、工具权限、消息入口和日志。

不适合：

- 只是偶尔问答。
- 只想一次性改一个小文件。
- 不准备管理 API key（API 密钥）、bot token（机器人凭据）、allowlist（允许名单）、backend（执行后端）和 toolsets（工具集）。
- 不清楚自动化失败后谁负责处理。
- 团队没有能力审查外部 skills、MCP 和脚本。

## 学习顺序

第一次学习 Hermes，顺序应该是：

```text
定位 → 安装 → provider（模型供应商）→ first chat（首次对话）
     → session resume（恢复会话）→ config（配置）→ tools（工具）
     → memory（记忆）→ skills（技能）→ gateway（消息网关）→ automation（自动化）
```

不要从 Gateway、cron（定时任务）或 RL training（强化学习训练）开始——那会把最容易出错的权限、会话和自动化问题堆在一起。先把基础链路跑通，再往上加。

## 官方资料

- [Hermes Agent Docs](https://hermes-agent.nousresearch.com/docs)（功能、配置、provider、Gateway 全部以此为准）
- [Hermes Agent GitHub](https://github.com/NousResearch/hermes-agent)（README、源码、issue 跟踪）
- [llms.txt](https://hermes-agent.nousresearch.com/docs/llms.txt)（官方文档索引，方便快速定位）
- [agentskills.io](https://agentskills.io)（Hermes skills 兼容的标准与社区）

## 下一步

<Cards>
  <Card title="先跑通稳定闭环" description="理解完定位后，下一步是先让基础链路可靠。" href="/docs/hermes/understanding/02-first-stable-loop" />
  <Card title="快速上手" description="想直接操作，回到官方快速上手页。" href="/docs/hermes/official/00-getting-started/quickstart" />
</Cards>
