AI 程式設計教程中文版
從原理到實戰

Hermes Agent 從原理到實戰

面向中文開發者,用 8 篇文章建立 Hermes Agent 的定位、穩定閉環、配置、工具、記憶、技能、訊息閘道器和自動化邊界。

Hermes 的難點不在於命令多,而在於能力面太寬。它不是「裝了一個 AI 命令列工具」,而是同時把會話、工具執行、長期記憶、技能學習、訊息平臺接入和後臺排程六件事壓在了同一個程序裡。任何一項配錯,下游都會被放大。

理解篇按「先建立心智模型,再逐層啟用」的順序組織:先把 Hermes 是什麼、和別的 AI 工具有什麼差別說清楚,再依次理解會話、執行、記憶、訊息、自動化,最後才談把它接入團隊工作流。

先給結論:不要把 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 列表)。模型這邊對接 Nous Portal、OpenRouter、OpenAI、Anthropic、Google 或任何 OpenAI 相容端點。聊天入口(Gateway)覆蓋 Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost、Email、SMS、DingTalk(釘釘)、Feishu(飛書)、WeCom(企業微信)、Microsoft Teams 等 15+ 平臺一站接入。

這不是「功能很多」的簡單堆疊,而是四層疊加的系統——下層穩了,上層才有意義;下層錯了,上層全白搭:

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 的三條實線箭頭——學習時不要跨層跳。這也是為什麼本系列沒有按官方目錄從頭機械翻譯:底層不穩,上層全部白學

學習地圖

推薦順序

不要把這 8 篇當連續小說讀。按你當前要做的事挑路徑:

  • 只想試一下,能跑就行 → 01 → 02 → 03 → 04,把本機閉環跑穩就夠了。剩下 4 篇等真要上專案再回來。
  • 想做長期個人助手 → 在上一條基礎上繼續讀 05 → 06,先把"什麼該記、什麼該忘、什麼該沉澱成技能"想清楚,否則 Hermes 越用越髒。
  • 準備接到聊天平臺或後臺跑任務 → 再讀 07 → 08,重點看 allowlist(允許名單)、使用者授權和後臺許可權邊界。這兩篇沒讀完就上線,等於把命令執行權交給陌生人。

每篇文章解決的具體問題

文章你應該帶走的能力
01 · Hermes 是什麼能向同事解釋 Hermes 為什麼不是普通聊天 CLI,也不是 IDE 編碼助理
02 · 穩定閉環能跑通安裝、連上模型、對話續上、session 恢復和基礎上下文
03 · 配置與 Provider能解釋 config.yaml.envauth.jsonprofileSOUL.md 各自的作用,能讀懂模型路由順序
04 · 工具與後端能判斷當前 toolset 是不是開得太寬,以及命令實際在哪個 backend(本機 / Docker / SSH / Daytona)執行
05 · 記憶與召回能區分「長期事實記憶 / 當前會話 / 歷史檢索 / 外部 memory provider」四種機制各自解決什麼問題
06 · Skills 系統能判斷一個流程是否值得做成 skill,能審查外部 skill 的金鑰和指令碼風險
07 · 訊息閘道器能解釋一條訊息從平臺到 Hermes 的完整路徑:使用者 → 平臺授權 → Gateway → session 路由 → 工具執行 → 回覆
08 · 自動化邊界能在啟用 cron、delegation、hooks、persistent goals 前列出可控/不可控邊界,決定哪一項暫時不該開

這組文章不替代官方參考,而是把官方頁面翻譯成工程判斷。真正上專案時,仍要回到官方文件和上游原始碼核對命令、配置鍵和版本行為。

和官方教程的分工

官方教程中文版回答“怎麼配置、用哪個命令、功能入口在哪裡”。理解篇回答“為什麼這麼用、什麼時候不要用、風險在哪裡”。

如果你正在排錯,先查 官方教程中文版。如果你正在設計自己的 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 在你睡著時替你執行什麼操作。這些問題沒答案前,能力越多越危險。

官方資料

下一篇

本頁目錄