跳转至

1. 五大支柱心智模型

这一章是整本书最重要的 15 分钟

读懂这五个词,后面所有章节都能对号入座。读不懂,后面章节会变成散落的知识碎片。

全景图

graph TB
    subgraph "Hermes 的五根柱子"
        P1[🧠 自改进闭环<br/>Learning Loop]
        P2[🕸️ 多栖身体<br/>Multi-Platform Body]
        P3[🌍 跨主机大脑<br/>Cross-Host Brain]
        P4[📅 计划与代理<br/>Plan & Delegate]
        P5[🔌 开放可插拔<br/>Open & Pluggable]
    end

    P1 -.- |越用越懂你| P3
    P2 -.- |哪里都能聊| P3
    P4 -.- |无人值守也干活| P2
    P5 -.- |不锁死在任何家| P1

    style P1 fill:#FFD700,stroke:#333,color:#000
    style P2 fill:#87CEEB,stroke:#333,color:#000
    style P3 fill:#98FB98,stroke:#333,color:#000
    style P4 fill:#FFA07A,stroke:#333,color:#000
    style P5 fill:#DDA0DD,stroke:#333,color:#000

记住这五个词 —— 闭环 · 身体 · 大脑 · 计划 · 可插拔。下面逐个拆解。


支柱一 · 🧠 自改进闭环(Learning Loop)

一句话:Hermes 从每次对话里抽取经验,转成下次能用的工具。

闭环的四个部件

graph LR
    A[每次对话<br/>Session] -->|提取技能| B[Skills<br/>技能库]
    A -->|沉淀事实| C[Memory<br/>记忆]
    A -->|FTS5 索引| D[Session Search<br/>会话搜索]
    A -->|对话辩证建模| E[Honcho<br/>用户画像]

    B -->|下次触发| F[下一次对话]
    C -->|注入系统提示| F
    D -->|语义回溯| F
    E -->|理解用户| F

    F --> A

    style A fill:#FFD700,stroke:#333,color:#000
    style F fill:#FFD700,stroke:#333,color:#000
部件 存什么 存在哪 怎么用
Skills 可复用的「手艺」(prompt + 上下文模板) ~/.hermes/skills/ /<skill-name> 主动触发,或 agent 自己调用
Memory 跨会话事实(你是谁、偏好、约定) ~/.hermes/memory/MEMORY.md 自动注入系统提示
Session Search 所有历史对话的全文索引 ~/.hermes/sessions.db (SQLite FTS5) session_search 工具;agent 主动回溯
Honcho 对用户的辩证模型(谁 / 目标 / 风格) Honcho 服务 系统提示附加用户画像段

它为什么是闭环

不是「保存记录」那么简单

很多产品都有「记忆」功能 —— 但 Hermes 的关键词是使用中改进:

  • Agent 完成复杂任务后,会主动提议把过程总结成新技能
  • 技能在被调用时也会被细化(加例外、加边界条件、加更优方案)
  • 记忆有定期"推一推"机制(periodic nudges),提醒 agent 保持存档新鲜

→ 这是闭环。不是单向写入,而是在写和读之间反复打磨。

这条闭环跟你有什么关系

  • 写代码时,你教它一次你们团队的 PR 规范 → 下次它自己按规范写
  • 读论文时,你让它总结一篇 → 它记住你爱的总结格式,以后同类请求自动套用
  • 每周一次例行任务 → 用得多了它能熟练到几乎不用你指挥

支柱二 · 🕸️ 多栖身体(Multi-Platform Body)

一句话:同一个 Hermes 大脑,长在 16+ 个身体里。你在哪就在哪和它说话。

身体形态

graph TB
    subgraph "Hermes Gateway 进程"
        G[网关调度器]
    end

    subgraph "消息身体"
        T[Telegram]
        D[Discord]
        S[Slack]
        W[WhatsApp]
        SG[Signal]
        E[Email]
        HA[Home Assistant]
        M[Matrix]
        MM[Mattermost]
        BB[BlueBubbles iMessage]
        WX[微信 Weixin]
        DT[钉钉]
        FS[飞书]
        WC[企业微信 WeCom]
        QQ[QQBot]
        SMS[SMS]
        WH[Webhook]
    end

    subgraph "CLI 身体"
        C[终端 TUI]
    end

    subgraph "其他身体"
        A[ACP: VS Code / Zed / JetBrains]
        WD[本地 Web Dashboard]
    end

    G --> T & D & S & W & SG & E & HA & M & MM & BB & WX & DT & FS & WC & QQ & SMS & WH
    C -.独立运行.-> G
    A -.独立运行.-> G
    WD -.浏览器侧.-> G

所有身体共享: - 同一套 slash 命令(/model/personality/memory/compress...) - 同一个会话存储(跨平台对话连续性 —— 在 Telegram 里聊的下午在 Discord 接着聊) - 同一套工具(网关默认禁用一些高危工具,但可配置)

并非完全对等

CLI 是主体,网关是投影。一些命令 CLI 独有(比如 /platformsCtrl+C 中断),一些网关独有(比如 /sethome 设置工作目录)。详细区别见 CLI vs 消息快速参考

这跟你有什么关系

  • 早上通勤:地铁上 Telegram 发一句「帮我跑一下 git pull 和测试」
  • 中午吃饭:Discord 服务器里让 bot 查一下昨晚的部署日志
  • 下午开会:Slack 里问 bot 帮总结一份会议纪要
  • 晚上回家:CLI 里接着上午未完的对话,agent 记得之前的所有上下文

一个 agent,全天候跟你一起


支柱三 · 🌍 跨主机大脑(Cross-Host Brain)

一句话:agent 不绑定运行在任何一台机器上。本地、Docker、SSH、serverless、集群 —— 挑最合适的。

六种终端后端(Terminal Backends)

graph TB
    HA[Hermes Agent] --> TB[Terminal Backend 抽象]
    TB --> L[local<br/>本机直接跑]
    TB --> D[docker<br/>本机容器隔离]
    TB --> S[ssh<br/>远程主机]
    TB --> DA[daytona<br/>serverless 休眠唤醒]
    TB --> M[modal<br/>serverless GPU 可选]
    TB --> SI[singularity<br/>HPC 集群]

    style L fill:#E0F7FA,color:#000
    style D fill:#FFF3E0,color:#000
    style S fill:#F3E5F5,color:#000
    style DA fill:#E8F5E9,color:#000
    style M fill:#FFEBEE,color:#000
    style SI fill:#ECEFF1,color:#000
后端 何时用 成本
local 默认 · 你自己的笔电 免费
docker 想让 agent 改东西但又怕弄脏本机 免费(要装 Docker)
ssh agent 跑在 $5 VPS 上 VPS 费用
daytona 想要 serverless 持久化环境 —— 闲时休眠,用时秒唤醒 闲时接近免费
modal 需要 GPU/大算力临时任务 按用量付费
singularity HPC 集群(学术环境常见) 集群使用费

为什么这是杀手锏

Daytona 后端的魔力

  • agent 在 Daytona 上有完整环境持久化(装的依赖、写的文件、git 状态都在)
  • 闲置时休眠,不收费
  • 你发消息时自动唤醒,1-2 秒重新可用
  • 成本趋近零,能力保持在位

这意味着你可以低成本拥有一个一直在线的私人助手,不需要维护 VPS、不需要担心账单。

这跟你有什么关系

你可以选择你当下最省力的位置来跑 agent: - 在家 → local - 出差 → Telegram + Daytona 云端 agent - 重型任务 → 临时跑 Modal GPU

agent 跟你走,不跟机器走


支柱四 · 📅 计划与代理(Plan & Delegate)

一句话:Hermes 不需要你一直盯着。它能定时干活,能把大任务拆给子 agent 并行跑。

两个能力

graph TB
    subgraph "⏰ 定时调度 (cron)"
        C1[每天 8 点] --> C2[生成昨日 GitHub 报告]
        C3[每周一] --> C4[审计上周 PR]
        C5[每小时] --> C6[检查监控异常]
    end

    subgraph "🔀 子 agent 代理 (delegate)"
        D1[主 agent] --> D2[子 agent A · 看前端]
        D1 --> D3[子 agent B · 看后端]
        D1 --> D4[子 agent C · 跑测试]
        D2 & D3 & D4 --> D5[主 agent 汇总]
    end

Cron:定时任务

# 每天早 8 点运行,结果推到 Telegram
hermes cron add --at "08:00" --deliver telegram \
    "帮我总结昨天的 GitHub 活动"

# 每周一审计上周 PR
hermes cron add --at "Mon 09:00" --deliver discord \
    "列出上周我们仓库合并的所有 PR"

# 管理
hermes cron list
hermes cron remove <id>

全部自然语言任务,全部可被任意平台接收

Delegate:子 agent

主 agent 通过 delegate 工具 spawn 子 agent: - 每个子 agent 独立上下文(不占主 agent 的 token) - 并行执行(多个子 agent 同时跑) - 子 agent 用完即销毁,结果以总结形式回到主 agent

为什么这很重要

没有 delegate 时,agent 做大任务会不断把中间结果塞进自己的 context,context 很快撑满。有了 delegate,主 agent 可以做「指挥官」,把脏活累活外包,自己始终保持清醒的高层视野。

这跟你有什么关系

  • 无人值守场景:早报、监控、定期任务 → 不需要你在场
  • 复杂场景:「审计整个仓库的安全问题」→ agent 自己拆成 10 个子任务并行跑

支柱五 · 🔌 开放可插拔(Open & Pluggable)

一句话:模型、技能、工具、平台 —— 每一样都不锁死。

四个可插拔点

graph TB
    subgraph "Hermes"
        H[agent 核心]
    end

    subgraph "可插拔 1 · 模型层"
        M1[Nous Portal]
        M2[OpenRouter 200+]
        M3[OpenAI / Anthropic]
        M4[xAI Grok / Xiaomi MiMo]
        M5[z.ai / Kimi / MiniMax]
        M6[NVIDIA NIM / Ollama Cloud]
        M7[Google Gemini CLI OAuth]
        M8[自托管端点]
    end

    subgraph "可插拔 2 · 技能层"
        S1[Skills Hub<br/>agentskills.io]
        S2[自写技能]
        S3[OpenClaw 导入]
    end

    subgraph "可插拔 3 · 工具层"
        T1[40+ 内置工具]
        T2[MCP 服务器]
        T3[Nous Tool Gateway<br/>订阅即用]
        T4[自写工具 / 插件]
    end

    subgraph "可插拔 4 · 平台层"
        P1[16+ 消息平台]
        P2[ACP IDE]
        P3[本地 Web Dashboard]
        P4[自写平台适配器]
    end

    H --> M1 & M2 & M3 & M4 & M5 & M6 & M7 & M8
    H --> S1 & S2 & S3
    H --> T1 & T2 & T3 & T4
    H --> P1 & P2 & P3 & P4

最关键的:MCP(Model Context Protocol)

Hermes 是 MCP 客户端(~1050 行 tools/mcp_tool.py),可以连接任何符合 MCP 协议的服务器 —— GitHub、Notion、Google Drive、Linear、Slack(官方)、Postgres、Stripe 等等。

你装一个 MCP 服务器,Hermes 就多一组工具可调。这是 agent 生态最重要的开放协议。

这跟你有什么关系

  • 今天喜欢 Claude,明天想试 GPT-5:一行 hermes model 切换,对话历史不丢
  • 社区有个好技能:Skills Hub 一键安装
  • 公司内部系统:用 MCP 协议包一层,Hermes 就能用
  • 想贡献一个新平台适配器(比如新公司的 IM):照着 gateway/platforms/ADDING_A_PLATFORM.md

你永远不会被锁死在任何一家的生态里


把五根柱子串起来

思考:如果把 Hermes 总结成一句话?

读完这章你应该能自己说出来。试着想 30 秒再往下看。


我的答案

Hermes 是一个会自改进的、跟你走的、跑在哪里都行的、能无人值守干活的、不锁死在任何生态里的 AI agent。

或者更短:一个长在所有地方、连上所有东西、越用越懂你的 agent

记忆锚点

把这五个词背下来,后面读任何章节时在脑子里回一下对应哪根柱子:

柱子 关键词 最小触发记忆的问题
🧠 闭环 skill / memory / session search / honcho 「agent 会不会变聪明?」
🕸️ 身体 cli / gateway / 13 platforms 「能在哪跟它说话?」
🌍 大脑 local / docker / ssh / daytona / modal 「agent 跑在哪?」
📅 计划 cron / delegate / subagent 「无人值守?并行?」
🔌 插拔 model / mcp / skills / platform 「能不能换 / 扩展?」

心智模型建好。下一章上手装机。

下一章:2. 安装 →