Hermes Agent:實務工作者參考指南(2026)
# Hermes Agent實務工作者參考指南。這款由Nous Research開源、能自我改進的AI代理涵蓋供應商驗證、設定檔案、技能系統,以及如何將其作為跨平台訊息閘道執行。
TL;DR:Hermes Agent 是 Nous Research 推出的開放原始碼自我改進 AI 代理程式。它能以 CLI 運作,也能作為多平台訊息 gateway;會將持久身分與長期記憶儲存在磁碟上,彙整可隨使用持續改進的 skill,並支援任何與 OpenAI 相容的 LLM 供應商——包括 Nous Portal、OpenRouter、Anthropic、GitHub Copilot、z.ai、Kimi、MiniMax、DeepSeek、Qwen Cloud、Hugging Face、Google、xAI/SuperGrok,或您自行託管的端點。1219目前版本為 v0.21.5(標籤
v2026.9.24,發布於2026年9月24日),是 v0.21 系列的彙整修補版本;v0.21.5 的新功能介紹了變更內容,其後的版本章節則依時間由新至舊排列。52對多數新使用者而言,最棘手的部分是供應商驗證:在標籤v2026.9.24中,Hermes 的靜態選擇器清單內建39個供應商,並會根據38個隨附的供應商外掛程式自動擴充該清單,另支援自訂端點與3種不同的驗證路徑(.env中的 API 金鑰、透過hermes model進行 OAuth,或在config.yaml中設定自訂端點)。53首先應掌握的就是驗證模型——後續所有行為都取決於最終解析出的供應商。
Hermes Agent 是完整的代理程式執行環境,而非單純的聊天包裝器。它能讀取檔案系統、在沙箱後端執行命令、擷取網頁內容、建立子代理程式、執行排程 cron 工作,並透過單一 gateway 程序與 Telegram/Discord/Slack/WhatsApp/Signal/Email 通訊,還能從經驗中建立自己的 skill。1CLI 是建構於 run_agent.py 對話迴圈之上的終端使用者介面;gateway 則是長時間執行的程序,會將各訊息平台傳來的訊息導入同一個對話迴圈。3
Hermes 的入門使用者與專家之間,差別就在於能否掌握5大系統。精通這些系統後,Hermes 就能成為事半功倍的利器:
- 供應商解析:驗證流程如何對應至 API 呼叫
- 設定階層:
config.yaml+.env+auth.json+SOUL.md+AGENTS.md - 工具與 toolset 系統:代理程式能執行哪些操作,以及各平台如何加以限制
- Skills 系統:代理程式自行建立並持續演進的程序性記憶
- Gateway + cron + profiles:讓 Hermes 在您的日常環境中運作,而不僅限於您當下所在之處
重點摘要
- 供應商驗證有3種路徑,而非只有1種。在
.env中設定 API 金鑰、透過hermes model/hermes auth進行 OAuth,或在config.yaml中設定自訂端點。請選擇與供應商相符的路徑,而不是最熟悉的路徑。 - 切換供應商只需一行命令。
hermes model會以互動方式引導您設定每個受支援的供應商,包括 OAuth 登入;/model provider:model則能在不中斷歷史記錄的情況下,於工作階段中途切換模型。2 - 使用者可編輯的設定介面只有2個檔案。
~/.hermes/config.yaml儲存設定,~/.hermes/.env儲存機密資料。auth.json、SOUL.md、MEMORY.md與skills/由 Hermes 直接管理——您可以手動編輯SOUL.md,其餘項目則由代理程式自行操作。4 - Hermes 是 OpenClaw 的後繼者。若要進行移轉,
hermes claw migrate可自動匯入30多個類別的狀態資料。5 - 輔助工作預設會沿用主要模型。視覺處理、核准分類、壓縮與工作階段標題會以獨立的「輔助」LLM 呼叫執行;在此標籤版本中,
auto會將每項工作都導向主要聊天模型——無須額外設定,但若採用昂貴的推理模型,這些附帶工作將產生可觀的成本。必要時,可將個別auxiliary.<task>欄位指向價格低廉且速度快的模型。434
以下每個章節均以 hermes-agent.nousresearch.com/docs 的上游文件及 github.com/NousResearch/hermes-agent 的原始碼樹為依據。每項事實陳述皆附有註腳,指向其具體來源頁面。
選擇您的閱讀路徑
| 您的需求 | 前往此處 |
|---|---|
| 安裝 Hermes | 安裝——單行安裝程式或手動步驟 |
| 登入供應商 | 驗證與供應商——您要找的章節 |
| 在工作階段中途切換模型 | 請參閱hermes auth 命令及自訂與自行託管的端點,以瞭解 /model 語法 |
| 執行本機 LLM | 自訂與自行託管的端點——Ollama、vLLM、SGLang、llama.cpp、LM Studio |
| 連接訊息平台 | 訊息 Gateway——Telegram、Discord、Slack、WhatsApp、Signal、Google Chat、LINE、SimpleX Chat、ntfy、Buzz(文件比較表中共列出28個) |
| 撰寫或安裝 skill | Skills 系統——漸進式揭露 + skill hub |
| 每項 CLI 命令的深入參考資料 | 繼續閱讀——也可直接前往 CLI 命令 |
Hermes 的運作方式:心智模型
Hermes 的架構以單一對話迴圈為核心,任何進入點皆可呼叫。這些進入點包括 CLI(cli.py)、訊息 gateway(gateway/run.py)、用於編輯器整合的 ACP 轉接器、批次執行器,以及 API 伺服器。3它們最終都會呼叫 run_agent.py 中的 AIAgent.run_conversation(),其運作流程如下:
- 透過
agent/prompt_builder.py,根據SOUL.md、MEMORY.md、USER.md、skills、context 檔案及工具指引建立系統提示詞(2026年9月的模組拆分已將其移至新的agent/套件)3 - 透過
runtime_provider.py解析執行階段 provider——此步驟會選擇驗證方式、基礎 URL 與 API 模式3 - 使用以下 3 種 API 模式之一呼叫 provider:
chat_completions、codex_responses或anthropic_messages3 - 透過
model_tools.py與中央工具登錄檔(tools/registry.py),分派傳回的所有工具呼叫3 - 持續迴圈,直到模型產生最終回應,再將工作階段保存至支援 FTS5 的 SQLite3
理解此迴圈至關重要,因為 personalities、memory、skills、compression、fallback 等所有功能,都會銜接其中一個階段。閱讀某個設定鍵並想知道它的作用時,答案通常是:「它是用來調整上述迴圈第 1、2、3 或 4 階段的控制項。」
與平台無關的核心。單一 AIAgent 類別同時服務於 CLI、gateway、ACP、batch 與 API 伺服器。平台差異存在於進入點,而非 agent 本身。3因此,相同的斜線命令能在終端機和 Telegram 中運作——它們皆由 hermes_cli/commands.py 中共用的 COMMAND_REGISTRY 分派。6
目錄結構就是系統。Hermes 將所有內容儲存在 ~/.hermes/ 下(非預設 profiles 則使用 $HERMES_HOME):4
~/.hermes/
├── config.yaml # Settings (model, terminal, TTS, compression, etc.)
├── .env # API keys and secrets
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
上述每個檔案各司其職,彼此互不重疊。如果您想知道「Hermes 將 X 儲存在哪裡」,答案必在其中。
v0.21.5 的新功能(9月24日彙整版)
Hermes Agent v0.21.5(標籤 v2026.9.24,2026年9月24日)是目前的版本,也是 v0.21.x 系列第 3 個精簡彙整版本:「此標籤將自 v0.21.4 以來合併的約 460 個 PR 彙整為穩定的標記版本,供下游使用者採用」。精選版本說明再次延後至 v0.22.0。以下是已在該標籤原始碼中確認、與操作人員相關的變更:5253
- Hindsight memory 已移出核心程式碼樹。內建的 Hindsight provider 與
hermes-agent[hindsight]pip 額外套件皆已移除;Hindsight 現改由 Vectorize 維護,並從 plugin 目錄安裝;版本說明並未提及此事。若設定中包含memory.provider: hindsight,hermes update會將目錄中的 plugin 安裝到每個指定該 provider 的 profile 主目錄;若仍未安裝,首次啟動 agent 時也會安裝,除非security.allow_lazy_installs設為false(此時請執行hermes plugins install hindsight)。設定、.env鍵值及 memory 資料均不受影響。請參閱外部 Memory Provider。 gateway.multiplex_profiles: false已停用。gateway 會直接將其改寫為true,並顯示一次性的方框提示。若具名 profile 必須保有自己的 gateway,請在其config.yaml中設定gateway.standalone: true;若要讓某個受服務的 profile 離線,現在可使用hermes -p <name> gateway stop將其暫停,而不會停止主機。請參閱訊息 Gateway。- Nous 與 OpenRouter 選擇器中的新模型:GPT-6 Sol、GPT-6 Luna(兩者皆提供
-pro變體),以及 Claude Opus 5.5。 - Plugin 相容性維持不變:
plugins.allow_deprecated_imports: true仍可正常運作。
更新方式:執行 hermes update 或安裝程式單行命令;Docker 與 Hermes Cloud 映像檔皆以 nousresearch/hermes-agent:v2026.9.24 為基礎建置。52
v0.21.4 的新功能(第二個彙整修補版本)
Hermes Agent v0.21.4(標籤 v2026.9.21,2026年9月21日)是 v0.21.x 系列第二個刻意精簡的彙整版本。其原文定位為:「修補版本。此標籤將自 v0.21.3 以來合併的約 1,800 個 PR 彙整為穩定的標記版本,供下游使用者(Docker 映像檔、Hermes Cloud、託管部署)使用。」自 v0.21.3 以來的範圍包括:「5,071 個非合併提交」、橫跨「5,169 個變更檔案」、「1,812 個已合併 PR」,以及「2,116 個已關閉議題」。若按提交數計算,這是專案史上標籤間規模第二大的區間,僅次於 v0.21.1 的 5,139 個;若按已合併 PR 計算,則是歷來最大的一次。經過編纂的完整內容再次延後發布,原文為:「此區間的完整編纂版發行說明將隨 v0.22.0 推出,並記錄自 v0.21.0 起的所有內容」,以及「此區間內沒有任何內容遭到略過。」說明中確實列出了尚未記錄的項目,以下每一項均已在該標籤的原始碼中查核;若某項內容變更了本指南的既有章節,相關連結會直接列於該項之中。5051
- 每台主機僅有一個 gateway,Desktop 會附加至現有程序,而非重新產生程序。 規則是每台主機、每個作業系統使用者只能有一個
hermes serve與一個hermes gateway run,兩者各自多工處理所有 profile——此規則由新的全主機單例層強制執行:勝出程序在其存續期間持有主機鎖,另有一筆攜帶(pid, createTime)的會合記錄,讓第二次呼叫能確認擁有者確實是同一個仍在執行的程序,並附加至該程序,而非繫結第二個連接埠。系統必須證實記錄已失效,絕不憑空假設;Desktop 應用程式也從自身一側採用相同概念,附加至執行中的主機後端,而非產生第二個後端。Messaging Gateway 詳述其運作機制。51 - 連接器整合為一項由後端擁有的操作,並共用同一張設定卡片。 一次
manage_connectionstool 呼叫會在後端驅動純資料的連線狀態機,而 Desktop、TUI 與 CLI 會將其呈現為相同的設定卡片:每項缺少的憑證各有一個欄位;在所有必填欄位都有文字之前,卡片的動作按鈕會維持停用。請參閱 Nous 免費方案小節。51 --format stream-json:機器可讀的單次執行。hermes chat -q ... --format stream-json會為 CI 執行器與協調器在 stdout 的每一行輸出一個 JSON 物件:先是system/init事件,接著是text增量/tool_use/tool_result事件,最後是一個終止用的result封套,其中包含結束代碼、最終文字及 token 統計資料。診斷資訊與 session ID 會留在 stderr;每個事件的 tool 輸出上限為 5,000 個字元。此旗標隱含--quiet,且必須搭配-q或--query-file(若未提供則以代碼 2 結束),也不能與--tui併用。hermes chat選項表 已列入此旗標。51skills.auto_load將 skill 固定載入每個 session。 列於config.yaml中skills.auto_load之下的名稱,會在每個新 session 中完整載入——無論是 CLI、TUI、gateway、cron 或 API——並在首次建立 prompt 時解析一次。Skills System 新增了「固定載入的 Skills」小節。51- 針對未授權 DM 的
decline選項。unauthorized_dm_behavior在pair與ignore之外新增第三個值:decline會傳送一次禮貌的拒絕訊息,之後對該傳送者保持沉默 24 小時。請參閱 User Authorization & Pairing。51 mcp.discovery_concurrency限制 MCP 探索連線數。 預設值為 4,0表示不設上限;所有已設定的伺服器仍會連線,只是不再同時湧入。請參閱 MCP Integration。51session_search新增時間範圍與召回重試。 探索格式接受after/before範圍(ISO 格式或如7d的相對時間長度);若多字詞查詢結果為零,系統會改以符合任一字詞的方式重試,而非採用 FTS5 預設的所有字詞 AND 邏輯。請參閱 Session Search。51hermes sessions set-journal-mode delete|wal:離線 journal 轉換工具。 這是供使用者自行處理state.db卡在錯誤 SQLite journal 模式的途徑——以往必須手動執行PRAGMA journal_mode=DELETE。請先停止 gateway、dashboard 與所有 CLI:只要任何外部程序仍持有資料庫,工具便會拒絕執行;它不會等待開啟者退出,而會直接切換模式,並在完成後驗證 SQLite 標頭位元組。Windows 不支援持有者掃描,因此必須先自行停止所有 Hermes 程序,再傳入--force,否則工具會拒絕執行。hermes doctor現在也會引導您使用此指令。Top-Level Commands 中的hermes sessions列已收錄此功能。51- Desktop:字型設定、一鍵更新引擎,以及解除安裝 plugin。 Settings 新增字型家族欄位,並依 profile 儲存於
desktop.font_family——它會覆寫整個聊天與 UI 中佈景主題的無襯線字型;建議清單優先列出無障礙字型(OpenDyslexic、Atkinson Hyperlegible、Lexend),留空則由佈景主題決定。當受管理的本機模型執行環境有更新可用時,會顯示「更新引擎」按鈕;若更新失敗,按鈕仍會保留,以便直接重試。此外,Plugins 中心現在可在確認對話框後解除安裝 plugin。51 - 影片目錄:LTX 2.5 與 Kling O3。 FAL 影片 plugin 新增
ltx-2.5(Lightricks 的開放原始碼音訊影片模型:原生音訊、最長 20 秒/4K 的圖片轉影片、攝影機運動預設,以及平價方案——fal 會拒絕解析度為 1440p/2160p 且超過 10 秒的影片)與kling-o3(Kuaishou 的前沿模型系列,屬於高階方案:支援多鏡頭原生敘事、選用音訊,以及 3 至 15 秒片長)。51 - plugin 目錄成為隨附的目錄與網站。 儲存庫中的
plugin-catalog/資料夾從v2026.9.14的 9 個項目增加至此標籤的 228 個——每個 plugin 都有一份經過審查的 YAML,並固定於確切的 commit SHA——文件網站現在也會為每個 plugin 與每位作者建立頁面,呈現取自固定 commit 的 plugin README。發行說明中列出的 10 個社群 plugin,在該標籤中全都已收錄於目錄。Plugin System 詳述相關資訊。51 - 另有大量修正,涵蓋 profile/多工隔離、cron、kanban、Desktop 與
state.db;發行說明僅將其列為一個類別,這些修正的完整編纂記錄將留待 v0.22.0 撰寫。50
plugin 相容性回復仍未在此區間落地。 COMPAT_MANIFEST.md、compat_manifest.json 與相容性 shim 在 v2026.9.21 中全都仍然存在;此區間對 hermes_cli/plugin_compat.py 的唯一變更,是加入全程序共用的掃描快取(多工 gateway 會為每個提供服務的 profile 探索一次 plugin,而在啟動路徑上重新剖析每個 plugin 的原始碼,每個 profile 約需耗時 0.4 秒),以及修正 Windows 上 POSIX 格式的命中路徑(#112576)——日期閘門與字面布林值的緊急出口均未變更,因此 plugins.allow_deprecated_imports: true 仍可讓受影響的 plugin 繼續載入。Plugin System 中的相容性說明框記載了目前狀態。42
更新方式維持不變:git 安裝使用 hermes update,全新安裝則使用 shell 安裝程式;Docker 與 Hermes Cloud 映像檔均從此標籤建置(nousresearch/hermes-agent:v2026.9.21)。50
v0.21.3 的新功能(9月14日修補版本)
Hermes Agent v0.21.3(標籤 v2026.9.14,2026年9月14日)涵蓋 main 上另外 3 天的變更,但發行說明僅列出 2 個項目。發布此版本是因為 Cloud agent 會自動更新至最新的發行標籤,而修復遠端 gateway 登入問題後,才能順利連線至這些 agent。(1)遠端 dashboard session 不再因密集的重新整理請求而遭撤銷:gateway 上的兩條重新整理路徑(cookie 閘門與 Desktop 的原生 bearer 路由)現在會將攜帶相同輪替 refresh token 的並行請求合併為單次執行。因此,Desktop 喚醒時瞬間湧現的請求,不會再把已輪替的 token 重送至 Portal 的重複使用偵測機制,進而撤銷整個 session——重新整理作業也已移出事件迴圈,所以速度緩慢的身分提供者不再會凍結 /api/status。(2)長時間執行的程序不再建立重複的 state.db 寫入控制代碼:gateway、dashboard/Desktop 後端、ACP 與 CLI 讀取端會以唯讀方式附加,而同一程序內的寫入端則共用登錄中的控制代碼。此區間統計資料為:橫跨「2,642 個變更檔案」的「1,036 個非合併提交」,以及「338 個已合併 PR」。其餘內容均刻意延後記錄:發行說明列出了目前未記錄的項目(所有模型選擇器中的推理強度選項、OpenRouter OAuth PKCE、HEIF/HEIC/AVIF 解碼、一波 FAL 目錄更新、Slack 貼上的表格與 Agent Sessions API、跨 VM 檔案系統上的 state.db WAL 拒絕機制等),並承諾提供完整的編纂記錄,原文為:「此區間的完整編纂版發行說明將隨 v0.22.0 推出,並記錄自 v0.21.0 起的所有內容」,以及「此區間內沒有任何內容遭到略過。」49
plugin 相容性的截止日期也如期到來。 v0.21.1 宣布的 2026-09-14 移除措施,是以日期閘門的形式在已發布的程式碼中生效,而非以程式碼回復的形式實施:在標籤 v2026.9.14 中,hermes_cli/plugin_compat.py 包含 COMPAT_REMOVAL_DATE = 2026-09-14,且 removal_in_effect() 會從該日期起傳回 true(若 manifest 檔案消失,則立即生效),因此受影響的外部 plugin 現在會在載入時遭停用,並顯示紅色通知。尚未發生的是:真正刪除舊匯入路徑的回復。COMPAT_MANIFEST.md、compat_manifest.json 與相容性 shim 在該標籤中全都仍然存在——截至9月22日,在 v2026.9.21 與 main 上也依然存在——因此 plugins.allow_deprecated_imports: true 仍可作為緊急出口:只要允許載入器繼續執行,舊路徑仍可解析。另有 2 個容易踩雷之處:此鍵必須是字面 YAML 布林值(程式碼只接受布林值 True;依原始碼註解「Literal boolean only」,如 "true" 或 "false" 的引號字串都會被視為未設定),而且一旦回復落地,這個出口便會失效,因為相關路徑本身將會消失。Plugin System 中的相容性說明框記載了目前狀態。4249
v0.21.2 的新功能(state.db 修補版本)
Hermes Agent v0.21.2(標籤 v2026.9.11,2026年9月11日)的首要任務,是修復 v0.21.0 所造成的問題。版本說明直言不諱:「v0.21.0 大幅重寫了工作階段儲存區的連線處理方式,卻導致部分安裝環境中的 state.db 變得脆弱:多個寫入端彼此取消對方的鎖定、正常的資料庫被誤報為損毀,以及單筆異常資料便會使 sessions list 完全失效。此版本徹底解決這類問題,並彙整 v0.21.1 發布後4天內合併至 main 的所有變更。」v0.21.1 的說明刻意保持精簡,本版則記錄了自身的主要亮點;這段期間共有「947筆非合併提交」,涉及「1,869個變更檔案」與「312筆已合併 PR」,由「140位貢獻者」共同完成。至於整個 v0.21.x 階段的精選紀錄,仍留待 v0.22.0 撰寫。48
- state.db 可靠性改善行動:6筆 PR,解決44項議題。 版本說明首先提供了維運建議,而您也應照此處理:若
state.db在 0.21.0 或 0.21.1 中損毀,請執行hermes doctor。它現在會分別指出結構性損毀與全文搜尋索引損毀,不再將所有問題統稱為「FTS 寫入損毀」;當重建不足以解決問題時,也會引導您使用hermes sessions recover --inspect-only(離線、非破壞性且鎖定至特定 profile;可回報標準資料表是否可讀,且不會建立輸出資料庫)。針對根本原因的修正,則移除了儲存區上的所有次要寫入端:profile gateway 原先每隔5秒便會將託管聊天室狀態寫入根層級的state.db,如今這項協調工作已移至專用的shared-state.db,因此 profile gateway 絕不會以可寫入模式開啟主要工作階段儲存區;dashboard 會優先以唯讀模式開啟;cron 的生命週期防護機制改經由受追蹤的連線登錄區處理,不再對運作中的資料庫直接呼叫原始open()(這會取消 gateway 的 POSIX 鎖定,堪稱導致 SQLite 損毀的經典做法);而doctor --fix若無法證明 checkpoint 安全,便會拒絕執行。除了處理寫入端之外:FTS 索引損毀如今只會降低搜尋功能,並於稍後重建索引,不再以全面封閉方式中止整個回合;單筆損毀資料也不會再使sessions list、匯出或深入分析功能失效(異常資料列會顯示為?,並附上指出工作階段的警告);工作階段絕不會繫結或讀取其他 profile 的資料庫;唯讀開啟也不再取得寫入鎖定,因此在忙碌 gateway 後方執行的一次性hermes,已從延遲4至20秒後失敗,縮短至0.01秒即可完成。48 - 強化多 profile 隔離。 自 v0.19.0 起,本指南便反覆提及專案所宣稱的能力:profile 路由可讓每個 profile 擁有「完全隔離的設定、skills、記憶與密鑰」。但截至 v0.21.2,這項承諾仍存在若干漏洞,如今均已修補:次要 profile 的機器人會繼承預設 profile 的允許清單、轉接器可能將憑證傳送至預設 profile 的主機、stdio MCP 伺服器會收到預設 profile 的 vault 密鑰、
MEDIA:傳送可能附加其他 profile 的.env/auth.json/state.db、webhook 與 Feishu 回呼可能偏離已路由的 profile,以及次要 profile 可能從個別處理程序的備忘快取中取得同層 profile 的 Nous bearer(#107609-#107630)。若您在同一個多工 gateway 下執行多個 profile,此版本才真正兌現隔離承諾。48 - 對密碼毫不知情的憑證 vault。 Agent 現在可透過 1Password、Bitwarden 或本機 Hermes vault,在瀏覽器中登入、付款及填寫地址,全程無須接觸任何密鑰;雙因素驗證碼則來自已儲存的驗證器金鑰(TOTP:base32 種子或
otpauth://totpURI;不接受計數器型 HOTP),或透過您的 UI 要求輸入。每個後端交給 Agent 的資料格式都相同——登入中繼資料,加上一個不透明且具命名空間的控制代碼(本機使用vault_,外部則使用op:、bw:),密碼只會在填入當下解析;外部管理工具在您為當次工作階段解鎖前會維持鎖定,而主密碼「絕不作為工具引數、絕不出現在 argv 中,也絕不持久保存」。此功能建立在 v0.19.0 的SecretSource基礎上;後者已將 provider API 金鑰移出純文字.env,如今 vault 也以同樣方式保護 Agent 的瀏覽憑證。48 - 經過精選並以 SHA 鎖定版本的 plugin 目錄。
hermes plugins browse會列出「精選 plugin 目錄中的每個項目」,hermes plugins search可查詢目錄,而hermes plugins install除了 Git URL 與owner/repo,也能解析目錄名稱。hermes plugins pack則以「宣告式、可共享的 plugin 組合」補全整套功能:透過單一hermes-pack.yaml將一組 plugins 鎖定至確切的提交 SHA;pack install會展開為一般的版本鎖定安裝,同時仍由各 plugin 分別取得功能同意;pack export可為目前的安裝項目輸出 pack;pack show則用於試執行。Plugin 系統的指令區塊已納入這些新子指令。48 - Nous 免費方案與引導式首次啟動。 全新安裝現在開箱即用,只需一項登入指令即可獲得免費推論與連接器;您也能在聊天內使用
/login,並透過tool_search搜尋連接器工具(Gmail、Linear、Notion 等)。桌面版的引導式首次啟動由HERMES_GUEST_ONBOARDING=1控制,而且只有字面值1才會啟用:桌面版自身的測試明確驗證,'true'、'0'與空值都不會開啟此功能;啟動判定也會寫入所產生後端的環境中,確保繼承而來的值絕不會滲入。請參閱 Nous Tool Gateway。48 - 桌面版後端大量重複啟動的問題已成過去。 Bot Mode 過去會在啟動時及每次 roster 更新時,為每個 profile 啟動或連線至一個後端;將游標停留在 Bots roster 上,還會為每一列啟動一個後端,而切換 profile 也可能重複啟動主要後端。這些問題均已在本次更新期間修復。48
更新方式維持不變:現有安裝請執行 hermes update,全新安裝則使用 shell 安裝程式。48
v0.21.1 的新功能(彙整修補程式)
Hermes Agent v0.21.1(標籤 v2026.9.7,2026年9月7日)刻意保持精簡:這是一個「修補版本」,旨在「彙整自 v0.21.0 以來目前 main 分支的內容,供標籤式部署與下游使用者採用」。內文列出此期間的統計資料——「4,364 個變更檔案中共有 5,139 個非合併提交(+601,014/-768,419)」以及「632 個已合併 PR」——隨後將完整說明留待日後補上:「此期間經整理的完整版本資訊將隨 v0.22.0 發布。」因此,這是專案歷來相鄰標籤之間規模最大的單一變更區間(先前沒有任何相鄰標籤區間超過 v2026.7.20..v2026.7.30 的 2,790 個非合併提交),卻搭配了最精簡的版本資訊。在 v0.22.0 補上經整理的正式紀錄之前,以下6個面向就是此標籤版本中會改變 Hermes 操作方式的重點,且每一項都已透過原始碼驗證。41
- 程式碼庫已完成拆分,而外掛程式相容性的倒數期限為9月14日。 2026年9月的拆分作業(PR #102117)將儲存庫中的大型模組拆成各司其職的檔案:新的
agent/套件容納對話迴圈的內部實作(共214個頂層模組與7個子套件;prompt_builder.py現位於agent/prompt_builder.py,而run_agent.py仍是AIAgent的所在之處);CLI 的子命令剖析器移至hermes_cli/subcommands/套件(61個模組);靜態CANONICAL_PROVIDERS清單從hermes_cli/models.py移至hermes_cli/models_catalog_static.py(清單本身並未變更:仍有39個靜態項目,並繼續根據隨附的39個供應商外掛程式目錄自動擴充);delegate_task則拆分至約12個tools/delegate_tool_*模組。內部匯入路徑並非穩定的 API,因此儲存庫根目錄新增了COMPAT_MANIFEST.md,從舊模組路徑重新匯出1,148個「延遲搬移」的公開名稱;解析時,每個名稱在每個處理程序中會發出一次HermesPluginCompatWarning。此相容層原本就是暫時措施,並已依排程於2026年9月14日移除,也就是標籤發布後6天——這並非透過還原程式碼達成,而是由已隨版本發布的程式碼內建日期閘門。自該日起,受影響的第三方外掛程式將不會載入:CLI 橫幅、hermes doctor與hermes update會顯示紅色通知,指出遭停用的外掛程式;桌面版會顯示一次性對話框;hermes plugins list則會列出原因。若您使用外部外掛程式,請加以檢查:hermes plugins compat <path>會逐一列出仍使用舊路徑的位置,格式為file:line與舊路徑 -> 新路徑;只要仍有任何項目未修正,便會以狀態碼1結束(使用--json可取得機器可讀的輸出;不加參數執行則會掃描所有已安裝的外掛程式)。若外掛程式作者尚未跟上變更,可在config.yaml中設定plugins.allow_deprecated_imports: true作為權宜之計,而且目前依然有效:截至9月22日(已透過標籤v2026.9.21與main驗證),真正刪除舊匯入路徑的還原變更仍未合併,因此只要載入器獲准繼續執行,舊路徑仍可解析。後續情況詳見上方的 v0.21.2 新功能;外掛程式系統章節則收錄目前狀態的說明方塊。42 - Gateway 對話不再因計時器輪替,任何情況皆不會。 工作階段生命週期文件現已明確載明此約定:「閒置或經過的實際時間永遠不會讓對話輪替。
/new與/reset會建立明確邊界;context compression 則會繼續管理冗長的歷史記錄。舊版計時器設定會被忽略。現有的SessionResetPolicy資料型別只是無實際作用的相容性資料,並非執行階段原則。」邊界由使用者明確建立;若您透過hermes claw migrate延續了 OpenClaw 時期的工作階段重設計時器,這些設定現已成為無作用的資料。請參閱訊息 Gateway。43 - MCP 授權新增裝置代碼流程。
hermes mcp login <name>新增--flow {browser,device}:browser是既有的 PKCE 流程;device則是符合 RFC 8628 的裝置代碼登入方式,適合不便使用瀏覽器回呼的機器;此旗標會覆寫伺服器的oauth.flow設定。此期間也強化了 MCP 授權介面的其他部分:OAuth 工作階段會全程強制執行 profile 擁有權檢查;格式錯誤的 OAuth 中繼資料快取會被忽略,以免伺服器卡死;桌面版則透過用戶端本機回呼轉送 MCP OAuth。此外,-t/--toolsets現在也會篩選哪些已設定的 MCP 伺服器需要啟動,因此單次執行hermes -z -t <toolsets>時,不會冷啟動用不到的伺服器。MCP 整合的命令區塊現已納入login與reauth [--all];這兩項功能早在此期間之前便已存在,只是先前未在此處記載。44 - 委派功能如實處理背景工作。 以下是
delegate_task的6項可靠性改進,皆直接查閱此標籤版本的委派工具原始碼確認。(1)背景批次預設會以單一完成事件回傳;選擇啟用delegation.independent_completions後,呼叫會拆成多個完成單位:具有相同group值的任務會合併並一併回報,未分組的任務則會在完成時各自回報。此預設值是刻意設計——原始碼指出,大量逐項任務完成通知會使「未預先因應此情況的協調器支離破碎」。(2)子代理程式結束時會終止其背景處理程序,除非子代理程式使用process_manage(action="handoff")將其交接給父代理程式;未交接的殘留處理程序會在結果中列為orphaned_processes,而從未讀取便已結束的子處理程序則會列為unread_completions,並附上輸出尾端內容。依原始碼 docstring 所述,此設計的立場是:父代理程式「必須從執行階段得知此事」,而不能只相信子代理程式宣稱「監看程式正在執行」。(3)delegation.fallback_providers成為真正可用的設定介面:null會讓未鎖定的子代理程式繼承父代理程式的鏈;[]會停用後援機制;以供應商、端點或模型鎖定的子代理程式不會使用任何後援,除非此設定明確宣告。(4)子代理程式的後援鏈會經過標準正規化器解析,因此格式錯誤的項目會被捨棄,不致造成啟動失敗。(5)執行單位中途當機時,不再遺失已完成的子代理程式:多子代理程式單位中的每個已完成子代理程式,都會持久記錄在該單位自己的資料列中,並以部分結果保留至復原後的結果。(6)子代理程式絕不繼承1小時的提示詞快取層級:委派的子代理程式會降級為5分鐘層級,因為1小時層級的定價是為暫時離席的真人設計,並非用於短時間大量並行的子代理程式。45 - 供應商與模型。 Nous Portal 與 OpenRouter 目錄新增 OpenAI 的 GPT-6 Astra 和 Astra Pro,以及
-fast/-flex速度層級變體(「價格2倍,priority tier」/「價格0.5倍,flex tier」)。在 ChatGPT/Codex OAuth 路徑上,Astra 受帳號資格限制(只有即時、帳號範圍內的探索結果才能顯示該模型),並新增選擇性啟用的-900k選擇器變體,將標示的272K脈絡視窗提高至經即時驗證的約900K;此後綴絕不會在線路上傳送。同時新增的項目還包括:anthropic/claude-fable-5.1、google/gemini-3.7-flash與gemini-3.8-flash、qwen/qwen3.8-max-0902與qwen3.8-flash,以及 Meta 的 Muse Spark 1.3 系列(1M脈絡,包含貢獻者變體),另有 Metamuse-image圖像生成供應商外掛程式。Tavily 成為網頁搜尋/擷取後端(TAVILY_API_KEY;透過hermes tools選取 Tavily 時可免用金鑰)。受管理的 llama.cpp 執行階段讓本機模型成為一級支援的使用途徑(官方二進位檔、單一受監督的llama-server,以及從桌面版一鍵設定),而樹外的外部處理程序供應商也取得專屬解析分支。在操作層面,選擇器的遠端目錄現改為每20分鐘重新整理一次(model_catalog.ttl_minutes,預設為20;舊版ttl_hours鍵僅在使用者曾明確設定時才會沿用)。46 - 桌面版:標註頁面,掌控工作階段。 內建瀏覽器新增註解模式:按一下 Annotate,接著按一下即時頁面中的任一元素(或拖曳選取方框)並輸入備註;儲存的註解會保留為編號圖釘,且不會自行傳送對話回合。完成後,「Add N comments」會將整批內容交給撰寫區,每個圖釘皆附有裁切後的螢幕擷取畫面;每則元素註解還會包含其 CSS 選取器、標記,以及與版面配置相關的計算樣式,讓代理程式能在原始碼中找到該元素,而不必從圖片憑空猜測(在標記離開頁面前,密碼、隱藏值及名稱類似金鑰的屬性都會先經過遮蔽處理)。較大的批次會依頁面區域分組,因此20多則註解會化整為零,成為少數幾項通常會修改不同檔案的工作——這正是能安全將它們分派給並行工作者的關鍵。其他新增項目包括:結構化工作階段控制與工作階段自動化控制、透過拖曳建立工作階段、用於匯入其他程式設計代理程式對話記錄的工作階段匯入檢視、
display.resume_last_session(預設為 true:冷啟動時重新開啟上次的聊天或頁面)、首次開啟 Browser 窗格且browser.use_real_profile關閉時顯示的同意提示(可選擇啟用該設定)、Capabilities -> Skills 下方內建的選用 skill 目錄與一鍵安裝功能,以及新增的俄文桌面版介面語系(CLI 的17個語系目錄維持不變)。47
更新方式維持不變:既有安裝可執行 hermes update,全新安裝則使用 shell 安裝程式。此期間經整理的正式紀錄將由 v0.22.0 補上;上述面向則是此標籤版本中的實際變更。41
v0.21.0 的新功能(The Pantheon Release)
Hermes Agent v0.21.0(標籤 v2026.8.31,2026年8月31日)是目前的功能版本,也是整個 v0.20.x 彙整系列一直延後至此的精選紀錄:「此版本彙整了 v0.20.1-v0.20.6 基礎架構修補標籤的所有內容——這些版本區間均已完整記錄於此。」其定位延續 Herald:「v0.20.0 讓 Hermes 成為信使——他開口傳訊,也將消息帶給其他代理程式。在 v0.21.0,眾神齊聚。」以下為統計資料原文:「自 v0.20.0 以來:約 5,800 次提交 · 約 2,475 個合併的 PR · 約 5,680 個檔案變更 · 約 869,000 行新增 · 約 135,000 行刪除 · 約 2,100 個議題已關閉 · 760 多位貢獻者」。35
此版本依功能領域編排,以下摘要亦採相同方式。若某項功能變更了本指南的既有章節,相關連結會直接列於該項說明中。
- Bot Mode:內建功能讓您的代理程式形成一個社群。 Bot Mode 從 v0.20.3 版本區間隨附的
hermes-bots外掛,正式升格為桌面應用程式預設啟用的功能。每個代理程式 profile 都有名稱、可透過隨機化/鎖定控制項調整的確定性頭像,以及共享名冊中的一席之地;您可以建立 Discord 風格的群組聊天,讓多個機器人與您在同一個聊天室交談、從訊息輸入框以 @ 提及任何機器人,並為聊天室設定名稱與圖片。其子功能包括標示來源的代理程式間訊息卡片、傳送端的送達通知、可立即喚醒的優先繪製 hydration、Routines 窗格,以及依應用程式設計系統重新打造的介面。此版本自身的說法是:「過去,『多代理程式』代表的是底層管線;如今,它看起來就像一個坐滿同事的聊天應用程式。」35 hermes peer:代理程式之間的機器人私訊。 任何 Hermes 代理程式都能透過代號向其他代理程式傳送訊息,橫跨不同 profile 與 gateway,既可從 CLI 操作,也可直接在對話中進行——例如,請研究機器人將調查結果交給程式開發機器人,再於目前所在位置讀取回覆。「回覆會進入各代理程式的標準 Bot Chat,因此代理程式之間的對話可長久保存並接受檢視,而非傳送後即拋諸腦後。」hermes peer指令(新增/列出/移除 peer,以及dm)已收錄於頂層指令表格。35- 記得住的 cron 工作。 排程工作不再轉眼即忘:cron 代理程式會像其他代理程式一樣載入並更新持久記憶;
continuity=true會將每次執行的輸出帶入下一次執行,讓監控程式可依先前回報的內容去除重複項目;每項工作都有可長久保存的記事本暫存區;若沒有任何變更,監控模式工作會完全略過 LLM;每項工作均可固定推理強度;cron 輸出也能傳送至機器人的標準 Bot Chat,並由該機器人實際回應。排程任務(Cron)章節現已記錄各項功能在此標籤版本中的運作機制。3537 - 即時子代理程式協作調度。
delegate_task新增控制操作:列出執行中的子代理程式、在執行途中調整其方向,或提前停止並保留部分結果。子代理程式的輸出可依 JSON schema 驗證,結果中也會顯示每次委派的成本;預設值則提高至每個子代理程式 250 次迭代及 10 個並行子代理程式(這是 v0.19.0 中取代max_async_children的統一上限)。3538 - MCP 指揮中心。 MCP 伺服器與目錄整合至同一個桌面頁面,支援拖入式「貼上任何內容」匯入、可在工具呼叫失敗前提醒您重新驗證的背景健康狀態檢查、全體成本/用量浮層(schema token 估算、各伺服器 30 天用量),以及安裝 MCP 伺服器前要求明確確認的
hermes://深層連結。請參閱MCP 整合。35 - CLI 功能大躍進。 Ctrl+P 會開啟模糊搜尋指令選單(也可透過
/palette進入);/model選擇器會隨輸入內容篩選;/status會顯示推理模式、待處理的核准項目與 context 用量;狀態列則可顯示即時快取命中率、延遲與每秒 token 數,且各欄位皆可個別切換。此外,還加入全域緊急停止、工作階段釘選/取消釘選、輪替的訊息輸入框預留文字,以及終端機寵物。命名方面有一點需要注意:版本說明將試執行核准檢查器稱為hermes approval-check;但在此標籤版本中,實際介面為hermes approvals test,並不存在approval-check子指令。3540 - 由代理程式操控桌面版瀏覽器。 應用程式內瀏覽器不再只是代理程式僅能觀看的視窗:Hermes 可以直接導覽、點選並讀取內容,頁面也能彈出至系統瀏覽器,並提供完整的連結內容選單。35
- 6 個新供應商與一波模型目錄更新。 Meta Model API(Muse Spark)、CommandCode、Tencent TokenPlan、Nebius Token Factory、Ramp Router,以及 Actual Computer。其中 3 個(Meta AI、CommandCode、Actual Computer)已在先前的彙整版本區間加入,並已列於完整供應商矩陣;矩陣現再加入 Tencent TokenPlan、Nebius Token Factory 與 Ramp Router,以及文件中新列出的 Alibaba Token Plan SKU。模型目錄新增 GLM-5.3-Flash、qwen3.8-max/flash、Gemini 3.7 Flash、MiniMax M3 free、Nemotron 3.5 Lightning,以及 Muse Spark 1.2。同時也帶來 2 項結構性變更:
config.yaml中的model_overrides可讓您修補任何模型的 context window 或定價,不必等待新版本;供應商現在也能以透過 entry point 探索的 pip 安裝套件形式提供。統一的選擇防護登錄機制則會在所有選擇器介面上,針對會使用您的資料進行訓練的模型發出警告。3536 - 全面強化安全性。 寫入受保護的代理程式指示檔案(AGENTS.md、skill、記憶儲存區)如今一律需要核准,避免遭提示詞注入的代理程式暗中改寫自身的常駐指令;全面深入的遮蔽處理修補了終端機錯誤、讀取
.env、checkpoint 與 ACP 紀錄中的機密外洩缺口;核准系統新增對 Windows 破壞性指令的辨識;macOS 權限授予可透過穩定的 TCC 簽署身分(hermes desktop --setup-tcc-identity)在更新後繼續保留;Blender 的 MCP 目錄項目與 skill 則因上游遭入侵而移除。若要瞭解此標籤版本的詳細資訊,請參閱安全性強化。3539 - Gateway 日趨成熟。 Slack 新增原生即時卡片(真正的串流回覆,以及可選擇啟用的計畫/任務卡片)與外寄連結預覽抑制;Telegram 新增行內選擇器,可透過 @botname 搜尋所有指令與 skill,繞過 Telegram 的指令選單上限;relay 管道更加成熟(原生外掛初始化、支援草稿串流的即時卡片操作、工作階段跨度分段,以及恢復語音訊息 STT);gateway 控制 socket 可讓叢集使用端查詢 gateway,也能讓更新程式從容暫停 gateway,不必終止整個處理程序樹;當看門狗觸發時,turn-reaper 還會擷取卡死的工作程序堆疊。35
- 一波 skills 更新。 包括 8 項搶救回來的生產力 skill(document-to-action-items、meeting-action-items、email-inbox-triage、github-issue-to-pr、weekly-review-planning、competitor-news-monitor、product-price-monitor、social-media-content-calendar)、從 HAR 衍生的 API 用戶端(「只需觀察網站一次,之後便可直接呼叫其隱藏的 API,無須瀏覽器」)、publish-site、session-librarian、blocked-page-recovery、merge-reconciler、plan-interrogation,以及建立時提供建議的 SKILL.md linter。35
此版本區間已還原的功能(不會隨版本提供): Model Council 模式(/council)與 DCP context engine 都曾加入後又遭還原;僅支援 WS 的 gateway 伺服器(#94245)合併後亦遭還原(#96118),因此 FastAPI 仍位於桌面版啟動路徑上——不過,帶有序號戳記的事件重播(#94219)以及透過 WebSocket 實現的無損桌面重新連線,確實已隨版本提供。Electron 已回復至 40.10.2。若社群對 v0.20.x 版本區間的報導曾提及上述任一功能,請注意它們並未包含在此版本中。35
更新方式維持不變:現有安裝可執行 hermes update,全新安裝則使用 shell 安裝程式。下方 Herald 版本之下的彙整子章節,仍會依各個標籤記錄每個版本區間加入的內容。35
v0.20.0 的新功能(The Herald Release)
Hermes Agent v0.20.0(標籤 v2026.8.3,2026年8月3日)是 v0.21.0 整合所有變更前的功能版本;v0.20.1(8月13日)與 v0.20.2(8月16日)則是在其基礎上的穩定化標籤,而 v0.20.3(標籤 v2026.8.16.2,8月17日發布)、v0.20.4(標籤 v2026.8.18,8月18日)、v0.20.5(標籤 v2026.8.19,8月21日發布)及 v0.20.6(標籤 v2026.8.27,8月27日)延續了整合發布的節奏,且各自涵蓋新的功能時段——請參閱下方小節。自 v0.19.0 以來,此時段涵蓋約 3,650 次提交、1,400 個已合併的 PR,以及由 650 多位貢獻者完成的 1,200 個已關閉議題。55
有 3 項變更推翻了本指南舊版提供的操作方式。請先閱讀這些內容,再繼續往下:
- 現在必須使用 Node 26。安裝程式固定使用
NODE_VERSION="26",並以「Node.js … is too old (Hermes requires Node >=26).」拒絕較舊的執行階段。安裝程式、heal與upgrade都會強制執行此要求。請注意,文件網站的安裝頁面仍標示 Node v22——安裝指令碼與版本資訊較新,應以兩者為準。55 - pip 與 Homebrew 已停止支援,而非僅標示為不建議使用。原文指出:「brew + pip/PyPI wheel channels retired (shell installer / Docker / Nix are the supported channels).」若目前仍透過 pip 或 brew 安裝,該管道將不再收到新版本。55
- 預設的工具呼叫迭代上限已從 90 提高至 500。長時間自主執行不再受人為上限阻礙,下文所有預算壓力門檻也都依照新上限計算。
read_file的預設值同樣從 500 行提高至 2,000 行。55
本版本的其他內容:
- 對話語音。支援可隨時插話的串流 TTS,以及裝置端喚醒詞。55
- A2A v1.0。提供代理程式對代理程式通訊協定的外掛程式,完成議題 #514 長期以來的功能要求。55
- 簽署外送 webhook。
hermes webhook過去僅支援接收;v0.20.0 新增以 HMAC 簽署的外送生命週期 webhook,涵蓋工作階段、回合與工具事件。55 - 有據可查的引用。新增具備事實查核模式的 skill。55
- 進階使用者 CLI 功能浪潮。
!command可立即執行 shell 指令,無須耗用模型回合;/init會掃描專案並建立或更新AGENTS.md;/diff可從任何介面顯示已暫存、全部或工作階段內的變更;/context會分析內容視窗的占用來源;/focus提供精簡輸出檢視,並可復原隱藏的行;Ctrl+S 則可暫存尚未寫完的提示詞。hermes import-agent能以單一指令遷移 Claude Code 或 Codex CLI 設定。55 - 祕密資料介面的新增功能。新增可與各種保險庫搭配的指令輔助祕密資料來源、單一指令權杖輪替及可採取行動的啟動錯誤、Bitwarden 選用式加密緊急存取快取、依各 profile 主目錄限定範圍的保險庫注入金鑰,以及
config.yaml與 MCP 設定之間的${env:VAR}SecretRef 對等支援。下文的 3 路徑驗證模型維持不變。55 - 加快暖啟動。
hermes -w的冷啟動時間從約 14 秒縮短至 1.8 秒。55 - 桌面版成為正式平台。新增具有版本化卡片與沙箱化即時預覽的產出物、以 Kanban 作為首個桌面外掛程式的 Plugin SDK、快速輸入全域快速鍵、多個 GUI 視窗、SSH 遠端後端模式,以及 RFC 8252 原生登入。55
v0.20.3、v0.20.4、v0.20.5 與 v0.20.6 整合版本(8月17日至27日)
v0.20.0 之後,專案採取高頻率的標籤整合發布節奏,而且這些版本不只是穩定化更新。這 4 個版本都以相同方式延後整理版版本資訊——每個版本均表示「full curated release notes for this window will ship with v0.21.0」——如今 v0.21.0 已如期提供:上方的 v0.21.0 新功能是整段期間經整理的完整紀錄(該版本確認這些時段「are fully documented here」)。以下區塊保留各標籤發布當時的紀錄,以呈現每個標籤各自納入的內容;整理版資訊則將這些變更合併敘述。54233035
v0.20.3(自 v0.20.2 起約 250 次提交、約 125 個 PR):
- MCP 2.x SDK 遷移,支援 2026-07-28 無狀態通訊協定。Hermes 遷移至目前的 MCP SDK 世代,並支援該通訊協定的無狀態修訂版本。54
- Bot Mode 以內建外掛程式形式推出(
hermes-bots),其中包含核心隊友通訊協定。54 - 新增 CommandCode 供應商外掛程式,納入供應商目錄。54
- 用於電腦操作的 Cua Driver 0.20 執行階段契約,並強化子程序 Python 執行階段的所有權管理(隔離 PYTHONHOME/PYTHONPATH)。54
- 可靠性:cron 排程器自我修復(EMFILE 復原、過期宣告核對、卡住工作重新啟用)、修正工作階段交接造成的資料遺失、桌面版遠端 gateway 連線自我修復,以及一系列生態系移植項目(外掛程式安裝安全掃描、
/worktree、/rollback保留手動編輯內容、UTF-16 檔案讀取)。54
v0.20.4(自 v0.20.3 起約 146 次提交、約 74 個 PR):
- 桌面版的玻璃介面:霧面玻璃與半透明效果,並提供霧化選擇器及 macOS 預先選取功能。54
- 採用分頁的 SESSIONS|BOTS 側邊欄,可分別隱藏或取消隱藏各個機器人;另修正 Bot Mode 群組聊天問題(長時間執行的成員回合、Markdown 算繪、跨機器路由)。54
- 安裝 skill 時執行 NVIDIA SkillEvaluator Tier 1 建議性掃描——安裝 skill 時會進行授權條款與安全性檢查。54
- 強化 cron 媒體傳送功能(可設定逾時、手動執行附件、顯示錯過的觸發)、修正 SessionDB 事件迴圈執行緒與資源爭用問題、讓
hermes update如實呈現停放分支的狀態,以及新增 Kanban 原生作業系統通知。54
v0.20.5(自 v0.20.4 起約 746 次提交、約 323 個 PR):
- 無須金鑰的網頁層級:全新安裝後,不需任何 API 金鑰即可使用網頁搜尋——透過 5 家供應商免費輪替,並採用環狀容錯移轉。23
- 一系列 CLI 細節改善:模糊搜尋
/model選擇器、Ctrl+P 指令面板,以及資訊更豐富的/status。23 - Bot Mode 更臻成熟:群組聊天室討論串、可摺疊的對話摘要、斑點臉孔頭像,以及支援拖放的 PDF/檔案附件。23
- 機群與 worktree 工具:
hermes update收據、hermes update --plan(版本資訊稱其為「fleet--planverification」;此旗標屬於hermes update,而非fleet指令。依其剖析器說明,它會「Show the update plan and exit without changing anything」),以及hermes worktree list/prune。2327 - Cron 工作新增持久記憶體及各工作獨立的推理強度設定,另加入依 Composio 評估結果打造的執行紀律與執行階段停滯防護、多問題釐清、無須 opencode 的零驗證供應商,以及桌面版效能改善(Bot Mode 優先繪製再載入、兩個算繪器皆採用 React Compiler)。23
v0.20.6(標籤 v2026.8.27,8月27日——自 v0.20.5 起約 1,313 次提交、約 525 個 PR):
該版本直接將自身描述為「Patch release. This tag rolls up the ~525 PRs merged since v0.20.5 into a stable tagged release for downstream consumers」,其說明並指出,此時段涵蓋約 1,313 次提交、約 1,557 個檔案(+177,113/−21,682),以及約 525 個已合併的 PR。30說明中的重點項目如下:
- 須經同意才可使用真實 profile 瀏覽——本機瀏覽可使用預設的 Chromium profile;Windows 上則提供須經核准的關閉流程。30
- 桌面版 Browser 擁有獨立的作業系統視窗,另新增受管理的 SSH 遠端更新引擎,以及機群 profile 導覽列。30
- 擴充遠端 MCP 目錄:收錄 50 多個經即時驗證、由供應商託管的伺服器,包括 Cloudflare、Grafana Cloud、Better Stack 與 Railway。30
- 以作業系統鑰匙圈加密已儲存祕密資料的選用功能——不再需要每次啟動時回應 macOS Keychain 提示。30
- 選擇器新增多款模型:GLM-5.3-Flash、免費的 MiniMax M3,以及 MiniMax H3 Max video。30
- 為
web_search/web_extract提供 TTL 結果快取,以及支援字幹擷取的多查詢tool_search。30 - Lean-tail 壓縮現在是預設選項——下方的內容壓縮章節記載此標籤版本的設定。3031
- 終端機後端改為可插拔架構——請參閱終端機後端。3032
- 更新程式與機群狀態如實呈現:更新程式會透過控制 socket 暫停 gateway,不再終止整個程序樹;由映像檔或套件管理的安裝則會拒絕不安全的原地更新。30
- Cron 支援持久性事件確認,並提供更清楚的程式碼版本偏差失敗訊息;另新增 Slack 連結展開控制與共用 Docker 容器身分。30
更新方式維持不變:現有安裝可執行 hermes update,全新安裝則使用 shell 安裝程式。542330
v0.19.0 的新功能(Quicksilver 版本)
Hermes Agent v0.19.0(標籤 v2026.7.20,2026年7月20日)以信使之神自身的速度命名:此版本的核心是直截了當的回應速度,在所有平台上,首次互動從送出到產生第一個 token 的時間縮短約 80%。圍繞這項核心改進,另有終端機帳務管理、密碼管理器祕密來源、預設啟用的智慧核准、可觀察的 subagent,以及不受當機影響的回應傳送機制。自 v0.18.0 以來,這是專案迄今規模最大的更新:約 2,245 次提交、約 1,065 個合併的 PR、約 3,300 個已關閉的問題,以及超過 450 位社群貢獻者。56
- 各平台產生第一個 token 的速度均提升約 80%。 在 CLI、gateway、TUI、桌面應用程式與 cron 中,冷啟動的送出→分派時間皆從約 4.3 秒降至約 0.9 秒——Discord 功能偵測已移出關鍵路徑、已知非 Ollama 供應商會略過 Ollama 探測,agent 初始化也移除了阻塞作業。感知延遲亦經過專門改善:推理模型現在預設即時串流其思考過程(
display.show_reasoning為開啟狀態),回應框也改為逐 token 繪製,而非逐行繪製。56 - 桌面應用程式與 TUI 的算繪革新。 桌面應用程式歷經約 20 個 PR 的速度全面改造:透過增量區塊詞法分析,串流 Markdown 分割器的 CPU 使用量降至原本的 1/14;審查窗格的差異內容採虛擬化呈現;大型逐字記錄中的工作階段切換更加流暢;側邊欄與工具列也不再於每個 token 重新算繪。TUI 現在會以區塊為單位,增量算繪串流 Markdown。56
- pip 與 Homebrew 安裝方式已棄用。 兩種途徑均被標示為「不受支援的舊版」安裝方式,並預定移除。v0.20.0 現已完成移除——brew 與 pip/PyPI wheel 管道已停用,目前支援的管道僅剩 shell 安裝程式、Docker 與 Nix。5655
- 祕密資料可由密碼管理器提供。 新增可插拔的
SecretSource介面,可在載入時從 Bitwarden 與 1Password(op://參照)擷取祕密資料,並支援同時啟用多個保存庫、確定性的優先順序、衝突警告,以及逐變數的來源追蹤——API 金鑰不必再存放於純文字.env中。未來的保存庫供應商可直接透過外掛程式加入。56 - 智慧核准現已成為預設值。 當 Hermes 想要執行已標記的命令時,會由獨立的 LLM 審查器進行評估,而非每次都要求您確認——且每項判定僅適用於該筆確切命令。使用者自訂的拒絕規則即使在 YOLO 模式下也會封鎖相符命令;
/deny <reason>會轉達您的拒絕理由,讓 agent 修正方向;重新加入並支援規則鍵的外掛程式pre_tool_call核准動作,則可將工具呼叫升級為人工審核。56 - 終端機帳務管理:
/subscription與/topup。 無須離開終端機,即可管理 Nous Portal 方案——查看方案與剩餘額度、準確預覽升級費用或降級生效時間,並可套用及復原變更。桌面應用程式也新增對應的帳務設定分頁。56 - 觀察 subagent 工作;完成的答案絕不遺失。
delegate_task分派會在 subagent 啟動時立即傳回可供tail -f追蹤的即時逐字記錄檔案——每個子 agent 各有一份人類可讀的日誌,涵蓋所有工具呼叫、結果與串流回覆。背景委派的完成結果可跨重新啟動持久保存,而最終 gateway 回應會記錄於state.db的傳送義務分類帳中;若 gateway 在傳送途中終止,便會於下次啟動時重新傳送。max_async_children設定選項現已棄用,改由統一的委派並行數上限取代。56 - 單一 gateway,多個 profile。 單一多工 gateway 可共用同一個 bot token,並將特定 guild、頻道或討論串路由至不同 profile——各 profile 的設定、skills、記憶與祕密資料完全隔離——並提供
GATEWAY_MULTIPLEX_PROFILES覆寫選項。路由索引已移至state.db;sessions.json現為選用的舊版鏡像。56 - 供應商與模型革新。 Fireworks AI 首度成為一級支援項目(提供成本估算,並列於供應商選擇器第 2 位),DeepInfra 與 Upstage Solar 也一併加入。模型目錄新增 GPT-5.6(Sol/Terra/Luna + Pro,完成端對端整合)、grok-4.5(正式發布)、kimi-k3(kimi-k2.x 已停用),以及完整整合的 Claude Sonnet 5。各供應商可使用
enabled: false旗標,另有excluded_providers設定,可從/model選擇器與解析流程中移除未使用的供應商。56 - 推理強度可分級調整。 所有介面均新增
max與ultra強度層級,並支援設定中的個別模型覆寫、MoA 預設組合中的逐槽位強度(顧問深入思考,綜合器則維持快速)、輔助模型的逐任務強度,以及 CLI 中僅限目前工作階段的/reasoning。56 - CLI 與 MCP 功能擴充。
hermes sessions export可輸出 Markdown、Quarto、HTML、僅提示詞及 Hugging Face 追蹤格式,並提供可選用的--redact清理功能;/model --once可針對單次互動覆寫模型;斜線 skill 呼叫可堆疊使用(/skill-a /skill-b do XYZ);--safe-mode有助於疑難排解;hermes config get/unset補齊設定管理功能;hermes serve成為真正的無介面後端;MCP 工具則採用mcp__server__tool命名慣例。56
若您從 v0.18.x 升級,首先應留意兩項變更:pip 或 Homebrew 安裝現在會顯示不受支援的舊版警告(請遷移至單行安裝程式),而 max_async_children 已棄用,改由統一的委派並行數上限取代。其餘皆為新增功能——最值得升級的理由包括首次互動延遲縮短約 80%、智慧核准,以及讓完成答案不受當機影響的傳送分類帳。
v0.18.0 的新功能(Judgment 版本)
Hermes Agent v0.18.0(標籤 v2026.7.1,2026年7月1日)以「判斷」為名:agent 會驗證自身工作,不再逕行宣稱成功,且整合式推理過程真正可供檢視。此版本也清空了所有 P0/P1 待辦項目——在 12 天內解決約 692 個最高優先等級項目。22
- Mixture-of-Agents 成為一級模型。 現在可在所有介面中如同其他模型般選用 MoA,且整合式推理過程清楚可見:每個參考模型的完整輸出都會呈現為各自附有標籤的區塊,並即時串流答案——您可以親眼觀察整個模型組合的思考過程,而非只能取得不透明的合併答案。22
/goal的完成契約。 agent 在回報目標完成前,會先執行專案的檢查來驗證自身工作,而非逕行宣稱成功——將判斷力用於自我檢驗。22/learn——透過描述將任何內容轉化為 skill。 只要描述工作流程,即可將其轉化為可重複使用的 skill;產生的 skills 會自動遵循儲存庫的 CONTRIBUTING.md 慣例。22/journey時間軸。 以視覺方式呈現記憶與 skills 隨時間演變的歷程,支援編輯,桌面應用程式另提供記憶關聯圖。22- 背景 subagent 扇出。 可委派多項任務並行執行,且不會阻塞對話——v0.17.0 的單一背景 subagent 現已擴展為完整團隊。22
- 桌面版 Projects。 提供一級支援的程式開發 Projects,採用 project/repo/lane 組織模型。22
- 可縮減至零的 gateway。 Gateway 可在閒置時進入休眠,並協調流量排空以實現無縫部署——對於將 Hermes 作為常駐服務執行的使用者而言,意義重大。22
- 支援 Google Vertex AI。 可透過 GCP 服務帳戶存取 Gemini,並自動重新整理 OAuth2 token,正式加入供應商目錄。22
/prompt編輯器命令。 開啟$EDITOR以撰寫多行提示詞,不必再受限於單行輸入欄位。22
若您從 v0.17.x 升級,此版本不會破壞 CLI。最值得升級的理由包括完成契約(可自我驗證的目標)、具備可檢視模型組合的一級 MoA,以及用於擷取 skill 的 /learn。
v0.17.0 的新功能(The Reach Release)
Hermes Agent v0.17.0(標籤 v2026.6.19,2026年6月19日)以代理如今延伸的廣度命名——新增訊息管道、模型供應商,以及更深入的桌面與儀表板控制。此版本在 v0.16.x 基礎上增添功能;CLI 介面維持不變。21
- 新增訊息管道。 iMessage 現在可透過 Photon Spectrum,在不使用 Mac 中繼站的情況下運作(裝置代碼 OAuth、
hermes photon login);WhatsApp Business Cloud API 是 Meta 官方轉接器,不再需要橋接處理程序;SimpleX 新增群組、原生附件、文字批次處理及自動接受功能;Raft 則以內建平台外掛程式之姿加入,採用依契約保障隱私的喚醒管道設計。21 - 新增模型與供應商。 目錄新增
z-ai/glm-5.2(1M context)、anthropic/claude-fable-5、laguna-m.1、nemotron-3-ultra及grok-composer-2.5-fast(透過 xAI OAuth 使用 Cursor 的模型,200k context)。xAI 的預設模型已改為grok-build-0.1,而 Anthropic 自適應模型如今遵循現代思考契約(絕不傳送reasoning欄位)。21 - 桌面與儀表板。 桌面版新增背景子代理,並以即時「監看視窗」串流顯示委派活動(
delegate_task(background=true))、Composer 模型選擇器、可重新綁定的鍵盤快速鍵、原生作業系統通知、各討論串獨立的 Composer 草稿、VS Code Marketplace 主題,以及日文與繁體中文介面。儀表板新增完整的 profile 建立工具(無須編輯config.yaml,即可設定模型、skills 與 MCPs)、全域 profile 切換器、重新設計並具備安全性掃描的 Skills Hub、Automation Blueprints(涵蓋表單、斜線指令、對話與文件的參數化範本),以及通過 OAuth 閘道後會回傳 401 的安全登入機制。21 - Skills 與工具。
image_generate現在可在所有支援的影像供應商上編輯與轉換來源影像,不再只能從零建立影像;memory工具新增operations陣列,可在單次呼叫中以不可分割的方式批次新增、取代及移除內容;新的simplify-codeskill 會平行執行由三個代理組成的審查與清理流程,並以 Chesterton’s-Fence 風險層級把關;布林值write_approval則取代三態的write_mode。21 - 架構。 背景子代理會立即回傳控制代碼,並將結果作為新回合重新送入;MCP 引導處理常式支援在工具呼叫途中要求確認,而延遲連線的 MCP 工具會在回合之間公開(可安全快取);cron 改為可插拔的 CronScheduler,並提供 Chronos 代管 cron 供應商;新的 Managed scope(
/etc/hermes)讓管理員固定使用者無法變更的設定,另加入 Gateway-Gateway 中繼功能,以支援多 gateway 拓撲。21 - 新增指令。
/version、/billing(互動式終端機計費)、hermes photon login(iMessage 驗證),以及hermes curator run --consolidate——整併現在改為選用功能,因此例行背景整理不會耗用任何 token。21 - 安全性。 v0.17.0 修補了 shell 跳脫字元繞過拒絕清單的漏洞;缺少核准模組或自有原則 gateway 轉接器時,系統會以安全方式拒絕運作;針對 cron 工作指令碼的子處理程序清理環境;在請求偵錯傾印中遮蔽機密資訊;檢查 MCP stdio 設定是否包含資料外洩模式;並升級 urllib3 與 PyJWT 以修補 CVE。21
若您從 v0.16.x 升級,這些變更都不會破壞 CLI;它們只是在相同代理周圍新增管道、模型與操作介面。無須中繼站的 iMessage、WhatsApp 官方轉接器,以及供管理員使用的 Managed scope,是此次升級最值得關注的重點。
v0.16.0 的新功能(The Surface Release)
Hermes Agent v0.16.0(標籤 v2026.6.5,2026年6月5日)以它為以 CLI 為優先的代理所帶來的新操作介面命名。最大亮點是 Hermes 不再僅限於終端機。20
- 原生桌面應用程式。 Hermes Desktop 是適用於 macOS、Linux 與 Windows 的全新 Electron 應用程式,支援一鍵安裝及應用程式內自動更新。它提供串流聊天視窗、拖放檔案、從剪貼簿貼上影像、
Cmd+K功能面板、可封存與搜尋的工作階段清單,以及狀態列模型選擇器。應用程式可透過安全的 WebSocket 連線至遠端 Hermes gateway,並使用 OAuth 或使用者名稱與密碼進行驗證;每個 profile 均可設定不同的遠端主機,還能透過跨 profile 的@session參照,同時執行多個 profile 工作階段。桌面介面也透過型別化 i18n 層(display.language)提供完整的簡體中文(简体中文)翻譯;英文仍為預設語言。20 - 瀏覽器管理面板。 本機網頁儀表板已從狀態檢視頁面蛻變為完整的管理面板:提供具啟用/停用切換功能的 MCP 目錄、憑證管理、webhook 與 hook 建立功能、記憶設定、gateway 控制項,以及具備更新前檢查與一鍵 Debug Share 的系統頁面。新的 Channels 頁面可從瀏覽器設定所有 gateway 訊息平台(Telegram、Discord、Slack 等)。驗證方式現在可自由插拔:支援使用者名稱與密碼登入、通用的自行託管 OIDC 供應商、使用
hermes dashboard register註冊自行託管的 OAuth 用戶端,以及更新權杖工作階段輪替。20 - 新增 CLI 與斜線指令。
/undo [N]會搭配預填內容與軟刪除,回復最近 N 個使用者回合,並適用於 CLI、TUI 及各個訊息平台。現在可設定預設介面(cli或tui),並使用--cli覆寫;TUI 新增統一的/model指令與 Sessions 浮動視窗。hermes portal是 Nous Portal 新手引導流程中便於閱讀的別名,首次執行時新增 Quick Setup 與 Full Setup 兩種路徑,並加入hermes prompt-size和hermes sessions optimize兩項診斷功能。20 - 新增模型與供應商。 選擇器新增
deepseek-v4-flash、MiniMax-M3(1M context、原生 MiniMax 供應商)、qwen3.7-plus(Nous + OpenRouter)與gemini-3.5-flash(Gemini OAuth + API key)。桌面啟動器新增一級支援的 xAI Grok OAuth 供應商;模型選擇器在所有操作介面均支援模糊搜尋;多端點供應商會歸入同一列;目錄重新整理頻率則從每日改為每小時一次。20(v0.21.1 後來再次調整頻率:選擇器的遠端目錄現在每 20 分鐘重新整理一次,即model_catalog.ttl_minutes。46) - 更精簡的 skills 與漸進式揭露。 預設 skill 集合已移除重複及失效的 skills(Spotify 改為原生外掛程式,Linear 改用
hermes mcp install linear,並移除數個過時項目),將更多 skills 改為選用,另新增environments:frontmatter 關聯性閘道(kanban/docker/s6),讓特定情境的 skills 在被要求使用前不會出現在索引中。除了 OpenAI、Anthropic 與 HuggingFace,NVIDIA/skills現在也是預設受信任的 Skills Hub tap。MCP 與外掛程式工具新增漸進式(限縮範圍的)工具揭露功能,並修正一項 MCP 錯誤:未取得 token 時,系統先前會誤報 OAuth 成功。20 - 安全性。 v0.16.0 鎖定已修補的 Starlette(≥1.0.1),以因應 CVE-2026-48710(BadHost);在非同步路徑中將 SSRF URL 檢查移出事件迴圈;從子處理程序環境中移除 Bedrock 推論 bearer token;將
bws_cache.json納入檔案安全讀取防護;將docker restart/stop/kill加入危險模式清單;並清理經審核 skill 內容中的不可見 Unicode 字元。此版本解決了 2 項 P0 與 62 項 P1 問題,其中 16 項標記為安全性問題。20
若您從 v0.15.x 升級,這些變更都不會對 CLI 本身造成破壞性影響;它們是在相同代理周圍加入新的操作介面與供應商。若要讓不使用終端機的使用者操作 Hermes,或從瀏覽器管理遠端 gateway,桌面應用程式與管理面板便是升級的主要理由。
v0.14.0 的新功能(The Foundation Release)
v0.14.0 並非聚焦於單一主打功能,而是著重於降低設定阻力,同時拓展 Hermes 的執行環境。19 主要操作變更如下:
- 安裝與啟動更輕量。 可透過 PyPI 執行
pip install hermes-agent,重量級轉接器會在首次使用時才延遲安裝,而啟動路徑會延後足夠多的工作,將冷啟動時間縮短約 19 秒。(v0.19.0 後已棄用 pip 安裝方式——請參閱安裝。) - 訂閱可轉為本機 API 端點。
hermes proxy可將由 OAuth 支援的供應商(例如 Claude Pro、ChatGPT Pro 與 SuperGrok)轉換為與 OpenAI 相容的本機端點,供 Codex、Aider、Cline 和 Continue 等工具使用。 - Gateway 觸及範圍擴大。 LINE 與 SimpleX Chat 加入 gateway(文件中的平台比較表在標籤
v2026.8.31列出 28 個平台;Messaging Gateway一節說明此數字的計算範圍);Microsoft Teams 已完成端對端串接;Discord 預設會回填歷史記錄;Telegram/Discord 的clarify提示現在則使用原生按鈕。 - 寫入時驗證有所改善。 編輯完成後,Hermes 可在下一個回合前顯示每回合的檔案變動摘要,以及語言伺服器的語意診斷結果,使其更接近以證據為本的代理工作方式。
- 桌面與媒體工具涵蓋範圍更廣。
computer_use可透過 cua-driver 搭配非 Anthropic 供應商運作;video_generate統一由可插拔的後端提供;vision_analyze則會將原始像素傳送給真正具備視覺能力的模型。
安裝
官方支援的安裝方式是單行安裝程式。它會處理Python、uv、Node.js、ripgrep、ffmpeg、複製儲存庫、虛擬環境,以及全域hermes命令。7
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
自v0.19.0起,已棄用pip與Homebrew安裝方式。 v0.14.0推出的PyPI套件(
pip install hermes-agent)與Homebrew公式,如今均標示為「不受支援的舊版」安裝方式。Hermes偵測到其中任一方式時,會在各個介面發出警告(但不會阻止執行),並計畫停止透過PyPI/Homebrew發布。若您先前透過pip或brew安裝,請改用上述安裝程式。56
支援Linux、macOS、WSL2與Android/Termux(安裝程式會自動偵測Termux,並改用經過測試的Android套件組合)。7 原生Windows現已是Tier 1平台,不再是v0.14.0推出時的早期測試版;請使用iex (irm https://hermes-agent.nousresearch.com/install.ps1)安裝。文件明確指出一項限制:macOS僅支援Apple Silicon,不支援Intel Mac。55 過去,v0.14.0曾透過PowerShell安裝程式加入早期測試版的原生Windows支援;但在Windows安裝方式更加成熟之前,若用於正式環境,WSL2仍是較穩妥的選擇。19
完成後:
source ~/.bashrc # or ~/.zshrc
hermes # Start chatting
唯一的必要條件是git。安裝程式會透過uv自動佈建Python 3.11(不需要sudo)、Node.js 26(用於瀏覽器自動化與WhatsApp橋接器)、ripgrep及ffmpeg。自v0.20.0起,Node 26是不可逾越的最低版本要求;安裝程式會拒絕任何更舊的版本,並改為安裝由Hermes管理的Node。557
驗證安裝
hermes --version # Check version (global flag; there is no `version` subcommand)
hermes doctor # Diagnose config/dependency issues
hermes status # Show current configuration + auth state
hermes dump # Copy-pasteable setup summary for debugging
hermes doctor會精確指出缺少哪些項目,以及修正方式。7 尋求協助時,可使用hermes dump產生診斷資訊,貼到GitHub issue或Discord討論串中。它會以純文字摘要呈現您的完整設定,並遮蔽機密資訊。8
手動安裝
若您需要完整控制,例如自訂Python版本、指定extras,或整合Nix/NixOS,上游安裝指南提供了逐步說明。7 以下是可搭配uv pip install -e ".[<extras>]"使用的主要選用extras:
| Extra | 新增功能 |
|---|---|
all |
以下所有功能 |
messaging |
Telegram與Discord gateway |
cron |
cron運算式剖析 |
cli |
設定精靈的終端機選單UI |
modal |
Modal雲端執行後端 |
voice |
CLI麥克風輸入與音訊播放 |
tts-premium |
ElevenLabs高階語音 |
honcho |
AI原生記憶功能(Honcho整合) |
mcp |
Model Context Protocol支援 |
homeassistant |
Home Assistant整合 |
acp |
ACP編輯器整合支援 |
slack |
Slack訊息功能 |
pty |
PTY終端機支援(互動式CLI工具) |
dev |
pytest與測試公用程式 |
termux |
經過測試的Android套件組合(包含cron、cli、pty、mcp、honcho、acp) |
Termux的安裝命令有所不同——它使用帶有約束檔案的pip,而非uv pip:
python -m pip install -e ".[termux]" -c constraints-termux.txt
這是因為Android上的.[all]會透過voice extra引入faster-whisper,而後者依賴尚未針對Android發布的ctranslate2 wheel套件。7
驗證與提供者
在標籤v2026.9.7中,hermes_cli/models_catalog_static.py第311行包含39筆靜態CANONICAL_PROVIDERS項目(2026年9月的拆分作業將此清單從hermes_cli/models.py移出;項目本身維持不變,並包含v0.21.0的tencent-tokenplan),並會從plugins/model-providers/自動擴充該清單(內含39個隨附目錄;其中9個——actual、alibaba-coding-plan、commandcode、deepinfra、meta-ai、nebius-token-factory、opencode-free、router、upstage——沒有靜態項目,因採用預設的api_key驗證類型而由自動擴充機制納入)。文件的提供者頁面以表格列出45個雲端與訂閱制提供者,另有一列自訂端點;也分別介紹本機及自行託管的伺服器(Ollama、vLLM、SGLang、llama.cpp、LM Studio、LiteLLM、ClawRouter,以及任何與OpenAI相容的端點)。26 在標籤v2026.9.24中,靜態清單仍有39筆項目,但plugins/model-providers/只剩38個目錄:無須金鑰的opencode-free提供者已於9月18日移除,因為OpenCode的免費方案如今會拒絕來自其自有用戶端以外的匿名流量。53 此外,還有自訂端點與3條不同的驗證路徑。以下依路徑整理完整的驗證介面,方便您找到符合現有條件的方式。
3條驗證路徑
Hermes中的每個提供者都屬於以下3種驗證模式之一:
路徑1——.env中的API金鑰。 將金鑰放入~/.hermes/.env,Hermes會在啟動時讀取。適用於OpenRouter、AI Gateway、z.ai/GLM、Kimi/Moonshot、MiniMax(含MiniMax China)、Alibaba Cloud/DashScope、Kilo Code、OpenCode Zen、OpenCode Go、DeepSeek、Hugging Face、Google/Gemini,以及大多數第三方提供者。2 自v0.19.0起,金鑰不再必須存放於純文字檔案中:可插拔的SecretSource介面能在載入時從Bitwarden或1Password(op://參照)擷取祕密,並支援同時啟用多個密碼庫、確定性的優先順序、衝突警告,以及逐一變數的來源資訊——.env仍作為備援。(這不同於v0.15.0的Bitwarden Secrets Manager啟動權杖;後者以單一權杖集中管理提供者金鑰。SecretSource則直接取代純文字檔案,未來的密碼庫提供者也能以外掛形式加入。)56
路徑2——透過hermes model或hermes auth使用OAuth。 此方式會啟動裝置代碼流程、開啟瀏覽器,並將憑證儲存至~/.hermes/auth.json(也能從Claude Code或Codex CLI等工具匯入既有憑證)。適用於Nous Portal、OpenAI Codex(ChatGPT帳號)、GitHub Copilot,以及Anthropic(Claude Pro/Max)。2
路徑3——config.yaml中的自訂端點。 適用於任何與OpenAI相容的API——Ollama、vLLM、SGLang、llama.cpp、LM Studio、LiteLLM proxy、Together AI、Groq、Azure OpenAI,或您自行託管的伺服器。只需透過hermes model → Custom endpoint設定一次,之後便會保存至config.yaml。2
完整提供者矩陣
此矩陣涵蓋文件頁面表格中列出的提供者,並附上各自確切的設定流程;該標籤中的選擇器所列項目比文件更多(請參閱上述數量),而任何與OpenAI相容的服務都能透過自訂端點列接入。226
| 提供者 | 驗證路徑 | 設定方式 |
|---|---|---|
| Nous Portal | OAuth | hermes model(OAuth登入,採訂閱制) |
| OpenAI Codex | OAuth | hermes model(ChatGPT裝置代碼,使用Codex模型) |
| GitHub Copilot | OAuth或權杖 | hermes model(OAuth裝置代碼),或COPILOT_GITHUB_TOKEN / GH_TOKEN / gh auth token |
| GitHub Copilot ACP | 本機子程序 | hermes model(需要PATH中有copilot CLI,並執行copilot login) |
| Anthropic | OAuth或API金鑰 | hermes model(優先採用Claude Code憑證),或ANTHROPIC_API_KEY,或ANTHROPIC_TOKEN設定權杖 |
| OpenRouter | API金鑰 | 在~/.hermes/.env中設定OPENROUTER_API_KEY |
| AI Gateway (Vercel) | API金鑰 | 在~/.hermes/.env中設定AI_GATEWAY_API_KEY(提供者:ai-gateway) |
| z.ai / GLM (ZhipuAI) | API金鑰 | 在~/.hermes/.env中設定GLM_API_KEY(提供者:zai) |
| Kimi / Moonshot | API金鑰 | 在~/.hermes/.env中設定KIMI_API_KEY(提供者:kimi-coding)。v0.19.0在目錄中加入kimi-k3(kimi-k2.x已退役)。56 |
| MiniMax(全球) | API金鑰 | 在~/.hermes/.env中設定MINIMAX_API_KEY(提供者:minimax) |
| MiniMax China | API金鑰 | 在~/.hermes/.env中設定MINIMAX_CN_API_KEY(提供者:minimax-cn) |
| Alibaba Cloud (Qwen) | API金鑰 | 在~/.hermes/.env中設定DASHSCOPE_API_KEY(提供者:alibaba;別名:dashscope、qwen) |
| Kilo Code | API金鑰 | 在~/.hermes/.env中設定KILOCODE_API_KEY(提供者:kilocode) |
| OpenCode Zen | API金鑰 | 在~/.hermes/.env中設定OPENCODE_ZEN_API_KEY(提供者:opencode-zen) |
| OpenCode Go | API金鑰 | 在~/.hermes/.env中設定OPENCODE_GO_API_KEY(提供者:opencode-go) |
| DeepSeek | API金鑰 | 在~/.hermes/.env中設定DEEPSEEK_API_KEY(提供者:deepseek) |
| Hugging Face | API金鑰 | 在~/.hermes/.env中設定HF_TOKEN(提供者:huggingface;別名:hf) |
| Google / Gemini | API金鑰 | 在~/.hermes/.env中設定GOOGLE_API_KEY或GEMINI_API_KEY(提供者:gemini) |
| Fireworks AI | API金鑰 | 第一級提供者,模型選擇器支援成本估算及快取價格欄位;已提升至提供者選擇器的第2順位。v0.19.0新增。56 |
| DeepInfra | API金鑰 | 第一級提供者,整合經過強化。v0.19.0新增。56 |
| Upstage Solar | API金鑰 | 第一級提供者。v0.19.0新增。56 |
| xAI (Grok) | 原生提供者/SuperGrok OAuth | 第一級提供者,支援直接存取API與模型目錄(v0.9.0以上)。v0.14.0加入SuperGrok OAuth,並為具備資格的帳號將grok-4.3的context window提升至1M。21619 v0.17.0加入grok-composer-2.5-fast(透過xAI OAuth使用的Cursor模型,200k context),並將xAI預設模型改為grok-build-0.1。21 v0.19.0將目錄中的grok-4.5轉為正式版。56 |
| xAI Custom Voices | API金鑰 | 支援語音複製的TTS提供者。v0.13.0新增;請在config.yaml的tts:下設定,並於.env中提供xAI金鑰。18 |
| Xiaomi MiMo | 原生提供者 | 第一級提供者,附有設定精靈與模型目錄。Nous Portal提供免費MiMo v2 Pro,可用於輔助任務(v0.9.0以上)。1615 |
| Google AI Studio | API金鑰 | 在~/.hermes/.env中設定GOOGLE_API_KEY或GEMINI_API_KEY。可直接存取Gemini,並透過models.dev登錄檔自動偵測context長度(v0.8.0以上)。15 |
| Qwen OAuth (Portal) | OAuth | hermes model → “Qwen OAuth (Portal)”(提供者:qwen-oauth;透過瀏覽器進行PKCE登入,並重複使用本機Qwen CLI登入狀態)。此OAuth提供者支援portal請求(v0.8.0以上)。上述採用API金鑰的DashScope路徑已於v0.14.0從Alibaba Cloud更名為Qwen Cloud;既有設定鍵仍可繼續使用。151926 |
| OpenCode Free(已移除) | 無須金鑰 | 已於2026年9月18日移除,標籤v2026.9.21與v2026.9.24中皆已不再包含。若設定仍指定opencode-free、free或opencode_free,系統會顯示說明此項目已移除的錯誤;請透過hermes model改用opencode-zen(隨用隨付,OPENCODE_ZEN_API_KEY)或opencode-go(訂閱制,OPENCODE_GO_API_KEY)。此提供者原於v0.20.5期間以「opencode-free零驗證提供者」之名加入。2353 |
| OpenAI API(直接) | API金鑰 | 在~/.hermes/.env中設定OPENAI_API_KEY(提供者:openai-api;可選用OPENAI_BASE_URL)26 |
| Google Vertex AI | OAuth2 / ADC | hermes model → “Google Vertex AI”(提供者:vertex;透過服務帳號JSON或Application Default Credentials使用OAuth2,費用計入您的GCP專案)26 |
| Azure AI Foundry | 端點+金鑰 | hermes model → “Azure AI Foundry”(提供者:azure-foundry;使用您的Azure OpenAI / Foundry端點與金鑰;選擇器將其描述為「OpenAI風格或Anthropic風格的端點」)26 |
| AWS Bedrock | AWS憑證 | hermes model → “AWS Bedrock”(提供者:bedrock;透過boto3使用標準AWS憑證鏈、IAM或API金鑰;支援Claude、Nova、Llama、DeepSeek)26 |
| NVIDIA NIM / Build | API金鑰 | 在~/.hermes/.env中設定NVIDIA_API_KEY(提供者:nvidia;使用build.nvidia.com上由NIM託管的Nemotron及其他模型,或透過base-URL覆寫使用本機NIM端點)26 |
| Ollama Cloud | OAuth或API金鑰 | hermes model → “Ollama Cloud”(提供者:ollama-cloud;貼上OLLAMA_API_KEY,再從探索到的雲端託管模型中選擇)26 |
| StepFun Step Plan | API金鑰 | 在~/.hermes/.env中設定STEPFUN_API_KEY(提供者:stepfun;透過Step Plan API使用代理與程式設計模型)26 |
| MiniMax (OAuth) | OAuth | hermes model → “MiniMax (OAuth)”(提供者:minimax-oauth;透過瀏覽器進行Coding Plan的PKCE登入,可選全球或中國地區)26 |
| Meta AI | API金鑰 | 在~/.hermes/.env中設定MODEL_API_KEY(提供者:meta-ai;Meta Model API、Muse Spark系列)26 |
| NovitaAI | API 金鑰 | NOVITA_API_KEY,位於 ~/.hermes/.env(provider:novita;200 多個模型、Model API、Agent Sandbox、GPU Cloud)26 |
| Arcee AI | API 金鑰 | ARCEEAI_API_KEY,位於 ~/.hermes/.env(provider:arcee;別名:arcee-ai、arceeai;Trinity 模型)26 |
| GMI Cloud | API 金鑰 | GMI_API_KEY,位於 ~/.hermes/.env(provider:gmi;別名:gmi-cloud、gmicloud)。請使用 GMI 的 /v1/models 端點傳回的確切模型 ID26 |
| Actual Computer | API 金鑰或本機常駐程式 | 若使用託管中繼服務,請在 ~/.hermes/.env 設定 ACTUAL_API_KEY;若使用本機常駐程式,則設定 ACTUAL_BASE_URL=http://127.0.0.1:8080,透過迴路介面連線時無須金鑰(provider:actual;別名:actual-computer、actualcomputer、aci)26 |
| Tencent TokenHub | API 金鑰 | TOKENHUB_API_KEY,位於 ~/.hermes/.env(provider:tencent-tokenhub;別名:tencent、tokenhub、tencentmaas;Hy3 Preview)26 |
| CommandCode | API 金鑰 | COMMANDCODE_API_KEY,位於 ~/.hermes/.env(provider:commandcode,別名 commandcode-chat;透過 commandcode-anthropic 使用 Claude 模型,別名 commandcode-claude)。適用於 GOAT/Pro/Max/Provider 方案,不適用於 1 美元的 Go 方案,因為該方案不提供 API 存取權。此外掛程式於 v0.20.3 期間加入。5426 |
| Alibaba Cloud(Coding Plan) | API 金鑰 | DASHSCOPE_API_KEY(provider:alibaba-coding-plan,別名 alibaba_coding);這是獨立計費的 SKU,使用與 alibaba DashScope provider 不同的端點26 |
| Tencent TokenPlan | API 金鑰 | TOKENPLAN_API_KEY,位於 ~/.hermes/.env(provider:tencent-tokenplan,別名:tokenplan、tencent-lkeap;透過 api.lkeap.cloud.tencent.com 的 Anthropic Messages 端點提供 Hy4 預覽版)。v0.21.0 新增;選擇器會將 TokenHub 與 TokenPlan 合併到僅供顯示的「Tencent Hy」列中3536 |
| Nebius Token Factory | API 金鑰 | NEBIUS_API_KEY,位於 ~/.hermes/.env(provider:nebius-token-factory;別名:nebius、nebius-tf、tokenfactory)。v0.21.0 新增3536 |
| Ramp Router | API 金鑰 | RAMP_ROUTER_API_KEY,位於 ~/.hermes/.env(provider:router;別名:ramp-router、ramp、router.com)。Ramp 在 api.router.com 提供原生支援 OpenAI Responses 的 LLM gateway,並使用隨帳戶即時更新的目錄——有效的模型 ID 取決於您金鑰的 /v1/models 傳回內容,因此選擇器會動態擷取,而非寫死。v0.21.0 新增3536 |
| Alibaba Cloud(Token Plan) | API 金鑰 | ALIBABA_TOKEN_PLAN_API_KEY,位於 ~/.hermes/.env(provider:alibaba-token-plan;中國大陸端點:alibaba-token-plan-cn)——Model Studio 的固定 token 方案,與 alibaba、alibaba-coding-plan 並列為 Alibaba 的第 3 種 SKU36 |
| 自訂端點 | config.yaml | hermes model →「自訂端點」(儲存於 config.yaml)。文件列出的 OpenAI 相容服務包括 Together AI、Groq、Cerebras(https://api.cerebras.ai/v1)、Mistral、Azure OpenAI、LocalAI 與 Jan26 |
自 v0.19.0 起,也能排除不使用的 provider:針對個別 provider 設定 enabled: false,並透過 excluded_providers 設定鍵,將其從 /model 選擇器與內建 provider 解析流程中移除。56 |
Anthropic:3 種驗證方式
Anthropic 值得獨立說明,因為 Hermes 支援 3 種不同的 Claude 存取方式,選對方式至關重要。根據上游文件:2
# Method 1: API key (pay-per-token)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6
# Method 2: OAuth through hermes model (preferred)
# Uses Claude Code's credential store when available
hermes model
# Method 3: Manual setup-token (fallback/legacy)
export ANTHROPIC_TOKEN=***
hermes chat --provider anthropic
# Auto-detect Claude Code credentials
hermes chat --provider anthropic # reads Claude Code files automatically
透過 hermes model 選擇 Anthropic OAuth 時,Hermes 會優先使用 Claude Code 本身的憑證儲存區,而不是將 token 複製到 ~/.hermes/.env。如此一來,具備重新整理能力的 Claude 憑證仍可持續重新整理。2 若您已在同一台機器上使用 Claude Code,這是最簡潔的方式。
若要在 config.yaml 中永久指定 Anthropic:
model:
provider: "anthropic"
default: "claude-sonnet-4-6"
--provider claude 與 --provider claude-code 也可作為 --provider anthropic 的簡寫。2
GitHub Copilot:2 種模式
Copilot 支援 2 種模式:直接使用 Copilot API(建議),以及 Copilot ACP(將本機 Copilot CLI 作為子程序啟動)。2
# Direct Copilot API
hermes chat --provider copilot --model gpt-5.4
# Copilot ACP (requires the Copilot CLI in PATH + an existing copilot login)
hermes chat --provider copilot-acp --model copilot-acp
根據上游文件,驗證會依下列順序檢查:2
1. COPILOT_GITHUB_TOKEN 環境變數
2. GH_TOKEN 環境變數
3. GITHUB_TOKEN 環境變數
4. gh auth token CLI 備援方式
5. 透過 hermes model 使用 OAuth 裝置代碼登入
Token 類型很重要。Copilot API 不支援傳統的 Personal Access Token(ghp_*)。支援的類型包括 OAuth token(gho_*)、細粒度 PAT(github_pat_*,須具備 Copilot Requests 權限),以及 GitHub App token(ghu_*)。若 gh auth token 傳回 ghp_* token,請改用 hermes model,透過 OAuth 進行驗證。2
中國 AI Provider(第一級支援)
Hermes 內建支援 z.ai/GLM、Kimi/Moonshot、MiniMax(全球與中國端點),以及具備專用 provider ID 的 Alibaba Cloud。2
# z.ai / ZhipuAI GLM
hermes chat --provider zai --model glm-5 # Requires: GLM_API_KEY
# Kimi / Moonshot AI
hermes chat --provider kimi-coding --model kimi-for-coding # Requires: KIMI_API_KEY
# MiniMax (global)
hermes chat --provider minimax --model MiniMax-M2.7 # Requires: MINIMAX_API_KEY
# MiniMax (China)
hermes chat --provider minimax-cn --model MiniMax-M2.7 # Requires: MINIMAX_CN_API_KEY
# Alibaba Cloud / DashScope (Qwen)
hermes chat --provider alibaba --model qwen3.5-plus # Requires: DASHSCOPE_API_KEY
您可以使用 GLM_BASE_URL、KIMI_BASE_URL、MINIMAX_BASE_URL、MINIMAX_CN_BASE_URL 或 DASHSCOPE_BASE_URL 環境變數覆寫基礎 URL。2
Z.AI 會自動偵測端點。使用 z.ai/GLM provider 時,Hermes 會探測多個端點(全球、中國及 coding 變體),找出可接受您 API 金鑰的端點。可用端點會自動快取——多數使用者無須設定 GLM_BASE_URL。2
xAI(Grok)會自動啟用提示快取。當基礎 URL 包含 x.ai 時,Hermes 會在每個請求中傳送 x-grok-conv-id 標頭,讓同一個對話工作階段持續路由至相同伺服器,從而重複使用已快取的系統提示與歷程記錄。2 此功能全自動運作,無須設定。
hermes auth 指令
hermes auth 是用於管理憑證池與 OAuth 憑證的指令。6
hermes auth # Interactive wizard
hermes auth list # Show all credential pools
hermes auth list openrouter # Show one provider's pool
hermes auth add openrouter --api-key sk-or-v1-xxx
hermes auth add anthropic --type oauth
hermes auth remove openrouter 2 # Remove by index
hermes auth reset openrouter # Clear cooldowns
憑證池可輪替同一 provider 的多組 API 金鑰或 OAuth token——不必修改程式碼,即可將速率限制分散至多組金鑰,十分實用。6 舊版的 hermes login/hermes logout 指令已移除;請改用 hermes auth。6
自訂與自行託管的端點
Hermes 可搭配任何與 OpenAI 相容的 API 端點使用。只要伺服器實作 /v1/chat/completions,即可讓 Hermes 連線。2
互動式設定(建議):
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name
手動設定 config.yaml:
model:
default: your-model-name
provider: custom
base_url: http://localhost:8000/v1
api_key: your-key-or-leave-empty-for-local
這兩種方式都會將設定持久儲存至 config.yaml;它是主模型、provider 與基礎 URL 的唯一資訊來源。2 舊版環境變數 OPENAI_BASE_URL 與 LLM_MODEL 已不再用於讀取主模型設定——請使用 hermes model,或直接編輯 config.yaml。2(OPENAI_BASE_URL 與 OPENAI_API_KEY 仍會作為輔助 provider: "main" 路由路徑的備援設定;若您正在該處使用這些變數,請勿貿然刪除。)4
在工作階段中途切換自訂端點:
/model custom:qwen-2.5 # Custom endpoint with explicit model
/model custom # Auto-detect the model from the endpoint
/model custom:local:qwen-2.5 # Named custom provider "local"
/model custom:work:llama3 # Named custom provider "work"
/model openrouter:claude-sonnet-4 # Back to a cloud provider
/model custom(不加任何模型名稱)會查詢端點的 /v1/models API;若只載入了1個模型,便會自動選取。這對僅執行單一模型的本機伺服器相當實用。2
本機 LLM 伺服器(設定範本)
上游文件提供 Ollama、vLLM、SGLang、llama.cpp 與 LM Studio 的完整設定指南。以下是實際會用到的關鍵命令。每種設定都能建立可供 Hermes 連線的運作中端點。2
Ollama — 最簡便的本機方案,無須設定:
ollama pull qwen2.5-coder:32b
OLLAMA_CONTEXT_LENGTH=32768 ollama serve # Raise from 4k default
hermes model # Custom endpoint → http://localhost:11434/v1 → qwen2.5-coder:32b
Ollama 的重大陷阱:Ollama 預設的 context 長度非常低(VRAM 不足24GB時為4,096個 token)。您必須透過 OLLAMA_CONTEXT_LENGTH 或 Modelfile 提高長度。OpenAI 相容的 API 不會接受用戶端傳入的 context 長度,因此 Hermes 無法代為設定。2若要供 agent 使用,至少應設為16k–32k。
vLLM — 高效能 GPU 推論服務:
pip install vllm
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--port 8000 \
--max-model-len 65536 \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser hermes
如需呼叫 tool,必須使用 --enable-auto-tool-choice 與 --tool-call-parser <name>。支援的 parser 包括:hermes(Qwen 2.5、Hermes 2/3)、llama3_json、mistral、deepseek_v3、deepseek_v31、xlam、pythonic。若未加入這些 flag,tool call 只會以純文字形式傳回。2
SGLang — 運用 RadixAttention 重複使用 KV cache 的高速推論服務:
pip install "sglang[all]"
python -m sglang.launch_server \
--model meta-llama/Llama-3.1-70B-Instruct \
--port 30000 \
--context-length 65536 \
--tp 2 \
--tool-call-parser qwen
SGLang 的陷阱:預設 max_tokens 為128。若回應遭到截斷,請在伺服器上設定 --default-max-tokens,或於 config.yaml 中設定 model.max_tokens。2
llama.cpp / llama-server — 適用於 CPU 與 Apple Silicon Metal:
./build/bin/llama-server \
--jinja -fa \
-c 32768 \
-ngl 99 \
-m models/qwen2.5-coder-32b-instruct-Q4_K_M.gguf \
--port 8080 --host 0.0.0.0
呼叫 tool 時必須使用 --jinja。若未加入,llama-server 會完全忽略 tools 參數,模型則會嘗試在回應文字中寫入 JSON 來呼叫 tool,但 Hermes 無法將其解析為真正的 tool call。2
LM Studio — 具備 GUI 的桌面應用程式:
從 LM Studio 應用程式啟動伺服器(Developer 分頁 → Start Server),或透過 CLI 執行:lms server start(在 port 1234 上啟動)及 lms load qwen2.5-coder --context-length 32768。2接著讓 hermes model 指向 http://localhost:1234/v1。
LM Studio 的重大陷阱:LM Studio 會從模型 metadata 讀取 context 長度,但許多 GGUF 模型回報的預設值是2048或4096。務必在 LM Studio 的模型設定中明確指定 context 長度:按一下模型選擇器旁的齒輪圖示,將「Context Length」設為至少16384(建議32768),再重新載入模型。2
具名自訂 provider
若您使用多個自訂端點(例如本機開發伺服器與遠端 GPU 伺服器),請在 config.yaml 中將其定義為具名自訂 provider:2
custom_providers:
- name: local
base_url: http://localhost:8080/v1
# api_key omitted — Hermes uses "no-key-required" for keyless local servers
- name: work
base_url: https://gpu-server.internal.corp/v1
api_key: corp-api-key
api_mode: chat_completions # optional, auto-detected from URL
- name: anthropic-proxy
base_url: https://proxy.example.com/anthropic
api_key: proxy-key
api_mode: anthropic_messages # for Anthropic-compatible proxies
接著便能在 session 進行期間使用三段式語法切換:
/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4
您也能從 hermes model 的互動式選單中選取具名自訂 provider。2
可插拔的 provider 架構(v0.13.0+)
v0.13.0 提供 ProviderProfile ABC 與 plugins/model-providers/ 資料夾,讓第三方推論 provider 無須修改核心即可整合。18若 provider 採用 OpenAI、Anthropic 或 Codex 相容的 API 模式,您可以實作 ProviderProfile 子類別,宣告驗證路徑、base URL、模型目錄與 caching header;Hermes 會透過內建 provider 所使用的同一條 runtime_provider.py 路徑加以解析。這正是 v0.13.0 擴充 provider 的架構變革:新增 provider 不再需要修改核心程式碼,只要發布 plugin 即可。
OpenAI 相容的本機 proxy(v0.14.0+)
hermes proxy 會公開一個 OpenAI 相容的本機端點,其後端採用 Hermes 已登入的 OAuth provider,例如 Claude Pro、ChatGPT Pro、SuperGrok 或其他已設定的相容 provider。19因此,預期使用 OpenAI 風格 API 的工具,包括 Codex CLI、Aider、Cline、Continue 或自訂 script,都能重複使用 Hermes 以訂閱方案為基礎的驗證,無須另外準備 API key。請將此 proxy 視為本機開發基礎設施:審慎指定綁定位置、切勿廣泛公開,並留意各 provider 的特定條款。
Context 長度偵測
根據上游文件,以下兩項設定經常遭到混淆:2
context_length— context window 的總長度(輸入與輸出合計的 token 預算,例如 Claude Opus 4.7 為1,000,000,Sonnet 4.6 則為200,000)。Hermes 會據此判斷何時壓縮歷史記錄。model.max_tokens— 輸出上限(模型在單次回應中可產生的 token 數量上限),與歷史記錄長度無關。
若自動偵測的 window 大小不正確,請設定 context_length:
model:
default: "qwen3.5:9b"
base_url: "http://localhost:8080/v1"
context_length: 131072 # tokens
Hermes 會透過多來源解析鏈偵測 context window:config override → 自訂 provider 的逐模型設定 → persistent cache → 端點 /models → Anthropic /v1/models → OpenRouter API → Nous Portal → models.dev(由社群維護、涵蓋3800多個模型的 registry)→ fallback 預設值(128K)。2此系統能辨識 provider,因此同一模型會依提供服務者而有不同的 context 上限(例如,claude-opus-4.6 透過 Anthropic 直接提供時為1M,但在 GitHub Copilot 上則為128K)。2
智慧模型路由:provider 輪替與 fallback
Hermes 不會將您限制在單一 provider 的單一模型上。智慧模型路由是一組 用來判定實際由哪個 provider 與模型處理特定 request 的機制:credential pool 會將負載分散至不同 key;primary 發生故障時,由已設定的 fallback 接手; 而下方的 auxiliary slot 則會獨立於 main model,將 side task 路由至成本較低的模型。26請一併設定這三者——這決定了 agent 遇到 rate limit 時是停滯不前,還是能持續運作。
Credential pool。若同一 provider 有多個 API key,請透過 hermes auth 設定輪替策略。如此便能將 rate limit 分散至多個 key。6
Fallback model。設定備援 provider:model,當 primary model 發生故障(rate limit、伺服器錯誤或驗證失敗)時,Hermes 便會自動切換:2
fallback_model:
provider: openrouter # required
model: anthropic/claude-sonnet-4 # required
# base_url: http://localhost:8000/v1 # optional, for custom endpoints
# api_key_env: MY_CUSTOM_KEY # optional, env var name
Fallback 會在 session 進行期間切換模型與 provider,同時保留對話內容。每個 session 最多只會觸發一次。2支援 fallback 的 provider:openrouter、nous、openai-codex、copilot、copilot-acp、anthropic、huggingface、zai、kimi-coding、minimax、minimax-cn、deepseek、ai-gateway、opencode-zen、opencode-go、kilocode、alibaba、custom。2
Auxiliary model
Hermes 會使用「auxiliary」model 處理 side task:影像分析(vision)、危險命令核准分類、context 壓縮、session title 產生、插入 TTS audio tag、skill matching、MCP tool dispatch,以及 Kanban specifier/decomposer 系列。434依預設(auxiliary.*.provider: "auto"),所有 auxiliary task 都會在 main chat model 上執行——也就是您在 hermes model 中選取的同一組 provider/model。文件明確指出,這項設計取代了舊有的低成本 provider 自動偵測機制:「早期版本會將 aggregator 使用者(OpenRouter、Nous Portal)分流至 provider 端的低成本預設模型。這種行為出人意料……auto 現在會讓所有使用者採用 main model,而 config.yaml 中各 task 的 override 仍會優先套用。」34一開始不需要進行任何設定;取捨在於成本——若使用昂貴的 reasoning model,auxiliary task 會產生可觀費用。因此,成本攸關時,請將個別 task 指向便宜且快速的模型。
有兩項先前的輔助任務已完全不再使用LLM:網頁擷取(「web_extract與瀏覽器快照會以確定性方式截斷過長內容,並儲存完整文字,供read_file分頁讀取——全程不涉及LLM」)以及工作階段搜尋(此單一形式的工具會直接傳回資料庫內容)。其舊有的auxiliary.web_extract.*與auxiliary.session_search.*區塊已從預設設定中移除——現有config.yaml內的殘留值「不會造成影響,且會被忽略」——而該標籤的預設設定也同樣不再包含flush_memories欄位。34
您可以設定每項輔助任務所使用的模型與供應商。每個輔助欄位都採用相同的設定項目:provider、model、base_url(以及api_key、timeout、extra_body和各任務專屬的reasoning_effort)。434
auxiliary:
vision: # vision_analyze + browser screenshots
provider: "auto" # "auto" (= main model), "openrouter", "nous", "main", etc.
model: "" # e.g. "openai/gpt-4o", "google/gemini-2.5-flash"
base_url: "" # Custom OpenAI-compatible endpoint
api_key: "" # Falls back to OPENAI_API_KEY
timeout: 120
download_timeout: 30
approval: # dangerous-command approval classifier
provider: "auto"
model: ""
timeout: 30
compression: # summarizer -- legacy compression.summary_* keys migrate here (config v17)
provider: "auto"
model: ""
base_url: ""
timeout: 120
title_generation: # auto-generated session titles after the first exchange
enabled: true # set false to disable auto-titles
provider: "auto"
model: ""
language: "" # empty follows the conversation; e.g. "English" pins titles to one language
tts_audio_tags: { provider: "auto", model: "" } # Gemini 3.1 TTS hidden audio-tag insertion
skills_hub: { provider: "auto", model: "" } # skill matching and search
mcp: { provider: "auto", model: "" } # MCP tool dispatch
triage_specifier: { provider: "auto", model: "" } # hermes kanban specify: rough one-liner into a concrete spec, promoted to todo
kanban_decomposer: { provider: "auto", model: "" } # hermes kanban decompose: triage task into a graph of child tasks routed to specialist profiles
profile_describer: { provider: "auto", model: "" } # hermes profile describe --auto: 1-2 sentence profile descriptions
其他專門用途的欄位也採用相同結構——goal_judge(判斷是否滿足/goal契約)、curator(用於檢視skill使用情況的分支)、background_review(每輪結束後執行自我改進的分支)、review(/review的審查子代理程式)、moa_reference與moa_aggregator(Mixture-of-Agents)、memory_query_rewrite,以及monitor——而且完全不必手動編輯YAML:執行hermes model,再選取「Configure auxiliary models」,即可透過互動式選擇器逐項設定任務。34
"main"供應商選項表示「使用主代理程式所用的供應商」——此選項僅適用於auxiliary:、compression:與主要備援項目(fallback_providers:或舊版的fallback_model:)。它不適用於頂層的model.provider設定。若主模型使用自訂的OpenAI相容端點,請在model:區段中設定provider: custom。4
這一點為何重要:由於auto本來就會沿用主模型,過去「必須設定OpenRouter,否則輔助任務會在未告知的情況下降級」的陷阱已不復存在——如今需要權衡的是成本。若主模型是昂貴的推理模型,建議將頻繁運作的次要任務交由便宜且快速的模型處理:
auxiliary:
vision:
provider: "openrouter"
model: "google/gemini-2.5-flash"
compression:
provider: "openrouter"
model: "google/gemini-2.5-flash"
設定系統
Hermes 採用分層設定系統。理解其優先順序至關重要,因為較高層會覆寫較低層;其中一層是無法在 config.yaml 中看見的全域提供者登錄檔。
設定檔配置
根據上游文件,Hermes 設定由以下檔案組成:4
~/.hermes/
├── config.yaml # All settings (model, terminal, TTS, compression, memory, toolsets, ...)
├── .env # Secrets (API keys, bot tokens, passwords)
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
config.yaml 與 .env——兩者皆有設定時,非機密設定以 config.yaml 為準。4規則如下:
- 機密資料(API 金鑰、機器人權杖、密碼)→ .env
- 其他所有設定(模型、終端機後端、壓縮設定、記憶體限制、toolsets)→ config.yaml
您可以使用 shell 風格的插值語法,在 config.yaml 中參照機密資料:4
auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
delegation:
api_key: ${DELEGATION_KEY}
管理設定
hermes config # View current configuration
hermes config show # Same as above
hermes config edit # Open config.yaml in your editor
hermes config set KEY VAL # Set a specific value
hermes config get KEY # Print a single value (v0.19.0+)
hermes config unset KEY # Remove a key so the default applies again (v0.19.0+)
hermes config path # Print the config file path
hermes config env-path # Print the .env file path
hermes config check # Check for missing options (after updates)
hermes config migrate # Interactively add missing options
範例:4
hermes config set model anthropic/claude-opus-4
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-... # Saves to .env
每次執行 hermes update 後,都應執行 hermes config check 與 hermes config migrate。這些命令會找出新加入但設定檔中尚未包含的設定選項。6
設定優先順序
Hermes 會從多個來源載入設定。若多個來源設定了相同的值,則以優先順序較高者為準:4
- CLI 引數——
hermes chat --model anthropic/claude-sonnet-4(針對單次呼叫覆寫) - 環境變數——於程序啟動時套用
config.yaml——主要設定檔.env——僅存放機密資料- 內建預設值——未由其他來源設定值時套用
CLI 旗標在該次呼叫中一律具有最高優先權。config.yaml 則是長期維護的單一真實來源。
在地化(v0.13.0+)
v0.13.0 為 CLI 與 gateway 訊息新增了 7 種語系:簡體中文、日文、德文、西班牙文、法文、烏克蘭文及土耳其文。18 v0.14.0 將所有 gateway 命令與網頁儀表板全面在地化,並新增 8 種語系,使總數達到 16 種。19截至 v2026.8.31 標籤,locales/ 目錄樹包含 17 份訊息目錄——英文加上 16 種翻譯(af、ar、de、es、fr、ga、hu、it、ja、ko、pt、ru、tr、uk、zh-hant、zh)。33目前文件僅提供 zh-Hans 在地化版本。系統會根據 LC_ALL/LANG 環境變數,或 config.yaml 中明確設定的 locale: 鍵決定語系。英文仍是預設語言,也是翻譯尚未涵蓋之字串的單一真實來源。
Profiles——多個相互隔離的 Hermes 執行個體
Profiles 讓您擁有多個相互隔離的 Hermes 執行個體,每個執行個體都有各自的設定、工作階段、skills、記憶體及 gateway PID。如此便能讓「工作用 Hermes」與「個人用 Hermes」並行運作,且彼此無法存取對方的狀態。6
hermes profile list
hermes profile create work --clone # Clone from current profile
hermes profile use work # Set sticky default
hermes profile alias work --name h-work # Create wrapper script
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes -p work chat -q "Hello from work profile" # One-off without switching
每個 profile 都有各自的 HERMES_HOME(預設為 ~/.hermes-<name>/),因此多個 profiles 能同時執行 gateway,互不干擾。63
自 v0.21.2 起,隔離邊界的執行更加嚴謹:一系列修正解決了多工 gateway 設定中確實存在的跨 profile 洩漏問題。先前,次要 profiles 可能會繼承預設 profile 的允許清單、將憑證傳送至其主機、把該 profile 憑證庫中的機密資料交給 stdio MCP 伺服器,或將另一個 profile 的 .env/auth.json/state.db 附加至 MEDIA: 傳送內容(#107609-#107630)。若您採用多工 profiles,從 v0.21.2 標籤開始,隔離承諾才真正落實——請參閱 v0.21.2 的新功能。48
CLI 命令
本節是提供給實務工作者參考的頂層CLI命令指南。如需以程式碼為準的權威參考資料,請參閱上游的CLI命令參考。6
全域選項
hermes [global-options] <command> [subcommand/options]
| 選項 | 說明 |
|---|---|
--version, -V |
顯示版本後結束 |
--profile <name>, -p <name> |
選取要使用的Hermes profile |
--resume <session>, -r <session> |
依ID或標題恢復session |
--continue [name], -c [name] |
恢復最近的session(或比對標題) |
--worktree, -w |
在隔離的git worktree中啟動 |
--in <dir> |
啟動或恢復前切換至DIR。與--resume latest或-c搭配使用時,系統會選取DIR所屬workspace最近的session,且session會留在DIR中(略過已記錄cwd的還原作業)27 |
--ignore-user-config |
忽略~/.hermes/config.yaml並改用內建預設值(仍會載入.env中的憑證)27 |
--ignore-rules |
略過自動注入AGENTS.md、SOUL.md、.cursorrules、memory及預載skills27 |
--tui |
啟動現代化TUI,而非傳統REPL27 |
--cli |
強制使用傳統prompt_toolkit REPL(覆寫display.interface=tui)27 |
--dev |
與--tui搭配:透過tsx執行TypeScript原始碼(略過dist建置)27 |
--yolo |
略過危險命令的核准提示 |
--safe-mode |
疑難排解旗標——以最精簡的安全模式啟動Hermes,以釐清啟動問題(v0.19.0+)56 |
--pass-session-id |
在agent的system prompt中加入session ID |
頂層命令
| 命令 | 用途 |
|---|---|
hermes chat |
互動式或單次聊天 |
hermes model |
以互動方式選擇預設provider與model |
hermes gateway |
執行或管理訊息gateway |
hermes setup |
互動式設定精靈 |
hermes auth |
管理憑證——新增、列出、移除、重設及設定策略 |
hermes status |
顯示agent、驗證與平台狀態 |
hermes cron |
檢查並推進cron排程器 |
hermes webhook |
管理動態webhook訂閱 |
hermes doctor |
診斷設定與相依性問題 |
hermes dump |
產生可直接複製貼上的設定摘要,用於支援/偵錯 |
hermes logs |
檢視、持續追蹤及篩選agent/gateway/錯誤日誌 |
hermes config |
顯示、編輯、遷移及查詢設定 |
hermes pairing |
核准或撤銷訊息平台的配對碼 |
hermes skills |
瀏覽、安裝、發布及稽核skills |
hermes honcho |
管理Honcho跨session memory。是否提供此命令取決於plugin:文件指出「Plugin專屬子命令(例如hermes honcho)會在其provider啟用時自動註冊」,因此除非Honcho是目前啟用的memory provider,否則hermes --help不會顯示此命令6 |
hermes memory |
設定外部memory provider |
hermes acp |
將Hermes作為ACP伺服器執行(編輯器整合) |
hermes mcp |
管理MCP伺服器設定;將Hermes作為MCP伺服器執行 |
hermes plugins |
管理plugins |
hermes tools |
依平台設定啟用的tools |
hermes sessions |
瀏覽、匯出、修剪及刪除sessions。v0.19.0將hermes sessions export擴充至支援Markdown、Quarto、HTML、僅prompt及Hugging Face trace格式,另提供選用的--redact機密資訊清除流程,以及依時間、workspace與平台篩選的功能56;hermes sessions recover可從損壞的state.db重建標準session資料,並存入另一個全新的資料庫。此程序離線執行且不會破壞原始資料;使用--inspect-only可回報標準資料表是否可讀,而不建立新資料庫(v0.21.2所指向的復原途徑)48;hermes sessions set-journal-mode delete\|wal(v0.21.4期間)可在離線狀態下,於WAL與rollback-journal之間轉換儲存區——只要有其他處理程序占用資料庫或sidecar便會拒絕執行,不會等待占用者結束;轉換後還會驗證SQLite header的第18/19位元組,並可透過--db指定非預設儲存區。請先停止gateway、dashboard及所有CLI;在Windows上,由於不會掃描占用者,您必須自行停止所有Hermes處理程序,再傳入--force,否則命令會拒絕執行。此分派刻意採離線方式進行,確保命令絕不開啟其正在轉換的儲存區;hermes doctor現在也會指引使用此命令51 |
hermes insights |
顯示token/成本/活動分析 |
hermes claw |
OpenClaw遷移輔助工具 |
hermes profile |
管理profiles(多個彼此隔離的執行個體) |
hermes completion |
輸出shell自動完成指令稿(bash/zsh) |
hermes whatsapp |
設定並配對WhatsApp橋接器 |
hermes --version (-V) |
輸出版本資訊。這是全域旗標,而非子命令:在標籤v2026.8.31中,_BUILTIN_SUBCOMMANDS集合沒有version項目,啟動快速路徑也只比對--version/-V27 |
hermes update |
提取最新程式碼並重新安裝相依套件 |
hermes uninstall |
從系統移除Hermes(--full也會刪除設定/資料) |
hermes backup |
完整備份設定、sessions、skills及memory(v0.9.0+)16 |
hermes import |
從備份封存檔還原——可用於跨機器遷移或復原至先前狀態(v0.9.0+)16 |
hermes dashboard |
啟動本機網頁dashboard,以便透過瀏覽器管理agent(v0.9.0+)16 |
hermes serve |
以無介面模式執行後端API伺服器——自v0.19.0起,不再建置或掛載網頁UI56 |
hermes debug share |
將完整偵錯報告上傳至pastebin,方便在疑難排解時分享(v0.9.0+)16 |
hermes approvals |
核准提示工具:suggest會分析核准歷史記錄,產生command_allowlist提案;test則會模擬判定某個命令是否獲准,但不會實際執行(「絕不會執行該命令」,並支援--backend與--json)。v0.21.0版本資訊將這項模擬功能稱為hermes approval-check,但標籤v2026.8.31中並不存在approval-check子命令——實際介面是hermes approvals test2740 |
hermes bundles |
建立、列出及管理skill bundles(將多個skills整合至單一/<name>斜線命令下的別名)27 |
hermes checkpoints |
檢查/修剪/清除~/.hermes/checkpoints/,也就是/rollback背後的shadow store;不帶引數執行可查看狀態總覽27 |
hermes computer-use |
管理Computer Use(cua-driver)後端(macOS/Windows/Linux)27 |
hermes console |
開啟安全的Hermes命令主控台27 |
hermes curator |
背景skill維護(curator):狀態、執行、暫停、釘選27 |
hermes egress |
管理iron-proxy輸出流量憑證注入防火牆,供遠端終端機sandbox使用(預設停用)27 |
hermes fallback |
管理fallback providers,主要model失敗時會依序嘗試27 |
hermes hooks |
檢查及管理shell指令稿hooks:list、test <event>、revoke及doctor(執行位元、allowlist、mtime偏移、JSON有效性、模擬執行耗時)27 |
hermes import-agent |
將Claude Code(~/.claude)或Codex CLI(~/.codex)設定匯入Hermes27 |
hermes desktop(別名gui) |
建置並啟動原生Electron桌面應用程式27 |
hermes kanban |
多profile協作看板(任務、連結、留言),包含boards、swarm graph(swarm:平行workers → verifier → synthesizer)及dispatcher27 |
hermes login / hermes logout |
已棄用。請使用hermes auth管理憑證、hermes model選取provider,或透過hermes setup完成完整設定27 |
hermes lsp |
Language Server Protocol管理:status、list、install <server>、install-all及restart(關閉執行中的LSP clients;下次編輯時會重新啟動)27 |
hermes migrate |
遷移已退役model或已棄用設定的組態27 |
hermes moa |
設定Mixture of Agents provider/model插槽(可從model選擇器選用的具名預設組合)27 |
hermes journey(別名learning、memory-graph) |
按時間呈現已學習skills與memories的時間軸27 |
hermes monitoring |
檢查gateway監控(健康狀態與診斷匯出);status會顯示設定、匯出狀態及遮蔽機制狀態27 |
hermes pause / hermes resume |
緊急停止:pause會停止cron/kanban分派與新的gateway回合;resume則解除暫停27 |
hermes peer |
跨機器bot對bot私訊:使用add、list及remove管理其他Hermes gateways,並以dm向其中一個gateway上的agent傳送私訊及輸出其回覆27 |
hermes pets |
瀏覽、安裝及選取petdex動畫寵物27 |
hermes portal |
設定Nous Portal(登入、選取model、Tool Gateway):login(預設)、info、open、tools;請參閱Nous Tool Gateway2728 |
hermes project |
管理projects(具名的多資料夾workspaces):建立、列出、顯示、新增/移除資料夾、重新命名、設定主要資料夾、使用、封存、還原,以及綁定kanban board27 |
hermes proxy |
連至OAuth providers的本機OpenAI相容proxy:start、status、providers27 |
hermes prompt-size |
顯示system prompt與tool schemas的位元組明細;離線執行27 |
hermes send |
不啟動agent迴圈、也不使用LLM,直接向已設定的平台傳送訊息(指令稿、cron工作、CI)27 |
hermes skin |
列出、切換及微調skins(list、use、set)27 |
hermes slack |
Slack整合輔助工具:manifest會輸出或寫入Slack app manifest,將每個gateway命令註冊為原生slash27 |
hermes sync |
跨裝置及團隊的Skill Sync:status、pull、push、now、enable、disable、device、propose27 |
hermes whatsapp-cloud |
設定WhatsApp Business Cloud API整合(有別於hermes whatsapp的Baileys個人帳號橋接器)27 |
hermes worktree |
稽核並回收累積的git worktrees及已合併branches。list(別名ls、audit;預設命令)會依存留時間、大小、判定及原因為每個tree分類;prune會移除安全的trees,並刪除已完全合併的本機branches。兩者均接受--repo <root>;prune另提供--dry-run(僅顯示計畫,不進行任何變更)、--trees-only及--branches-only。它絕不會刪除含有未提交tracked changes、尚未推送的獨有commits或正在使用的trees;僅含untracked暫存內容的tree會先封存至~/.hermes/archive/worktree-prune/再移除27 |
hermes secrets |
管理外部機密資訊來源(Bitwarden、1Password),以便在處理程序啟動時提取API keys27 |
hermes security |
對venv、plugins及MCP伺服器執行供應鏈稽核(OSV.dev)(audit)27 |
hermes verify |
偵測project的執行方式並進行smoke test27 |
hermes chat——主要進入點
不帶引數執行hermes會直接進入互動式聊天。hermes chat則是明確指定的形式,並提供以下選項:6
hermes chat -q "Summarize the latest PRs" --oneshot # Answer and exit (without --oneshot, a TTY seeds an interactive session)
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills # Enable specific toolsets
hermes chat --quiet -q "Return only JSON" # Programmatic mode
hermes chat --worktree -q "Review repo and open a PR"
主要選項:
| 選項 | 說明 |
|---|---|
-q, --query "..." |
要執行的查詢。v0.21.0已有變更:在真正的TTY中,現在會用它啟動互動式session(將其原封不動地提交為第一輪訊息);若搭配--oneshot或-Q,或在非TTY環境中,則會回覆後結束——也就是舊有的單次查詢行為40 |
--query-file PATH |
從檔案讀取單一查詢,不從命令列取得(-會讀取stdin)。內容完全不經shell解譯,因此引號、$(...)與反引號都會原封不動地傳入;不可與-q同時使用51 |
--oneshot |
與-q/--query-file搭配:回答查詢後結束(舊版單次查詢行為)。非TTY stdio環境,以及使用-Q/--quiet時,會自動套用此選項40 |
-m, --model <model> |
覆寫此次執行使用的model |
-t, --toolsets <csv> |
啟用以逗號分隔的一組toolsets |
--provider <provider> |
強制使用特定provider(請參閱完整清單) |
-s, --skills <name> |
為此session預載一個或多個skills |
-v, --verbose |
顯示詳細輸出 |
-Q, --quiet |
程式化模式(不顯示橫幅、spinner及預覽) |
--format <fmt> |
單次查詢模式(-q或--query-file)的輸出格式:text(預設)會將最終回覆以純文字輸出;stream-json會輸出以換行分隔的JSON事件(JSONL)——依序為system/init事件、text增量、tool_use/tool_result事件,最後是一個終止用的result封裝,其中包含exit code、最終文字及token統計資料。stream-json會自動套用--quiet,且必須搭配-q或--query-file(未提供時以exit 2結束),也不能與--tui同時使用;診斷訊息與session ID會保留在stderr,而每個事件的tool輸出上限為5,000個字元(v0.21.4期間)51 |
--resume <session> |
直接從chat恢復session |
--worktree |
建立隔離的git worktree |
--checkpoints |
在破壞性變更前啟用檔案系統checkpoints |
--yolo |
略過核准提示 |
--source <tag> |
Session來源標籤(預設:cli;整合用途請使用tool) |
--max-turns <N> |
每個對話回合可呼叫tool的最大迭代次數(自v0.20.0起預設為500,亦可使用設定中的agent.max_turns)40 |
hermes setup——完整精靈
執行完整設定精靈,或直接進入其中一個區段:6
hermes setup # Full wizard
hermes setup model # Provider and model only
hermes setup terminal # Terminal backend only
hermes setup gateway # Messaging platforms only
hermes setup tools # Tool enable/disable per platform
hermes setup agent # Agent behavior only
hermes setup --non-interactive
hermes setup --reset # Reset config to defaults before setup
hermes logs——結構化日誌查詢
hermes logs比直接對日誌檔案執行tail -f更為強大,因為它能同時依層級、session ID及時間範圍進行篩選。6
hermes logs # Last 50 lines of agent.log
hermes logs -f # Follow in real time
hermes logs gateway -n 100 # Last 100 lines of gateway.log
hermes logs --level WARNING --since 1h # Warnings from the last hour
hermes logs --session abc123 # Filter by session ID substring
hermes logs errors --since 30m -f # Follow errors.log from 30m ago
hermes logs list # List all log files with sizes
日誌檔案位於~/.hermes/logs/:6
- agent.log——所有agent活動(API呼叫、tool分派、session生命週期、INFO以上層級)
- errors.log——僅包含警告與錯誤(agent.log經篩選後的子集)
- gateway.log——訊息gateway活動(平台連線、分派、webhooks)
系統會透過Python的RotatingFileHandler自動輪替——可尋找agent.log.1、agent.log.2等檔案。6
hermes doctor——診斷
發生問題時,應優先執行hermes doctor [--fix]。它會檢查設定有效性、相依套件是否存在、API key是否可用及服務狀態,並可透過--fix嘗試自動修復。6
若要與他人分享診斷資訊,請使用hermes dump——它會產生精簡的純文字摘要,並遮蔽API keys,可直接貼至GitHub issue或Discord討論串。6
Slash 指令
Slash 指令可在使用中的聊天工作階段內執行(CLI或訊息平台)。這些指令由hermes_cli/commands.py中的共用COMMAND_REGISTRY分派,因此大多數指令在不同介面上的運作方式完全相同。9
工作階段控制
| 指令 | 說明 |
|---|---|
/new(別名/reset) |
啟動新的工作階段 |
/clear |
清除畫面並啟動新的工作階段 |
/history |
顯示對話記錄 |
/save |
儲存目前的對話 |
/retry |
重試上一則訊息 |
/undo |
移除上一組使用者與助理的對話 |
/title <name> |
設定目前工作階段的標題 |
/compress |
手動壓縮對話 context |
/rollback [number] |
列出或還原檔案系統 checkpoint |
/stop |
終止所有執行中的背景程序 |
/status |
顯示工作階段、模型、token 與 context 資訊——自 v0.20.5 時期起,亦會顯示推理模式、待處理的核准項目及 context 使用量4035 |
/queue <prompt> |
將 prompt 排入下一輪佇列。注意:/q同時由/queue與/quit宣告;以最後註冊者為準,因此實際上/q會解析為/quit——請一律完整輸入/queue。9 |
/resume [name] |
恢復先前已命名的工作階段 |
/statusbar(別名/sb) |
切換 context/模型狀態列 |
/background <prompt>(別名/bg) |
在獨立的背景工作階段中執行 prompt |
/btw <question> |
暫時性的附帶問題(不使用工具,也不會保存) |
/plan [request] |
載入內建的plan skill,以撰寫計畫而非直接執行 |
/branch [name](別名/fork) |
從目前工作階段建立分支 |
/goal <target> |
將 agent 鎖定於特定目標,使其跨輪次持續專注於任務。這是將 Ralph-loop 模式納為第一級原語的實作,並可設定輪次上限。v0.13.0 新增。18 |
/subgoal <criterion> |
在不重新啟動迴圈的情況下,為作用中的/goal新增成功條件。v0.14.0 新增。19 |
/handoff <target> |
將進行中的工作階段(包括訊息、工具呼叫與 context)移交給另一個模型、persona 或 profile。v0.14.0 新增。19 |
/worktree [new [name]\|list\|prune [--dry-run]] |
無須離開工作階段,即可檢查、建立或回收隔離的 git worktree。new會在儲存庫的.worktrees/下建立 worktree,並將工作階段移入其中;list會列出所有 worktree;prune則執行與hermes worktree prune相同、須有人監督的回收作業。根據文件所述,它「絕不會動到工作階段目前所在的 worktree」27 |
設定與模型
| 指令 | 說明 |
|---|---|
/config |
顯示目前設定 |
/model [model-name] |
顯示或變更目前模型 |
/provider |
顯示可用的 provider 與目前使用的 provider |
/personality [name] |
設定 personality 疊加層 |
/verbose |
循環切換工具進度顯示方式 |
/reasoning |
管理推理強度與顯示方式。v0.19.0 新增max與ultra強度等級,並將/reasoning限定於工作階段範圍;設定中也支援針對個別模型及每個 MoA slot 覆寫推理強度56 |
/skin |
顯示或變更顯示外觀/主題 |
/voice [on\|off\|tts\|status] |
切換CLI語音模式 |
/yolo |
切換 YOLO 模式(略過核准提示)。自 v0.19.0 起,即使在 YOLO 模式下,使用者自訂的拒絕規則仍會阻擋相符的指令56 |
/fast |
切換 Fast Mode——為 OpenAI 與Anthropic模型提供優先處理(v0.9.0+)16 |
/debug |
快速診斷所有平台(v0.9.0+)16 |
/subscription |
直接從終端機管理您的 Nous Portal 方案——查看方案及剩餘額度、預覽升級/降級費用,並可套用及復原變更(v0.19.0+)56 |
/topup |
無須離開終端機,即可為 Nous Portal 餘額儲值(v0.19.0+)56 |
若要在工作階段進行途中切換 provider,/model是最常用的核心指令:9
/model # Show current model and options
/model claude-sonnet-4 # Switch model (auto-detect provider)
/model zai:glm-5 # Switch provider:model
/model custom:qwen-2.5 # Use model on custom endpoint
/model custom # Auto-detect model from custom endpoint
/model custom:local:qwen-2.5 # Named custom provider
/model openrouter:anthropic/claude-sonnet-4 # Back to cloud
v0.19.0 新增/model --once——僅套用一輪的模型覆寫;回覆完成後,會自動恢復先前的模型。56 自 v0.20.5 時期起,/model選擇器也支援模糊搜尋,會隨著輸入即時篩選。2335
工具、Skills 與資訊
| 指令 | 說明 |
|---|---|
/tools [list\|disable\|enable] [name...] |
管理目前工作階段的工具 |
/toolsets |
列出可用的 toolset |
/browser [connect\|disconnect\|status] |
管理本機 Chrome CDP 連線 |
/skills |
搜尋、安裝、檢視或管理 skill |
/cron |
管理排程任務 |
/reload-mcp |
從 config.yaml 重新載入MCP伺服器 |
/plugins |
列出已安裝的外掛程式 |
/help |
顯示所有指令 |
/usage |
顯示 token 用量、費用與執行時間 |
/insights |
顯示使用情況分析(最近 30 天) |
/platforms |
顯示訊息平台狀態 |
/profile |
顯示作用中的 profile 名稱與主目錄 |
/palette |
開啟模糊搜尋指令面板(也可按 Ctrl+P)——以模糊搜尋查找所有指令與 skill。於 v0.20.5 時期推出4035 |
動態 Skill Slash 指令
每個已安裝的 skill 都會自動公開為 Slash 指令:9
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
/excalidraw # Just the skill name loads it and lets the agent ask what you need
自 v0.19.0 起,Slash skill 呼叫可堆疊:/skill-a /skill-b do XYZ會依序在單一輪次中載入兩個 skill,並為串連的名稱提供自動完成與 ghost text。56
您也可以在config.yaml中定義快速指令,將簡短名稱設為較長 prompt 的別名:9
quick_commands:
review: "Review my latest git diff and suggest improvements"
deploy: "Run the deployment script at scripts/deploy.sh and verify the output"
morning: "Check my calendar, unread emails, and summarize today's priorities"
接著在CLI中輸入/review、/deploy或/morning即可。
前綴比對
指令支援前綴比對:輸入/h會解析為/help,輸入/mod則會解析為/model。若前綴存在歧義,會採用 registry 註冊順序中的第一個項目。完整指令名稱與已註冊的別名,優先順序一律高於前綴比對。9
訊息平台專用指令
部分指令僅適用於訊息平台(Telegram、Discord、Slack、WhatsApp、Signal、Email、Home Assistant):9
/status——顯示工作階段資訊(已不再僅限訊息平台使用;請參閱工作階段控制)/sethome(別名/set-home)——將目前聊天標示為平台首頁/approve [session|always]——核准待處理的危險指令/deny [reason]——拒絕待處理的危險指令。自 v0.19.0 起,/deny <reason>會將您的拒絕理由傳達給 agent,使其能調整做法,而非毫無頭緒地重試56/update——將 Hermes Agent 更新至最新版本/commands [page]——分頁瀏覽所有指令與 skill
另有部分指令僅限CLI使用:/skin、/tools、/toolsets、/browser、/config、/cron、/skills、/platforms、/paste、/statusbar、/plugins。9
Tools 與 Toolsets
Hermes 內建廣泛的工具登錄檔,涵蓋網路搜尋、瀏覽器自動化、終端機執行、檔案編輯、記憶、委派、RL 訓練、訊息傳送、Home Assistant 整合等功能。10 工具會整理成邏輯性的 toolset,可依平台啟用或停用。
高階分類
| 類別 | 範例 | 說明 |
|---|---|---|
| 網路 | web_search, web_extract |
搜尋網路並擷取頁面內容 |
| 終端機與檔案 | terminal, process, read_file, patch |
執行命令及操作檔案 |
| 瀏覽器 | browser_navigate, browser_snapshot, browser_vision |
透過文字與視覺功能進行互動式瀏覽器自動化 |
| 媒體 | vision_analyze, video_analyze, video_generate, image_generate, text_to_speech |
多模態分析與生成。video_analyze 以 Gemini 為優先,並可擴充支援相容的多模態供應商(v0.13.0+)。v0.14.0 新增統一的 video_generate,支援可插拔的供應商後端;當使用中的模型具備視覺能力時,還會透過 vision_analyze 傳送原始像素。1819 |
| Agent 協調 | todo, clarify, execute_code, delegate_task |
規劃、釐清、程式碼執行、子 Agent 委派 |
| 電腦操作 | computer_use |
透過 cua-driver 後端控制桌面;v0.14.0 起可搭配非 Anthropic、但具備視覺能力的供應商使用。19 |
| 記憶與回溯 | memory, session_search |
持久記憶與工作階段搜尋 |
| 自動化與傳送 | cronjob, send_message |
排程工作、對外傳送訊息 |
| 整合 | ha_*, MCP tools, rl_* |
Home Assistant、MCP、RL 訓練 |
常見的 toolset 名稱包括 web、terminal、file、browser、vision、image_gen、moa、skills、tts、todo、memory、session_search、cronjob、code_execution、delegation、clarify、homeassistant 與 rl。10
管理工具
hermes chat --toolsets "web,terminal" # Use specific toolsets
hermes tools # Interactive per-platform tool config
hermes tools --summary # Print enabled-tools summary
您也能在工作階段進行期間,透過 /tools disable <name> 與 /tools enable <name> 切換工具。這會重設工作階段,讓新的工具組合生效。9
終端機後端
終端機工具內建 7 種執行後端;自 v0.20.6 起,此機制也像供應商選擇器一樣可透過外掛擴充(見下文):1024
| 後端 | 使用情境 |
|---|---|
local |
在您的電腦上執行(預設)——適合開發與可信任的工作 |
docker |
隔離容器——適合重視安全性與可重現性的情境 |
ssh |
遠端伺服器——作為沙箱使用,避免 Agent 接觸自身程式碼 |
singularity |
HPC 容器——適合叢集運算,且無須 root 權限 |
modal |
無伺服器雲端執行 |
daytona |
雲端沙箱工作區——持久化的遠端開發環境 |
vercel_sandbox |
Vercel Sandbox 雲端 microVM——提供雲端執行與由快照支援的檔案系統持久性。請安裝 hermes-agent[vercel]、設定 terminal.vercel_runtime(node24、node22 或 python3.13),並使用 VERCEL_TOKEN、VERCEL_PROJECT_ID 與 VERCEL_TEAM_ID 進行驗證;遠端工作區根目錄預設為 /vercel/sandbox24 |
可使用 hermes config set terminal.backend <name> 切換後端,或在 config.yaml 中設定:
terminal:
backend: docker # or: local, ssh, singularity, modal, daytona, vercel_sandbox
cwd: "." # Working directory
timeout: 180 # Command timeout in seconds
外掛後端(v0.20.6+)。 第三方沙箱供應商不再需要將程式碼併入核心儲存庫:外掛載入時,會透過 PluginContext.register_terminal_environment_provider 登錄 TerminalEnvironmentProvider,登錄的名稱隨即能像內建後端一樣,透過 terminal.backend 選用。內建名稱均為保留名稱——若供應商名稱與原始碼樹中的後端衝突,登錄檔便會拒絕該供應商。由於核心會在每個分類位置查詢登錄檔,而非使用硬編碼的名稱清單,因此登錄後端會自動整合至所有核心介面與機制,包括 hermes setup 後端選擇器、儀表板探測狀態、hermes doctor 檢查、容器路徑與目前工作目錄處理,以及機密資訊移除。32
SSH 後端(基於安全考量而建議使用——Agent 無法修改自身程式碼):10
terminal:
backend: ssh
# In ~/.hermes/.env
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa
Docker 後端:
terminal:
backend: docker
docker_image: python:3.11-slim
容器資源(適用於 docker、singularity、modal、daytona):10
terminal:
container_cpu: 1
container_memory: 5120 # MB (default 5GB)
container_disk: 51200 # MB (default 50GB)
container_persistent: true # Persist filesystem across sessions
設定 container_persistent: true 後,已安裝的套件、檔案與設定會跨工作階段保留。10
所有容器後端都採用安全強化措施:唯讀根檔案系統(Docker)、捨棄除 DAC_OVERRIDE、CHOWN 與 FOWNER 以外的所有 Linux 權能、禁止提升權限、PID 上限(256 個處理程序)、完整的命名空間隔離,以及透過磁碟區建立持久化工作區。10
背景處理程序
終端機工具支援背景執行,並提供明確的處理程序管理功能:10
terminal(command="pytest -v tests/", background=true)
# Returns: {"session_id": "proc_abc123", "pid": 12345}
process(action="list") # Show all running processes
process(action="poll", session_id="proc_abc123") # Check status
process(action="wait", session_id="proc_abc123") # Block until done
process(action="log", session_id="proc_abc123") # Full output
process(action="kill", session_id="proc_abc123") # Terminate
process(action="write", session_id="proc_abc123", data="y") # Send input
PTY 模式(pty=true)可支援 Codex 與 Claude Code 等互動式 CLI tools。10
Sudo
若命令需要 sudo,Hermes 會提示您輸入密碼,並於該工作階段快取密碼。也可以在 ~/.hermes/.env 中設定 SUDO_PASSWORD。10
Multi-Agent Kanban(v0.13.0+)
v0.13.0 將多 Agent 協作提升為第一級基礎功能:使用持久化 Kanban 看板,跨 Agent 與系統重新啟動追蹤工作、狀態及 worker 身分。18 正因有了這塊看板,一群 Hermes worker 才能真正完成工作,不致因交接中斷而停滯不前。
| 機制 | 功能 |
|---|---|
| 心跳 | 每位 worker 擁有工作期間都會持續傳送心跳。心跳中斷時,系統會將該 worker 標記為可疑,並釋出工作供其他 worker 重新接手。 |
| 重新接手 | 其他 worker 可接手遭遺棄的工作,並取得完整的工作狀態與先前的部分輸出。 |
| 殭屍偵測 | worker 若在未將工作標示為完成的情況下結束,系統會自動禁止其領取新工作,避免 worker 群持續累積失效身分。 |
| 幻覺閘門 | 未通過閘門的輸出不會被標示為完成,而是會連同註明的原因退回看板。 |
每項工作的 max_retries |
針對已知較不穩定的工作,覆寫預設重試額度。 |
| 多專案看板 | 單一 Hermes 主目錄可容納多個彼此獨立的看板。 |
Kanban 看板可自然搭配 /goal(鎖定目標的 Ralph 迴圈)處理目標端,並沿用既有的 delegate_task tool 處理生成語意。由此形成一種 worker 群模式:每個 Agent 都共用同一份事實來源,清楚掌握接下來該做什麼、由誰負責,以及哪些工作陷入停滯。
什麼是 Hermes Swarm?
swarm 是由多個 Hermes worker 組成,這些 worker 會針對同一個共用 Kanban 看板平行運作。 它並非需要另外啟用的獨立子系統——而是看板所促成的運作方式。看板 提供了平行 Agent 無法自行建立的關鍵能力:針對「接下來該接手哪項工作,而且是否已有其他人正在處理?」 給出單一且具權威性的答案。
v0.15.0 將此模式提升為正式支援的拓撲,新增用於 平行 worker 協調的 swarm 拓撲、將高階目標拆分成子工作的 自動分解、每項工作的模型覆寫、排程工作,以及工作樹管理,避免平行 worker 在同一份簽出內容中發生衝突。59
| 樸素多 Agent 設定中的問題 | 看板的因應方式 |
|---|---|
| 2 個 worker 接手同一項工作 | 領取工作時會記錄所有權與 worker 身分 |
| worker 在工作途中停止,而工作成果隨之消失 | 心跳逾期後,由其他 worker 接手工作並保留先前的部分輸出 |
| 已當機的 worker 永遠「占用」工作 | 殭屍偵測會禁止其領取新工作 |
| 每項子工作都使用同一個高成本模型 | 每項工作可覆寫模型——機械式子工作可採用成本較低的模型 |
| 平行 worker 編輯相同檔案 | 工作樹管理會隔離各個 worker 的簽出內容 |
實際運作方式如下:為 swarm 指定目標,讓自動分解功能將其拆成看板工作,
再由 worker 領取、執行並回傳結果。重試額度按工作設定(max_retries),
因此單一不穩定的子工作不會耗盡整個執行作業的容錯額度。由於看板具備
持久性,swarm 可在重新啟動後繼續運作——worker 會重新連接,並依據相同狀態接續處理。
swarm 的成效取決於工作分解的品質。 看板負責協調 worker,但無法 將拆分不當的目標變成優良的工作規劃。共用隱藏狀態的工作依然會彼此衝突, 即使使用工作樹也無濟於事。
skill 系統
skill 是代理程式可在需要時載入的隨選知識文件。它們採用漸進式揭露模式,以盡量減少 token 用量,並與 agentskills.io 開放標準相容。11
所有 skill 都位於 ~/.hermes/skills/——這是主要目錄,也是唯一可信來源。全新安裝時,內建 skill 會從儲存庫複製至此。透過 Hub 安裝及由代理程式建立的 skill 也會存放在這裡。11
漸進式揭露
Level 0: skills_list() → [{name, description, category}, ...] (~3k tokens)
Level 1: skill_view(name) → Full content + metadata (varies)
Level 2: skill_view(name, path) → Specific reference file (varies)
只有在確實需要時,代理程式才會載入完整的 skill 內容。11
SKILL.md 格式
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux] # Optional — restrict to OS platforms
metadata:
hermes:
tags: [python, automation]
category: devops
fallback_for_toolsets: [web] # Conditional activation
requires_toolsets: [terminal] # Conditional activation
config: # Config.yaml settings
- key: my.setting
description: "What this controls"
default: "value"
prompt: "Prompt for setup"
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.
條件式啟用
skill 可根據有哪些工具可用,決定顯示或隱藏自身。此功能最適合用於備援 skill——只有在付費工具無法使用時,才應出現的免費或本機替代方案:11
| 欄位 | 行為 |
|---|---|
fallback_for_toolsets |
列出的 toolset 可用時隱藏 skill |
fallback_for_tools |
功能相同,但檢查個別工具 |
requires_toolsets |
列出的 toolset 無法使用時隱藏 skill |
requires_tools |
功能相同,但檢查個別工具 |
範例:內建的 duckduckgo-search skill 使用 fallback_for_toolsets: [web]。設定 FIRECRAWL_API_KEY 後,web toolset 即可使用,代理程式會採用 web_search,而 DuckDuckGo skill 則保持隱藏。若未設定 API 金鑰,DuckDuckGo skill 會自動作為備援方案出現。11
代理程式管理的 skill
代理程式可透過 skill_manage 工具建立、更新及刪除自己的 skill。這是代理程式的程序性記憶——當它摸索出一套不簡單的工作流程後,便會將方法儲存為 skill,供日後重複使用。11
代理程式建立 skill 的時機:11 - 成功完成複雜任務(使用工具5次以上)後 - 遭遇錯誤或走入死胡同,最終找到可行路徑時 - 使用者修正其處理方式時 - 發現不簡單的工作流程時
動作:11
| 動作 | 用途 |
|---|---|
create |
從零建立新 skill |
patch |
針對性修正(首選——最節省 token) |
edit |
大幅調整結構 |
delete |
完整移除 skill |
write_file |
新增或更新支援檔案 |
remove_file |
移除支援檔案 |
Skill Hub
hermes skills browse # Browse all hub skills
hermes skills browse --source official # Browse official optional skills
hermes skills search kubernetes # Search all sources
hermes skills search react --source skills-sh # Search skills.sh directory
hermes skills inspect openai/skills/k8s # Preview before installing
hermes skills install openai/skills/k8s # Install with security scan
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills check # Check for upstream updates
hermes skills update # Reinstall changed hub skills
hermes skills audit # Re-scan installed hub skills
hermes skills uninstall k8s
hermes skills publish skills/my-skill --to github --repo owner/repo
hermes skills tap add myorg/skills-repo # Add custom GitHub source
整合的 Hub 來源:11
| 來源 | 範例 | 備註 |
|---|---|---|
official |
official/security/1password |
Hermes 隨附的選用 skill(內建信任) |
skills-sh |
skills-sh/vercel-labs/agent-skills/vercel-react-best-practices |
Vercel 的公開 skill 目錄 |
well-known |
well-known:https://mintlify.com/docs/.well-known/skills/mintlify |
從發布 /.well-known/skills/index.json 的網站依 URL 探索 |
github |
openai/skills/k8s |
直接從 GitHub 儲存庫/路徑安裝 |
clawhub |
— | 第三方 skill 市集 |
lobehub |
— | LobeHub 代理程式目錄轉換 |
browse-sh |
— | Browserbase skill 來源 |
預設 GitHub tap(無須設定即可瀏覽):openai/skills、anthropics/skills、huggingface/skills、NVIDIA/skills、garrytan/gstack。claude-marketplace 來源已於 v0.20.0 移除;browse-sh 在來源清單中取而代之。1155
安全性掃描
所有透過 Hub 安裝的 skill 都會經過安全性掃描器檢查,包括資料外洩、提示詞注入、破壞性命令、供應鏈風險訊號及其他威脅。11
信任等級:11
| 等級 | 來源 | 政策 |
|---|---|---|
builtin |
隨 Hermes 提供 | 一律信任 |
official |
儲存庫中的 optional-skills/ |
具備內建信任,不顯示第三方警告 |
trusted |
受信任的登錄庫(openai/skills、anthropics/skills) |
採用較寬鬆的政策 |
community |
其他所有來源 | 非危險的掃描結果可使用 --force 覆寫;判定為 dangerous 時仍會封鎖 |
對於 community skill,--force 可覆寫非危險的政策封鎖,但無法覆寫 dangerous 掃描判定。11
外部 skill 目錄
您可以指定額外的 skill 目錄,讓 Hermes 與本機目錄一併掃描:11
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
路徑支援展開 ~,以及替換 ${VAR} 環境變數。外部目錄為唯讀——代理程式建立或編輯 skill 時,一律寫入 ~/.hermes/skills/。若兩處存在同名 skill,則以本機版本優先。11
釘選 skill:skills.auto_load(v0.21.4 時期)
在 config.yaml 的 skills.auto_load 下列出的 skill 名稱,會在每個新工作階段中釘選並完整載入——無論是 CLI、TUI、gateway、cron 或 API 皆然:51
skills:
auto_load:
- team-conventions
- deploy-checklist
這份清單只會在首次建立代理程式提示詞時解析一次;若名稱不存在或已停用,系統會發出警告並略過,而不會導致工作階段失敗。HERMES_IGNORE_RULES(--ignore-rules 背後的運作機制)則會像處理其他自動注入的 context 一樣,停用此清單。這是常駐指令對 -s/--skills 的補充;後者只會為單一工作階段預先載入 skill。51
持久記憶
Hermes具備容量有限、經過篩選,且可跨工作階段保留的記憶。代理程式的記憶由2個檔案組成,兩者皆儲存於~/.hermes/memories/:12
| 檔案 | 用途 | 字元上限 |
|---|---|---|
MEMORY.md |
代理程式的個人筆記——環境資訊、慣例、學到的事項 | 2,200個字元(約800個token) |
USER.md |
使用者profile——偏好、溝通風格、期望 | 1,375個字元(約500個token) |
兩者皆會在工作階段開始時以凍結快照形式注入系統提示。代理程式透過memory工具自行管理記憶,可執行add、replace或remove。12
凍結快照模式:系統提示的注入內容只會在工作階段開始時擷取一次,期間絕不變更。這是刻意設計,目的是保留LLM的前綴快取以提升效能。工作階段內所做的變更會立即儲存至磁碟,但要等到下一個工作階段才會出現在系統提示中。12
該儲存哪些內容
儲存以下內容(代理程式會主動執行):12
- 使用者偏好:「相較於JavaScript,我偏好TypeScript」→ user
- 環境資訊:「此伺服器執行Debian 12與PostgreSQL 16」→ memory
- 修正事項:「執行Docker命令時不要使用sudo,使用者已加入docker群組」→ memory
- 慣例:「專案使用tab、每行120個字元,以及Google風格的docstring」→ memory
- 已完成工作:「已於2026年1月15日將資料庫從MySQL遷移至PostgreSQL」→ memory
略過以下內容:12 - 瑣碎或顯而易見的資訊 - 容易重新查明的事實 - 原始資料傾印(對記憶而言過於龐大) - 僅與當前工作階段相關的短暫資訊 - 情境檔案中已有的資訊
工作階段搜尋
除了MEMORY.md與USER.md之外,代理程式也能使用session_search工具搜尋過往對話。所有CLI與訊息工作階段都會儲存在SQLite(~/.hermes/state.db)中,並支援FTS5全文搜尋。自v0.15.0重新設計後,此工具完全不涉及LLM——它會直接傳回已儲存的對話內容(原始來源稱之為「single-shape tool returns DB content directly」)。正因如此,速度提升了4,500倍,也不再產生API成本。125934
| 功能 | 持久記憶 | 工作階段搜尋 |
|---|---|---|
| 容量 | 總計約1,300個token | 無上限(所有工作階段) |
| 速度 | 即時(位於系統提示中) | 1次FTS查詢——自v0.15.0起不會呼叫LLM |
| 使用情境 | 隨時可用的關鍵資訊 | 尋找特定的過往對話 |
| 管理方式 | 由代理程式手動篩選管理 | 自動——儲存所有工作階段 |
| Token成本 | 每個工作階段固定(約1,300個token) | 按需產生 |
在v0.21.4時期新增了2項功能,兩者皆已在標籤v2026.9.21驗證。首先是時間範圍:探索介面接受after(工作階段開始時間的含括下限)與before(不含括的上限)。兩者皆可使用ISO日期/日期時間——若僅提供日期,代表當日UTC午夜——或相對期間(7d、24h、2w);這些參數只應用於明確指定時間範圍的查詢。sort仍只是排序偏向,並非範圍限制。其次是零結果回想重試:FTS5會在搜尋詞之間隱含套用AND,因此,若改寫過的多詞查詢中有任何一個詞未出現在已儲存的句子裡,就可能無法命中。當精確查詢與子字串備援皆無結果時,搜尋會改為比對索引中的任一詞彙,並優先排列涵蓋較多詞彙的資料列。已有命中的查詢仍維持精確比對語意(只有零結果時才會觸發重試);明確使用OR/NOT、單一詞彙,以及經CJK路由處理的查詢則不受影響。51
外部記憶提供者
若需要比MEMORY.md與USER.md更深入的持久記憶,Hermes內建7種外部記憶提供者plugin:Honcho、OpenViking、Mem0、Holographic、RetainDB、ByteRover與Supermemory。其他提供者(例如Hindsight)可從plugin目錄安裝。12
Hindsight在v0.21.4以前隨核心程式碼提供,並於v0.21.5移至目錄,由Vectorize維護。現有設定會自行遷移:若已設定memory.provider: hindsight,hermes update會將目錄中的plugin安裝到每個採用該設定的profile主目錄;若仍未安裝,代理程式首次啟動時也會進行安裝。若設為security.allow_lazy_installs: false,代理程式啟動流程只會記錄訊息,因此請自行執行hermes plugins install hindsight。plugin會安裝至~/.hermes/plugins/hindsight/並加入plugins.enabled;memory.provider、memory.hindsight.*、HINDSIGHT_API_KEY與您的記憶資料都會維持原狀。請使用hermes memory status與hermes plugins list檢查。hermes-agent[hindsight] pip extra已移除。53
外部提供者會與內建記憶並行運作(絕不取代內建記憶),並加入知識圖譜、語意搜尋、自動擷取事實,以及跨工作階段使用者建模等功能:612
hermes memory setup # Pick a provider and configure it
hermes memory status # Check what's active
hermes memory off # Disable external provider (built-in only)
同一時間只能啟用1個外部提供者。內建記憶則一律保持啟用。6
工作階段自動恢復(v0.13.0+)
v0.13.0讓代理程式在執行途中遭到中斷後仍可恢復。gateway會在重新啟動後自動恢復中斷的工作階段;透過/update重新啟動時,升級過程會保留工作階段狀態;開發期間重新載入原始碼檔案時,也會維持目前工作階段,不再強制建立新工作階段。18實際效果是:長時間執行的gateway工作與由cron驅動的作業,不會再因程序重新啟動而重設context engine。
Checkpoints v2(v0.13.0+)
v0.13.0將狀態持久化重寫為單一儲存區設計,具備真正的清理機制、磁碟防護措施,且不會產生孤立的影子儲存庫。18先前的checkpoint系統會在長期運作的profile中持續累積磁碟狀態;v2儲存區則為本機checkpoint儲存空間設定明確上限,並移除造成空間增長的重複記帳資料。無須變更使用者端設定;下一次寫入checkpoint時便會採用v2路徑。
個性與SOUL.md
SOUL.md是Hermes執行個體的主要身分設定。它位於系統提示的第1個位置,取代硬編碼的預設身分。13
Hermes會自動在~/.hermes/SOUL.md(自訂profile則位於$HERMES_HOME/SOUL.md)建立預設的SOUL.md。現有的使用者檔案絕不會遭到覆寫。Hermes只會從HERMES_HOME載入SOUL.md,不會在目前的工作目錄中尋找。如此一來,跨專案的個性表現便能一致且可預期。13
SOUL.md該包含哪些內容
請用它設定持久的語氣與個性指引:13 - 語氣 - 溝通風格 - 直接程度 - 預設互動方式 - 風格上應避免的事項 - Hermes應如何處理不確定性、歧見與模糊情況
較不適合用於:13 - 一次性的專案指示 - 檔案路徑 - 儲存庫慣例 - 暫時性的工作流程細節
這些內容應放在AGENTS.md,而非SOUL.md。
SOUL.md與AGENTS.md的差異
這是Hermes身分管理中最重要的區別:13
SOUL.md——身分、語氣、風格、預設溝通方式,以及個性層級的行為。
AGENTS.md——專案架構、程式碼慣例、工具偏好、儲存庫專屬工作流程、命令、連接埠、路徑與部署備註。
有一項簡明實用的原則:若某項設定應如影隨形,就應放在SOUL.md;若屬於特定專案,則應放在AGENTS.md。13
內建個性
Hermes內建多種個性,可透過/personality切換:1333
| 名稱 | 說明 |
|---|---|
helpful |
友善的通用型助理 |
concise |
回覆簡潔、直截了當 |
technical |
詳盡且精準的技術專家 |
creative |
創新且跳脫框架的思考方式 |
teacher |
耐心教學,並提供清楚範例 |
kawaii |
可愛的表達、閃亮元素與熱情 |
catgirl |
使用貓咪式表達的Neko-chan |
pirate |
精通科技的海盜船長Hermes |
shakespeare |
充滿戲劇張力的吟遊詩人式文風 |
surfer |
輕鬆隨性的衝浪好兄弟氛圍 |
noir |
冷峻硬派的偵探敘事 |
uwu |
使用uwu語氣,將可愛程度推至極致 |
philosopher |
對每項提問深入思辨 |
hype |
能量全開 |
config.yaml中的自訂個性:13
agent:
personalities:
codereviewer: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns, and unclear design choices. Be precise and constructive.
接著使用/personality codereviewer切換。
SOUL.md與/personality的差異
SOUL.md是基礎語氣;/personality則是工作階段層級的疊加設定。13建議讓預設SOUL.md保持務實,再於教學對話中使用/personality teacher,或在腦力激盪時使用/personality creative。
Nous Tool Gateway(v0.10.0+)
自Hermes Agent v0.10.0(2026年4月16日)起,付費的Nous Portal訂閱者可使用既有的Portal憑證,存取一組經過精選的代管工具,無須管理額外的API金鑰。61 Hermes CLI本身仍採用MIT授權,並且完全開放原始碼。改變之處在於,Portal驗證如今不只解鎖模型推論功能。
最快的啟用方式是hermes setup --portal,README將其介紹為「全新安裝後只需一道指令」:它會透過OAuth登入、將Nous設為提供者,並啟用Tool Gateway。此後,可透過hermes portal管理相關設定。hermes portal login(未指定子命令時的預設行為)會執行相同的一次性初始設定;hermes portal info會顯示「Portal驗證與Tool Gateway路由摘要」;hermes portal open會在預設瀏覽器中開啟訂閱頁面;hermes portal tools則會列出gateway工具,以及哪些工具會透過Nous路由。hermes portal status仍作為info的隱藏向後相容別名保留,而該標籤版本的文件CLI參考資料仍將子命令寫成status,因此兩者皆可使用。28
gateway包含哪些工具
| 工具 | 提供者 | 使用情境 |
|---|---|---|
| 網頁搜尋 | Firecrawl | 為需要最新資訊的agent擷取資料 |
| 圖像生成 | FAL / FLUX 2 Pro | 無須設定FAL金鑰,即可直接生成圖像 |
| 文字轉語音 | OpenAI TTS | 在訊息gateway上輸出語音 |
| 瀏覽器自動化 | Browser Use | 無介面瀏覽與資料擷取 |
運作方式
gateway透過新的use_gateway設定欄位,讓每項工具皆可個別選擇啟用。如果hermes auth中已有Portal憑證,並且為某項工具啟用gateway,該工具的呼叫就會透過Portal路由。否則,系統會使用您的直接API金鑰(若有)。
# config.yaml — per-tool gateway opt-in
tools:
web_search:
provider: firecrawl
use_gateway: true # route via Nous Portal subscription
image_generation:
provider: fal
use_gateway: true
執行階段優先順序:當gateway可用,且某項工具設有use_gateway: true時,即使也設定了直接API金鑰,Hermes仍會優先使用gateway。這會影響計費方式:gateway呼叫會從Portal訂閱額度扣除,而非使用直接API金鑰的餘額。
啟用gateway
hermes model # select Nous Portal (OAuth flow)
hermes tools # per-platform tool picker integrates gateway tools
hermes status # confirms gateway/subscription detection
系統會透過hermes auth中既有的Portal OAuth憑證,自動偵測訂閱狀態,無須另行登入。自v0.19.0起,您也能直接在工作階段中管理訂閱:/subscription會顯示方案與剩餘額度、明確預覽升級費用或降級生效時間,並套用變更,同時顯示排程變更橫幅且支援復原;/topup則可加值。桌面應用程式中也有對應的帳務設定分頁。56
定價與存取權限
定價與方案名稱公布於Nous Portal定價頁面(https://portal.nousresearch.com/pricing)。本指南不逐一列出方案,因為這些方案屬於Portal產品的範疇,而非Hermes CLI,且其變更不受Hermes版本發布週期影響。請前往https://portal.nousresearch.com/註冊,並查看定價頁面以取得目前的方案資訊。
Nous免費方案與引導式首次啟動(v0.21.2+)
自v0.21.2起,全新安裝不再需要付費方案或API金鑰,即可建立可正常運作的agent:免費推論與connectors皆可直接使用,只需一道指令即可登入,也能在聊天中使用/login開始登入。Connector工具(Gmail、Linear、Notion及其他工具)與一般工具相同,皆可透過tool_search搜尋。桌面版另提供由HERMES_GUEST_ONBOARDING=1控制的引導式首次啟動流程;只有字面值1會啟用此功能——桌面版本身的測試明確驗證了'true'、'0'與空值均不會將其開啟。此外,啟動決策會寫入新建後端程序的環境中,確保繼承而來的值絕不會意外滲入。48
自v0.21.4期間起,連接這些connectors已整合為由後端統一負責的單一操作,不再由各前端分散處理:一次manage_connections工具呼叫會驅動後端上的純資料連線狀態機(操作期限固定為300秒,且刻意不設為設定鍵),而Desktop、TUI與CLI都會將其呈現為相同的設定卡片。卡片會為每項缺少的憑證顯示一個欄位(名稱、提示、是否必填),並在所有必填欄位皆有文字前停用操作按鈕;後端也會在每個前端強制執行相同的機密資料專用分流機制。51
棄用通知
HERMES_ENABLE_NOUS_MANAGED_TOOLS環境變數已於v0.10.0中移除。代管工具現在透過各工具的use_gateway設定欄位啟用,並受Portal訂閱狀態限制。61
定位:此版本的功能範圍不包括什麼
Hermes Agent CLI不受訂閱限制。此專案仍採用MIT授權,所有核心功能(CLI、skills、記憶、訊息gateway、cron、MCP、本機dashboard,以及每個提供者的BYOK)皆可在不支付任何費用的情況下端到端運作。v0.10.0只是為已付費訂閱Nous Portal的使用者新增一條便利途徑,並未從免費使用途徑中移除任何功能。
Messaging Gateway
Hermes 可作為長時間執行的 gateway 程序,透過單一 gateway 程序連線至 28 個訊息平台:Telegram、Discord、Slack、WhatsApp、Signal、簡訊、電子郵件、Home Assistant、Mattermost、Matrix、DingTalk、Feishu/Lark、WeCom、Weixin(WeChat)、BlueBubbles(iMessage)、QQBot、Microsoft Teams、Tencent Yuanbao、Google Chat、LINE、SimpleX Chat、Photon(iMessage)、WhatsApp Cloud API、WeCom Callback、Raft、IRC、ntfy、Buzz,以及通用 Webhook 轉接器。360171819 這個 28 取自 v2026.8.31 標籤版本文件中的「平台比較」表格;在底層,gateway/config.py 定義了 24 個內建 Platform 列舉成員(包括 local、api_server、webhook、msgraph_webhook 與 relay 等非聊天項目),並依需求將其他任何名稱解析至 plugins/platforms/ 下 22 個隨附的轉接器目錄之一,因此,單純計算列舉成員或目錄數量並不會與文件中的數字相符。25 v0.9.0 新增透過 BlueBubbles 使用 iMessage 的支援(自動註冊 Webhook、設定精靈及當機復原能力),並透過 iLink Bot API 原生支援 WeChat,同時為企業應用程式提供 WeCom 回呼模式。16 v0.11.0 新增 QQBot。60 v0.12.0 新增 Microsoft Teams 與 Tencent Yuanbao。17 v0.13.0 新增 Google Chat,成為第 20 個平台,並沿用同一套可插拔轉接器架構;IRC 與 Microsoft Teams 也遷移至新的轉接器模式,採用通用的 env_enablement_fn/cron_deliver_env_var 外掛掛鉤。18 v0.14.0 新增 LINE 與 SimpleX Chat,並以 Graph 驗證、Webhook 接聽程式、管線執行環境及傳出訊息遞送,完整打通 Microsoft Teams 的端對端技術堆疊。19 v0.17.0(2026年6月19日)新增透過 Photon Spectrum 直接使用 iMessage,無須中繼服務(以 hermes photon login 進行裝置代碼 OAuth,不再需要 Mac/BlueBubbles 中繼服務)、官方 WhatsApp Business Cloud API 轉接器(取代橋接程序需求)、SimpleX 群組與原生附件功能,並將 Raft 納入隨附的平台外掛。21 文件表格中另有兩項未在發行說明中大肆宣傳的平台:ntfy 是輕量型 HTTP 發布/訂閱推播管道(從 ntfy 行動應用程式訂閱主題,傳送訊息至該主題以便與代理互動,再於手機上接收回覆;可搭配公用 ntfy.sh 伺服器或自行託管的執行個體使用,無須 SDK 或常駐程式),而 Buzz 則將 Hermes 連接至 Buzz 社群。Buzz 是 Block 建構於 Nostr 通訊協定之上的開放原始碼人類與代理協作平台;傳出訊息會透過 shell 呼叫 buzz CLI,傳入訊息則使用原生 Nostr WebSocket 訂閱。兩者皆可透過 hermes gateway setup 完成設定。25
設定
hermes gateway setup # Interactive platform configuration
hermes gateway install # Install as user service (systemd/launchd)
hermes gateway start # Start the installed service
hermes gateway stop
hermes gateway restart
hermes gateway status
hermes gateway run # Run in foreground (debugging)
互動式設定會引導您逐一連接各平台,包括 API 權杖、機器人 ID、頻道對應及允許清單。6
訊息流向
依據上游架構文件:3
Platform event → Adapter.on_message() → MessageEvent
→ GatewayRunner._handle_message()
→ authorize user
→ resolve session key
→ create AIAgent with session history
→ AIAgent.run_conversation()
→ deliver response back through adapter
每個訊息平台都會經過與 CLI 相同的 AIAgent 對話迴圈。 因此,斜線命令在兩處的運作方式完全一致,而在 Telegram 排程的 cron 工作也能將輸出遞送至 Discord——平台之間的差異只存在於邊緣層。3
v0.19.0 新增以 profile 為基礎的訊息路由與持久化遞送。 共用單一機器人權杖的多工 gateway,可將特定伺服器、頻道或討論串路由至不同 profile;每個 profile 的設定、skills、記憶與密鑰皆完全隔離,亦可使用 GATEWAY_MULTIPLEX_PROFILES 覆寫。經過一系列強化後,單一 profile 設定錯誤也不再會拖垮整個 gateway。底層路由索引已移至 state.db(sessions.json 現在只是選用的舊版鏡像),最終回應也會在平台傳送作業前後記錄至持久化的遞送責任帳本。如此一來,若完成的回應恰逢 gateway 當機,系統會在下次啟動時重新遞送,而不會無聲無息地遺失。56 v0.21.2 進一步強化路由 profile 之間的隔離,修補這類多工設定中的一系列跨 profile 洩漏問題:繼承而來的允許清單、傳送至預設 profile 主機的認證資料、預設 profile 的保管庫密鑰流入 stdio MCP 伺服器、跨 profile 的 MEDIA: 附件,以及同層 profile 的 Nous bearer 權杖殘留於各程序備忘資料中(#107609-#107630)。48
v0.21.1 將對話邊界改為只能明確建立。 v2026.9.7 標籤版本的工作階段生命週期文件以四句話闡明此契約:「閒置或經過多少實際時間,都不會輪替對話。/new 與 /reset 會建立明確邊界;context compression 則持續管理過長的歷程。舊版計時器設定會被忽略。現有的 SessionResetPolicy 資料型別只是無作用的相容性資料,並非執行階段原則。」明確暫停仍會在下一個傳入回合建立邊界;復原作業會遵守已定案的邊界,而不會重新開啟;僅因資源因素而逐出的對話仍可繼續。如果 gateway 上的工作階段看似「永不過期」,這正是目前的設計;請自行使用 /new 輪替。43
自 v0.21.4 期間起,第二個 hermes gateway run 會附加至現有程序或拒絕執行,而不會重複繫結。 規則是每部主機的每位作業系統使用者只能執行一個 hermes serve 與一個 hermes gateway run,且兩者都會多工處理所有 profile。若為執行中的多工器已在服務的 profile 啟動 gateway,命令只會附加至現有程序並以狀態碼 0 結束;若該 profile 尚未受到服務,Hermes 會要求多工器重新掃描 profiles/,待其納入服務後再附加;如果無法讓多工器服務該 profile,命令會拒絕執行,而不會悄悄啟動第二個 gateway。--replace 現在會鎖定該主機程序,無論它是由哪個 profile 啟動;當擁有者程序卡死時,--force 則會完全略過詢問。獨立 gateway 仍可共存:如果執行中的 gateway 是另一個 profile 的獨立(非多工)gateway,您的 profile 仍會像以往一樣在旁啟動自己的 gateway,直到強制進行這項遷移為止(#109417)。若兩個 gateway 同時啟動,未取得主機鎖定的一方會以狀態碼 75 結束,而 Hermes 產生的每種監督程式都會重試;屆時勝出者的記錄已經存在,因此重試程序會依上述規則附加或拒絕執行。鎖定與會合記錄會存放於 $HERMES_GATEWAY_LOCK_DIR;若未設定,則位於 $XDG_STATE_HOME/hermes/gateway-locks(預設為 ~/.local/state/hermes/gateway-locks),其範圍限定於該作業系統使用者。若記錄中的 PID 已終止或已被其他程序重複使用,該記錄會被視為過期並予以忽略,因此 gateway 當機不會阻礙下次啟動。Desktop 應用程式也遵循相同規則,會附加至執行中的主機後端,而不會產生第二個程序。51
自 v0.21.5 起,多工處理不再是選用功能。 gateway.multiplex_profiles 只有一個有效值:true。未設定的鍵會解析為啟用,並寫入預設 profile 的 config.yaml;若明確設為 false,系統會就地改寫為 true,在該次 gateway 啟動時顯示一次方框通知,並於下次 hermes update 摘要中再次提醒。兩項控制機制取代了舊有的停用選項。若要讓單一 profile 離線,但不停止所有人的機器人,請執行 hermes -p <name> gateway stop:主機會將其停放(建立 profiles/<name>/gateway.parked 標記),而 hermes -p <name> gateway start 則會解除停放;dashboard 與 Desktop 的「停止/啟動」按鈕作用相同。若具名 profile 仍需要自己的 gateway,請在其 config.yaml 中設定 gateway.standalone: true;主機永遠不會服務該 profile,而其 stop/start 只會操作自己的程序。文件稱此鍵為「暫時性的相容性過渡機制」,並非受支援的拓撲;若在預設 profile 使用,系統會忽略並顯示警告。若拆分至不同作業系統使用者,或使用預設主目錄 profiles/ 以外的 HERMES_HOME,仍須使用 --force。53
使用者授權與配對
hermes pairing list # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending
配對碼可防止陌生人任意與您的 gateway 對話。使用者從其訊息平台傳送配對碼;您以 hermes pairing approve 核准後,對方便會取得後續存取權限。6
unauthorized_dm_behavior 決定陌生人在配對前傳送私人訊息時會收到何種回應:pair 會以私人訊息傳送配對碼,ignore 會默默捨棄訊息,而 v0.21.4 期間新增的 decline 則會傳送一次禮貌的拒絕訊息,接著在 24 小時內不再回應該傳送者(#88028)。系統會依平台與傳送者進行拒絕訊息去重,並涵蓋別名;訊息文字取自 unauthorized_dm_decline_message(全域鍵;留空時會使用內建回覆:「您好!我是私人助理,只能與我的擁有者交談,因此無法直接協助您。很抱歉!」)。您可以設定全域行為,也可針對個別平台設定;設定精靈會將值寫入對應平台:
# ~/.hermes/config.yaml
unauthorized_dm_behavior: decline # global; gateway.unauthorized_dm_behavior also works
unauthorized_dm_decline_message: "" # empty = built-in reply
platforms:
telegram:
unauthorized_dm_behavior: pair # per-platform value always wins
未設定任何值時,實際預設行為取決於允許清單。未設定允許清單時為 pair;一旦設定任何允許清單(GATEWAY_ALLOWED_USERS,或平台的允許使用者、群組允許使用者或群組允許聊天變數),便會改為 ignore。這是因為允許清單代表 gateway 已受到刻意限制,向未知聯絡人傳送配對碼不但造成干擾,也可能導致資訊洩漏(#9337)。全域 ignore 或 decline 可覆寫此規則,但全域 pair 不行,因為它與預設值無法區分;若要在使用允許清單的同時保留配對功能,請針對個別平台設定 pair。(若平台轉接器本身設有 dm_policy,系統會先查詢該設定,再套用允許清單規則。)電子郵件採收件匣模式,預設為 ignore;除非透過其專屬的平台鍵選擇啟用,否則全域值不會套用至電子郵件。當您為未設定允許清單的平台進行設定時,hermes gateway setup 會將拒絕列為可選答案之一。51
排程任務(Cron)
Hermes 具備完善的 cron 系統,其中的工作是代理任務,而非 shell 指令。每個排程工作都會透過新的 AIAgent 執行,使用已設定的提示詞及選用的附加 skill,並將結果傳送至任何平台:36
hermes cron list
hermes cron create --prompt "Check HN for AI news and summarize" --schedule "0 9 * * *" --deliver telegram
hermes cron edit <id>
hermes cron pause <id>
hermes cron resume <id>
hermes cron run <id> # Trigger now on the next tick
hermes cron remove <id>
hermes cron status # Check if scheduler is running
hermes cron tick # Run due jobs once and exit
您也可以在訊息聊天中以對話方式建立:
Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.
代理會透過自身工具設定 cron 工作。工作會持續儲存在 JSON 中,重新啟動後仍會保留。3
v0.21.0 為排程工作加入了記憶與判斷能力。共有4項機制,均已在標籤 v2026.8.31 驗證:3537
- 連續性。
continuity=true會在每次執行時注入該工作自身最近一次的輸出,讓偵察或監控工作「甦醒時能看到上次回報的內容,進而去除重複項目,並接續先前的進度」——注入的指示為「避免重複已回報的內容」。首次執行不受影響;在內部,此旗標會儲存為context_from中的保留項目self。可透過hermes cron create ... --continuity啟用,並使用hermes cron edit <job_id> --continuity/--no-continuity切換。37 - 持久化記事本。每個工作都有一個小型 KV 暫存區,可儲存游標、水位標記與監看清單(每個值16 KB、每個工作64 KB——內容會在每次執行時注入提示詞,因此特意設有容量上限)。可使用
hermes cron notepad <job_id> set <key> <value>寫入,執行中的代理會透過終端工具呼叫此指令。37 - 監控模式。工作可以附加成本較低的
monitor_script/monitor_url來源,在每次觸發時優先執行。若輸出未變更(以完全相同的位元組判定),就會徹底略過代理執行——不呼叫 LLM、不傳送內容,僅留下無聲的no_change執行記錄。若有變更,則會注入差異區塊,並照常執行代理。監控指令碼應輸出穩定內容,否則每次觸發看起來都會像是發生變更。37 - 個別工作的推理強度與 Bot Chat 傳送。
--reasoning-effort可固定工作的思考層級(從none至ultra),覆寫該工作執行時的全域與個別模型設定;deliver=bot-chat則會將輸出作為真正的傳入訊息,送至 profile 的標準 Bot Chat 工作階段。機器人會「處理任何需要採取行動的事項,並在聊天中回覆」,而非僅由人員閱讀頻道內容。37
MCP 整合
Hermes 同時支援作為 Model Context Protocol 的用戶端與伺服器:6
作為用戶端——將 Hermes 連線至外部 MCP 伺服器,以擴充其工具範圍:
hermes mcp add <name> --url https://example.com/mcp
hermes mcp add <name> --command npx --args "-y,@modelcontextprotocol/server-github"
hermes mcp list
hermes mcp test <name>
hermes mcp remove <name>
hermes mcp configure <name> # Toggle individual tool selection
hermes mcp login <name> # Force re-auth for an OAuth server (--flow browser|device)
hermes mcp reauth [--all] # Re-authenticate one OAuth server, or every one
也可以在 config.yaml 中手動設定:14
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
自 v0.19.0 起,MCP 工具會依照 mcp__server__tool 命名慣例提供給模型——每個工具名稱都包含其伺服器名稱,因此兩台伺服器即使提供同名工具,也不再發生衝突——而 MCP 伺服器的日誌通知也會顯示於 agent.log。56
v0.21.1 為 MCP OAuth 新增裝置代碼流程:hermes mcp login <name> 可接受 --flow {browser,device}——browser 是既有的 PKCE 流程,device 則是適用於無頭或遠端機器的 RFC 8628 裝置代碼登入——此旗標會覆寫伺服器的 oauth.flow 設定。同一版本也會在整個 OAuth 工作階段中強制執行 profile 所有權驗證;遇到格式錯誤的 OAuth 中繼資料快取時,會予以忽略,以免伺服器卡住;並透過用戶端本機回呼轉送桌面版 MCP OAuth。此外,-t/--toolsets 現在也會篩選要啟動的已設定 MCP 伺服器,因此限定範圍的呼叫不會冷啟動不需要的伺服器。44
v0.21.0 將桌面版的 MCP 操作介面化為指揮中心:伺服器與目錄整合至同一頁面,支援拖入式「貼上任何內容」匯入;背景健康檢查會在工具呼叫失敗前,揭示即將到期的驗證;伺服器群成本/用量浮層可顯示各伺服器的結構描述 token 估算值與30天用量;hermes:// 深層連結則可在明確確認後安裝 MCP 伺服器。35
v0.21.4 版本新增 mcp.discovery_concurrency(預設值為4;0 代表不限,#117373):限制探索階段可同時連線的已設定 MCP 伺服器數量。所有伺服器仍會連線——此上限只會避免它們同時湧入——若設定非整數或負值,系統會記錄警告並退回預設值。51
作為伺服器——將 Hermes 對話提供給其他代理:
hermes mcp serve
hermes mcp serve -v # Verbose
Context 壓縮
Hermes 會自動壓縮過長的對話,使其維持在模型的 context window 範圍內。壓縮摘要器會另行呼叫 LLM——您可以將其指向任何供應商或端點。4 自 v0.20.6 起,保留尾端策略預設為 lean(compression.tail_mode: lean);在該標籤版本中,摘要器的模型/供應商/端點設定已移至 auxiliary.compression.*,不再使用舊版的 compression.summary_*。舊版設定鍵會在首次載入時自動遷移(設定版本17)。3031
compression:
enabled: true
threshold: 0.50 # Compress at this % of context limit
threshold_tokens: null # Optional absolute token cap -- trigger fires at the lower of ratio vs cap
target_ratio: 0.20 # Fraction of threshold to preserve as recent tail (legacy tail mode)
tail_mode: lean # Tail retention: "lean" (default) or "legacy"
protect_last_n: 20 # Min recent messages to keep uncompressed
protect_first_n: 3 # Non-system head messages pinned across compactions
auxiliary:
compression:
model: "" # Empty = main chat model; e.g. "google/gemini-3-flash-preview"
provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
base_url: null # Custom OpenAI-compatible endpoint (overrides provider)
tail_mode 決定的內容。legacy 會依 target_ratio 的大小逐字保留尾端內容——在大型 context window 或提高門檻的設定中,每次壓縮都會囤積100–240K個 token。lean 則會逐字保留 context window 的2.5%作為尾端內容,並將範圍限制在10K下限與25K上限之間;連續性改由摘要承接,包括壓縮區域內保留詳細識別資訊的工作階段日誌(每次嘗試呼叫一次輔助摘要器)、以機械方式擷取的錨點索引(PR 編號、SHA、路徑、錯誤字串——使用規則運算式,絕不改寫)、逐字引用的每則真實使用者訊息,以及可讓代理重新存取所有已摘要內容的 session_search 復原指標。文件針對500K token 真實工作階段的實測結果顯示:保留量約為49K token,而非約162K。lean 尾端內的舊工具結果會降級為附帶復原指標的單行摘要;未知的 tail_mode 值則會退回 lean。31
auxiliary.compression.provider |
auxiliary.compression.base_url |
結果 |
|---|---|---|
auto(預設) |
未設定 | 自動偵測最合適的可用供應商 |
nous/openrouter/其他 |
未設定 | 強制使用該供應商及其驗證方式 |
| 任意值 | 已設定 | 直接使用自訂端點(忽略供應商) |
摘要模型所支援的 context 長度必須至少與主要模型相同,因為它會在單次呼叫中接收完整的對話中段——若其 window 較小,呼叫就會失敗,而中段對話將在沒有摘要的情況下遭到捨棄。431
預算壓力警告
當代理處理包含大量工具呼叫的複雜任務時,可能會在不知不覺間耗盡迭代預算(自 v0.20.0 起,預設為500輪,原為90輪)。預算壓力機制會自動警告模型:4
| 門檻 | 層級 | 模型看到的內容 |
|---|---|---|
| 70% | 提醒 | [BUDGET: 350/500. 150 iterations left. Start consolidating.] |
| 90% | 警告 | [BUDGET WARNING: 450/500. Only 50 left. Respond NOW.] |
串流逾時
LLM 串流連線設有兩層逾時機制,並會針對本機供應商(localhost、區域網路 IP)自動調整:4
| 逾時 | 預設值 | 本機供應商 | 環境變數 |
|---|---|---|---|
| Socket 讀取逾時 | 120秒 | 自動提高至1800秒 | HERMES_STREAM_READ_TIMEOUT |
| 停滯串流偵測 | 180秒 | 自動停用 | HERMES_STREAM_STALE_TIMEOUT |
| API 呼叫(非串流) | 1800秒 | 維持不變 | HERMES_API_TIMEOUT |
本機端點的 Socket 讀取逾時會提高至30分鐘,因為本機 LLM 在處理大型 context 的預填充時,可能需要數分鐘才會產生第一個 token。4
本機網頁儀表板(v0.9.0+)
這是一套以瀏覽器為基礎的儀表板,可供您在本機管理 Hermes Agent。無須接觸設定檔或終端,即可調整設定、監控工作階段、瀏覽 skill,以及管理 gateway。16 使用 hermes dashboard 啟動。對偏好 GUI 的新使用者而言,這是最簡便的入門途徑。
背景程序監控(v0.9.0+)
watch_patterns讓您設定要在背景程序輸出中監控的模式,並在符合時即時收到通知。16無論是監控錯誤、等待特定事件(「正在監聽連接埠」),或追蹤建置記錄,都不必輪詢。搭配v0.8.0推出的notify_on_complete(在背景工作完成時通知),Hermes如今已具備完整的背景程序可觀測性層。15
可插拔的context engine(v0.9.0+)
現在可透過hermes plugins將context engine作為可插拔插槽管理。您可以換用自訂context engine,控制agent每一輪可見的內容,包括篩選、摘要,或注入特定領域的context。16這項設計將context策略與核心agent迴圈解耦,讓各專案或領域都能自訂context。
備份與還原(v0.9.0+)
hermes backup會為您的設定、工作階段、skills及記憶建立完整封存檔。hermes import則可從備份封存檔還原。16您可藉此在不同機器間遷移、於重大變更前建立快照,或與團隊成員分享經過驗證的設定。
Termux/Android支援(v0.9.0+)
Hermes可透過Termux直接在Android上執行。經過調整的安裝路徑、針對行動裝置螢幕最佳化的TUI、語音後端支援,以及/image指令,皆可直接在裝置上使用。16
安全性強化(v0.13.0+)
v0.13.0修正了8項P0安全性問題,並將一項預設值改為更有利於使用者的設定。18緊接著,v0.14.0又修正了12項P0與50項P1問題,包括防範sudo暴力破解與強化sudo-stdin、修正危險指令繞過問題、在將工具錯誤重新注入模型前進行清理、dashboard plugin API驗證、skills-hub SSRF防護,以及安裝期間的供應鏈安全公告掃描。19
| 修正項目 | 變更內容 |
|---|---|
| 預設啟用機密資訊遮蔽 | 此前須選擇啟用。除非明確停用,記錄與hermes debug share上傳內容現在都會遮蔽機密資訊。v0.12.0曾因收到承載資料損毀的回報而預設停用遮蔽;v0.13.0則重新啟用,作為更安全的基準設定。 |
| Discord跨guild私訊繞過(CVSS 8.1) | Discord角色允許清單現在以guild為範圍,封堵了使用者在某個guild中的角色可授權其跨所有guild傳送私訊的途徑。 |
| WhatsApp預設限制 | WhatsApp轉接器預設拒絕陌生人,且絕不回應與自己的對話。 |
| MCP OAuth TOCTOU時間差漏洞 | 修正了MCP OAuth流程儲存憑證時的競爭條件。 |
CLI auth.json TOCTOU |
修正了CLI驗證儲存區憑證寫入程式中類似的TOCTOU時間差漏洞。 |
| 瀏覽器SSRF最低防線 | 混合式路由會強制套用雲端中繼資料SSRF最低防線,攔截試圖存取169.254.169.254及其等效位址的要求。 |
| Cron提示注入掃描 | cron工作執行前,系統會掃描組合完成的提示(包括載入的skill內容),檢查是否存在提示注入。 |
hermes debug share遮蔽 |
除了寫入時進行遮蔽,debug share上傳現在也會在上傳時遮蔽記錄內容。 |
若您負責維護Hermes部署,應將v0.13.0與v0.14.0視為與安全性息息相關的升級,而不只是功能更新。v0.13.0修正了Discord跨guild繞過問題與兩個TOCTOU時間差漏洞;v0.14.0則進一步強化sudo處理、工具錯誤重新注入、plugin API、skills-hub SSRF及相依套件安全公告。
v0.21.0帶來第4波強化。寫入受保護的agent指示檔案(包括AGENTS.md、CLAUDE.md、SOUL.md、.cursorrules、skills及記憶儲存區)現在一律需要核准,防止遭提示注入的agent暗中改寫自身的常駐指示。此閘門預設啟用(security.protected_instruction_files: true,並透過protected_instruction_extra_patterns中的fnmatch基本檔名延伸清單擴充);原始碼也明確指出其封堵的攻擊途徑:「編輯AGENTS.md/CLAUDE.md/SOUL.md的注入指示」,並說明指示檔案會從cwd目錄樹載入,因此「agent日後可能執行所在之處的任何AGENTS.md,都是有效的攻擊目標」。3539同一版本也修補了終端機錯誤、讀取.env檔案、checkpoints及ACP記錄中的機密資訊外洩缺口;讓核准系統能識別Windows破壞性指令與路徑;透過穩定的TCC簽署識別,使macOS權限授予在更新後仍然有效(僅需設定一次:hermes desktop --setup-tcc-identity,僅限macOS,且需要openssl/security/codesign);在上游遭入侵後移除Blender MCP目錄項目與skill;並為plugin安裝加入Tier-1安全性掃描。3539
實務工作者的架構參考
本節適合想深入瞭解底層運作方式,以便除錯、擴充或分析效能的人士。內容綜合整理自上游架構文件。3
進入點→AIAgent
Hermes 的每個進入點最終都會呼叫AIAgent.run_conversation():
┌──────────────────────────────────────────────────────────────────┐
│ Entry Points │
│ │
│ CLI (cli.py) Gateway (gateway/run.py) ACP (acp_adapter/) │
│ Batch Runner API Server Python Library │
└──────────┬──────────────┬───────────────────────┬────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ AIAgent (run_agent.py) │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Prompt │ │ Provider │ │ Tool │ │
│ │ Builder │ │ Resolution │ │ Dispatch │ │
│ └──────┬──────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ┌──────┴───────┐ ┌──────┴───────┐ ┌──────┴───────┐ │
│ │ Compression │ │ 3 API Modes │ │ Tool Registry│ │
│ │ & Caching │ │ chat_compl │ │ 47 tools │ │
│ │ │ │ codex_resp │ │ 20 toolsets │ │
│ │ │ │ anthropic │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────────┘
圖表改編自上游架構文件。3
啟動畫面中的「47 tools / 20 toolsets」與「28 tools」。「47 tools」是上游儲存庫完整工具登錄表的總數,涵蓋Hermes隨附原始程式碼的所有toolset及其中每項工具。實際執行的CLI會在啟動畫面顯示較小的數字(本指南驗證所用的安裝環境顯示28 tools / 89 skills)。這並非錯誤。許多toolset採選用制,必須在config.yaml的toolsets:下明確啟用,例如訊息平台轉接器、瀏覽器自動化及負載較重的擷取工具等。登錄表總數代表「可用項目」,啟動畫面的數字則代表「目前profile中已啟用的項目」。可使用hermes tools --list查看啟用中的toolset,並透過~/.hermes/config.yaml中的toolsets:區塊啟用或停用個別toolset(也可在執行中的工作階段內使用/tools list、/tools enable <name>或/tools disable <name>;移除工具會觸發工作階段重設,讓agent重新建立工具資訊清單)。
3種API模式
Hermes將供應商之間的差異抽象化為3種API模式,並在執行階段自動選用:3
| API模式 | 使用者 |
|---|---|
chat_completions |
OpenRouter、z.ai、Kimi、MiniMax、DeepSeek、Alibaba、多數自訂端點,以及任何與OpenAI相容的伺服器 |
codex_responses |
OpenAI Codex(透過ChatGPT OAuth) |
anthropic_messages |
Anthropic API(原生)、Anthropic OAuth、與Anthropic相容的Proxy |
runtime_provider.py解析器會將(provider, model)組合對應至(api_mode, api_key, base_url),支援18種以上的供應商,並處理OAuth流程、憑證集區及別名解析。3
CLI工作階段中的資料流程
User input → HermesCLI.process_input()
→ AIAgent.run_conversation()
→ agent.prompt_builder.build_system_prompt()
→ runtime_provider.resolve_runtime_provider()
→ API call (chat_completions / codex_responses / anthropic_messages)
→ tool_calls? → model_tools.handle_function_call() → loop
→ final response → display → save to SessionDB
取自上游架構頁面。3
提示組裝順序
提示堆疊包含:13
SOUL.md(agent身分;若無法使用,則採用內建的備援內容)- 感知工具的行為指引
- 記憶體/使用者情境(
MEMORY.md、USER.md) - Skills指引
- 情境檔案(
AGENTS.md、.cursorrules) - 時間戳記
- 平台專屬格式提示
/personality等選用的系統提示覆寫層
SOUL.md是根基,其餘所有內容皆建構於其上。13
工作階段儲存空間
採用SQLite的工作階段儲存空間,並支援FTS5全文搜尋。工作階段具備譜系追蹤功能(可跨壓縮追蹤父子關係)、逐平台隔離,以及具競爭處理機制的不可分割寫入。3
若v0.21.x安裝環境中的儲存區發生問題,請使用v0.21.2或更新版本:該版本解決了v0.21.0時期的一系列state.db脆弱性問題,包括第2個寫入者會取消彼此的鎖定、正常資料庫被誤報為損毀,以及單筆不良資料導致sessions list失敗。它也將託管聊天室的協調資料從根儲存區移至專用的shared-state.db,使profile gateway不再以可寫入模式開啟主要工作階段儲存區。hermes doctor現在會分別指出結構損毀與FTS索引損毀;FTS損毀只會使搜尋功能降級,不會導致該輪作業失敗;hermes sessions recover --inspect-only(離線、非破壞性、鎖定profile)則會回報標準資料表是否可讀,且不會建立輸出資料庫。此子命令早已存在,但先前未在此處記載。請參閱v0.21.2的新功能。48若儲存區停留在錯誤的SQLite日誌模式,v0.21.4期間新增了離線轉換工具hermes sessions set-journal-mode delete|wal(請參閱頂層命令中的hermes sessions資料列)。51
Plugin系統
共有3個探索來源:~/.hermes/plugins/(使用者)、.hermes/plugins/(專案),以及pip進入點。Plugin會透過情境API登錄工具、掛鉤與CLI命令。記憶體供應者是plugins/memory/下的特殊plugin類型。3自v0.21.2起,另提供精選且固定SHA的plugin目錄,您可以瀏覽並依名稱安裝;此外,hermes plugins pack支援「宣告式、可共享的plugin集合」:使用單一hermes-pack.yaml,將一組plugin固定至確切的commit SHA。安裝套件時會展開為一般的固定版本安裝,而功能同意仍按個別plugin處理。48
v0.21.4期間將該目錄從CLI介面進一步發展為隨附成品。儲存庫的plugin-catalog/目錄從v2026.9.14的9筆項目增加至v2026.9.21的228筆;每個plugin各有1份經審核的YAML(名稱、儲存庫、維護者、層級、類別、功能),固定至確切的40字元commit SHA,且只有存在於該目錄中才代表獲准收錄。這些資料會發布為供CLI使用的plugin-catalog.json(即時擷取,並快取於~/.hermes/cache/)。文件網站如今會根據同一份資料,為每個plugin(/docs/plugins/<name>)及每位作者(/docs/plugins/by/<slug>)建立頁面。每個頁面都會顯示從固定commit擷取的plugin README,而非分支最新版本;過程會使用建置階段的允許清單移除原始HTML,並依提交者日期標記新增/更新時間以供排序。v0.21.4版本列出的10個社群plugin,在該標籤下全都是目錄項目,實際目錄slug如下:hermes-tailscale、hermes-ssh、shodan、hermes-terminal、hermes-rss(另有獨立的rss-reader)、hermes-resetwatch、done-bell、kiwi、cognee及web-octen。桌面版的Plugins中心現在也能在確認對話方塊後解除安裝plugin;目錄plugin透過plugins.manage remove處理,獨立桌面plugin則透過Electron載入器處理。51
hermes plugins # Interactive enable/disable UI
hermes plugins browse # List every curated plugin catalog entry (v0.21.2+)
hermes plugins search <query> # Search the curated plugin catalog (v0.21.2+)
hermes plugins install <name|repo> # Install from the curated catalog, a Git URL, or owner/repo
hermes plugins enable <name>
hermes plugins disable <name>
hermes plugins list
hermes plugins pack install <src> # Shareable SHA-pinned plugin sets; also: pack export, pack show (v0.21.2+)
相容期(v0.21.1)現已結束:外部plugin必須在2026年9月14日前停止使用分解前的匯入路徑。2026年9月的分解作業(PR #102117)重新配置了plugin常用的內部匯入項目;暫時性的
COMPAT_MANIFEST.md層則從舊模組重新匯出1,148個已移動的公開名稱,並在每個處理程序中針對每個名稱警告一次(HermesPluginCompatWarning)。移除作業已於2026年9月14日如期生效,其機制是隨附程式碼中的日期閘門(hermes_cli/plugin_compat.py內的COMPAT_REMOVAL_DATE;不需要還原任何程式碼):自該日起,受影響的plugin會被停用而不再載入,CLI啟動畫面、hermes doctor及hermes update會顯示紅色通知,桌面版會顯示一次性強制回應視窗,hermes plugins list也會列出原因。給作者:hermes plugins compat <path>仍會列印每個使用舊路徑的位置,格式為file:line及舊路徑->新路徑;只要仍有任何項目存在,就會以狀態1結束(加入--json可取得機器可讀的輸出)。仍受未維護plugin所困的使用者,可在config.yaml中設定plugins.allow_deprecated_imports: true;它必須是字面YAML布林值,不能是加上引號的字串。由於刪除舊路徑的還原變更尚未實施,此設定目前仍然有效:在v2026.9.14、v2026.9.21、v2026.9.24,以及截至9月24日的main中,資訊清單與相容性墊片仍然存在(v0.21.4期間對相容性模組的變更,僅限於快取plugin掃描結果及正規化Windows路徑;v0.21.5期間未變更hermes_cli/plugin_compat.py,只移除了已刪除Hindsight模組的資訊清單項目)。該還原變更一旦實施,這個應急選項便會失效,因為舊路徑本身將不復存在。只有公開的頂層名稱受到涵蓋;私有名稱與測試用monkeypatch接縫從來都不是支援介面,也不會恢復。4253
設計原則
取自上游架構頁面:3
| 原則 | 實務上的意義 |
|---|---|
| 提示穩定性 | 系統提示不會在對話途中變更。除了明確的使用者操作(/model)外,不會進行破壞快取的異動 |
| 可觀測的執行流程 | 每次工具呼叫都會透過回呼向使用者顯示。CLI(旋轉指示器)和gateway(聊天訊息)都會提供進度更新 |
| 可中斷 | 使用者輸入或訊號可在執行途中取消API呼叫與工具執行 |
| 不受平台限制的核心 | 單一AIAgent類別可供CLI、gateway、ACP、批次作業及API伺服器使用。平台差異則由進入點處理 |
| 鬆散耦合 | 選用的子系統(MCP、plugins、記憶體供應者、RL環境)採用登錄表模式及check_fn閘控,而非硬性相依關係 |
| Profile隔離 | 每個profile都有各自的HERMES_HOME、設定、記憶、工作階段及gateway PID。多個profile可同時執行 |
從 OpenClaw 遷移
Hermes Agent 是 OpenClaw 的後繼者。若要從現有的 OpenClaw 安裝環境遷移:65
hermes claw migrate --dry-run # Preview what would be migrated
hermes claw migrate --preset full # Full migration including API keys
hermes claw migrate --preset user-data --overwrite # User data only, no secrets
hermes claw migrate --source /custom/path # Non-default OpenClaw location
hermes claw migrate 預設會從 ~/.openclaw 讀取資料(也會自動偵測舊版的 ~/.clawdbot 與 ~/.moldbot 資料夾),並寫入 ~/.hermes。6
直接匯入(30 多個類別):SOUL.md、MEMORY.md、USER.md、AGENTS.md、來自 4 個來源資料夾的 skills、預設模型、自訂提供者、MCP 伺服器、訊息平台權杖與允許清單(Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost)、agent 預設值(推理強度、壓縮、人為延遲、時區、沙箱)、工作階段重設原則(目前不再生效:自 v0.21.1 起,計時器不會再輪替對話43)、核准規則、TTS 設定、瀏覽器設定、工具設定、執行逾時、命令允許清單、gateway 設定,以及來自 3 個來源的 API 金鑰。6
封存以供人工檢閱:cron 工作、外掛程式、hooks/webhooks、記憶體後端(QMD)、skills 登錄設定、UI/身分識別、日誌、多 agent 設定、頻道繫結、IDENTITY.md、TOOLS.md、HEARTBEAT.md、BOOTSTRAP.md。6
API 金鑰解析會依優先順序檢查 3 個來源:設定值 → ~/.openclaw/.env → auth-profiles.json。6
疑難排解
「No inference provider configured. Run ‘hermes model’ to choose a provider and model」
這是每次全新安裝都會遇到的第一個錯誤:Hermes 尚未解析出任何提供者。訊息的意思很明確——3 種驗證途徑都未能產生可用的提供者。請執行:
hermes model
互動式選擇器會引導您設定所有支援的提供者,包括 OAuth 裝置代碼流程(Nous Portal、GitHub Copilot、Anthropic、OpenAI Codex),以及供自行託管伺服器使用的自訂端點。若原本預期提供者應已設定完成,hermes doctor 會顯示 Hermes 實際能偵測到哪些憑證。常見原因包括:API 金鑰設在錯誤的位置(應放在 .env 中或透過 hermes config set 設定,而非 shell profile)、~/.hermes/auth.json 中的 OAuth 憑證已過期,或 config.yaml 中的自訂端點遺失了 base_url。各種驗證途徑詳見驗證與提供者。27
「API key not set」
執行 hermes model 以互動方式設定提供者,或執行 hermes config set OPENROUTER_API_KEY your_key。hermes doctor 命令會明確指出缺少哪些金鑰。7
啟動時出現「Context limit: 2048 tokens」(本機模型)
Hermes 會從伺服器的 /v1/models 端點自動偵測 context 長度,但許多本機伺服器回報的預設值偏低。請在 config.yaml 中明確設定:2
model:
default: your-model
provider: custom
base_url: http://localhost:11434/v1
context_length: 32768
工具呼叫顯示為文字,而未實際執行
您的伺服器尚未啟用工具呼叫,或該模型不支援透過此伺服器的實作方式進行工具呼叫。2
| 伺服器 | 修正方式 |
|---|---|
| llama.cpp | 在啟動命令中加入 --jinja |
| vLLM | 加入 --enable-auto-tool-choice --tool-call-parser hermes |
| SGLang | 加入 --tool-call-parser qwen(或適用的解析器) |
| Ollama | 工具呼叫預設為啟用——請使用 ollama show <model> 檢查您的模型是否支援 |
| LM Studio | 更新至 0.3.6 以上版本,並使用原生支援工具的模型 |
回應在句子中途遭到截斷
可能有兩個原因:2
- 輸出上限過低(
max_tokens)——SGLang 預設每次回應僅有 128 個 token。請在伺服器上設定--default-max-tokens,或在config.yaml中設定model.max_tokens。 - Context 耗盡——模型已用完 context window。請提高
model.context_length,或在 Hermes 中啟用 context 壓縮。
從 WSL2 連線至 Windows 託管的模型伺服器時出現「Connection refused」
WSL2 使用具有獨立子網路的虛擬網路介面卡——WSL2 內的 localhost 指向 Linux 虛擬機器,而非 Windows 主機。有兩種解決方式:2
鏡像網路(Windows 11 22H2 以上版本):編輯 %USERPROFILE%\.wslconfig:
[wsl2]
networkingMode=mirrored
接著執行 wsl --shutdown 並重新啟動。此後 localhost 即可雙向運作。
主機 IP 備援方案(較舊版本的 Windows):從 WSL2 內取得 Windows 主機的 IP,並以該 IP 取代 localhost:
ip route show | grep -i default | awk '{ print $3 }'
# Use that IP as the base_url host
此外,模型伺服器必須繫結至 0.0.0.0,而不是 127.0.0.1——若使用 Ollama,請設定 OLLAMA_HOST=0.0.0.0;若使用 llama-server/SGLang,請加入 --host 0.0.0.0;若使用 LM Studio,請啟用「Serve on Network」。2
迭代預算未採用 agent.max_turns
若活動列顯示 N/90(或其他過時的上限),但 config.yaml 中設定的是 agent.max_turns: 500,可能是因為 ~/.hermes/.env 中仍殘留過時的 HERMES_MAX_ITERATIONS 項目。過去,設定精靈會將預算同時寫入兩個儲存位置;如果啟動橋接程序因先前的設定解析錯誤而提前中止,.env 中的幽靈設定便會悄然生效。自 v0.21.1 起,hermes doctor 會偵測這組遮蔽設定,而 hermes doctor --fix 會刪除 .env 中的該項目,讓 config.yaml 成為權威設定來源。41
所有項目都存放在哪裡?
此時,hermes status 和 hermes dump 是您的得力助手。hermes logs list 會顯示所有日誌檔案及其大小。hermes config path 會輸出設定檔的位置。hermes config env-path 則會輸出 .env 的位置。6
常見問題
Hermes Agent 和 Claude Code 有何不同?
Claude Code 是 Anthropic 官方推出的 CLI,僅限使用 Anthropic 模型。Hermes Agent 則是 Nous Research 推出的開放原始碼代理框架,可搭配任何與 OpenAI 相容的供應商,包括 Nous Portal、OpenRouter、Anthropic、GitHub Copilot、z.ai、Kimi、MiniMax、DeepSeek、Hugging Face、Google,或您自行託管的端點。12 Hermes 還內建 Telegram/Discord/Slack/WhatsApp/Signal 的訊息 gateway,這是 Claude Code 所不具備的功能。
我可以使用 Anthropic API 金鑰搭配 Hermes 嗎?
可以,共有3種方式:2
- 在
~/.hermes/.env中設定ANTHROPIC_API_KEY,再執行hermes chat --provider anthropic --model claude-sonnet-4-6 - 執行
hermes model並選取 Anthropic;若 Claude Code 的憑證儲存區可用,Hermes 將直接使用其中的憑證 - 手動設定
ANTHROPIC_TOKEN(setup-token 或 OAuth token)作為備援
若已在同一台機器上使用 Claude Code,建議採用第2種方式,以便讓可重新整理的 Claude 憑證繼續自動更新。
如何切換供應商,又不遺失目前的對話?
在工作階段中使用 /model provider:model。對話紀錄、記憶與 skills 都會完整保留:9
/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5
我已設定 Anthropic,但視覺/網頁/壓縮功能無法運作
在目前的版本中,舊有問題大多已不復存在。依預設(auxiliary.*.provider: "auto"),所有輔助工作——視覺、核准分類、壓縮、工作階段標題——都會使用您的主要聊天模型執行。因此,僅設定 Anthropic 時,這些工作也會使用現有的 OAuth。舊版預設行為(依序自動偵測 OpenRouter 的 Gemini Flash → Nous → Codex,若皆未設定則無聲降級)已經移除:「auto 現在一律使用主要模型,而 config.yaml 中各項工作的覆寫設定仍具有優先權。」34
若輔助工作仍然失敗,請檢查是否有明確的個別工作覆寫設定指向尚未設定的供應商(config.yaml 中的 auxiliary.<task>.provider/.model),或仍留有舊版設定鍵。自標籤 v2026.8.31 起,壓縮摘要器的設定方式與其他輔助項目一致,使用 auxiliary.compression.provider;舊版的 compression.summary_* 設定鍵會自動遷移至此(設定版本17)。31 網頁擷取已不再屬於 LLM 工作(「完全不涉及 LLM」),因此在目前版本中,網頁摘要失敗並非輔助模型所造成的問題。34 若要明確將某項工作固定使用主要供應商:
auxiliary:
vision: { provider: "main" }
compression: { provider: "main" }
SOUL.md 和 AGENTS.md 有何不同?
SOUL.md 定義代理的身分,包括語氣、風格及預設溝通方式。此檔案位於 ~/.hermes/SOUL.md,無論在哪裡使用都會隨您套用。AGENTS.md 則專屬於個別專案,記錄架構、慣例、命令與路徑,並存放在專案目錄中。13 若設定應在各處通用,請放入 SOUL.md;若僅適用於特定專案,則放入 AGENTS.md。
如何並行執行多個 Hermes 執行個體?
使用 profiles。每個 profile 都有各自的 HERMES_HOME、設定、記憶、工作階段及 gateway PID:6
hermes profile create work --clone
hermes profile use work # Sticky default
hermes -p work chat -q "..." # One-off without switching
hermes profile alias work --name h-work # Wrapper script
Hermes 支援本機 LLM 嗎?
支援,可透過自訂端點使用。Hermes 可搭配任何與 OpenAI 相容的伺服器,例如 Ollama、vLLM、SGLang、llama.cpp/llama-server、LM Studio、LocalAI、Jan,或您自行架設的伺服器。2 各伺服器的設定方式請參閱自訂與自行託管的端點。
為什麼啟動畫面顯示的工具數量比本指南所述更少?
本指南引用上游架構登錄中的47項工具/20個 toolsets,這是 Hermes 在所有 toolset 中隨附原始碼的完整工具總數。實際執行的安裝版本在啟動畫面中會顯示較少的數量(本指南所用的參考安裝環境顯示28項工具),因為 Hermes 啟動時只會啟用預設的 toolset 組合。許多 toolsets 都必須選擇性啟用:訊息 gateway 介接器、瀏覽器自動化、較大型的資料擷取技術堆疊,以及多項專用整合,都必須明確列在 ~/.hermes/config.yaml 的 toolsets: 之下才會載入。登錄總數=「啟用後可供使用的工具」。啟動畫面總數=「目前 profile 實際載入的工具」。使用 hermes tools --list 可查看哪些 toolsets 已啟用,以及哪些可用但尚未啟用。若要在執行期間切換個別 toolset,請使用 /tools enable <name> 和 /tools disable <name>(停用時會重設工作階段,讓代理依據新的工具組合重新建立工具清單)。
主要供應商失效時,Hermes 如何處理模型備援?
在 config.yaml 中設定 fallback_model 區塊:2
fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4
主要供應商失效時(例如觸發速率限制、伺服器錯誤或驗證失敗),Hermes 會在工作階段進行期間切換至備援模型,且不會遺失對話紀錄。每個工作階段最多觸發1次。
代理能否隨時間持續改進自己的 skills?
可以,這正是 Hermes Agent「自我改進」的核心。代理可透過 skill_manage 工具建立、更新及刪除 skills。當它找出一套並非顯而易見的工作流程時,便會將其作法儲存為 skill,以供日後重複使用。11 完成複雜工作(呼叫工具5次以上)、遭遇錯誤並找出可行方法、您修正其處理方式,或發現一套不易掌握的工作流程時,代理都會建立 skills。
是否提供 IDE 整合?
有。Hermes 可作為 ACP(Agent Client Protocol)伺服器執行,並與 VS Code、Zed 及 JetBrains 搭配使用:6
pip install -e '.[acp]'
hermes acp
變更記錄
| 日期 | 變更 | 來源 |
|---|---|---|
| 2026-09-24 | 指南 v1.23:自指南初版起便置於目前版本上方的 v0.14.0 導覽區塊,現已移至「最新動態」歷史記錄末尾,成為最舊的章節,與其餘歷史記錄採用的由新至舊順序一致。內容未變;重點摘要現可從「關鍵重點」直接接續至來源說明與「選擇您的路徑」。 | 指南結構 |
| 2026-09-24 | 指南 v1.22:Hermes v0.21.5(標籤 v2026.9.24,9月24日)——第三個彙總修補版本,精選說明延至 v0.22.0。 頂端新增「最新動態」章節;重點摘要也連結至此。於標籤版本深度涵蓋:Hindsight 從核心程式碼樹移至 plugin 目錄(版本說明並未提及),以及其自動遷移機制;gateway.multiplex_profiles: false 已淘汰,並新增各 profile 個別暫停與 gateway.standalone;Nous 與 OpenRouter 選擇器加入 GPT-6 Sol/Luna 和 Claude Opus 5.5。「外部記憶體提供者」現列出 7 個隨附提供者,以及目錄中的 Hindsight。「訊息 gateway」新增一段說明已淘汰的選擇退出機制。於該標籤重新檢查相容性方塊:plugin_compat.py 未變,更改迴避機制仍然有效。更正:隨附的 provider plugin 數量為 38,而非 39;OpenCode Free 列也標示為已移除,兩項變更皆始於9月18日。 |
5253 |
| 2026-09-23 | 指南 v1.21:完成正確性與可讀性檢查,版本仍為 Hermes v0.21.4(標籤 v2026.9.21;尚無更新版本)。「最新動態」現依由新至舊排列,v0.21.3 擁有獨立章節,重點摘要則以目前版本開篇。配對方面:decline 是唯一新增的值;一旦設定任何允許清單,實際預設值即為 ignore;YAML 的格式為 platforms.<name>.unauthorized_dm_behavior 或頂層鍵。stream-json 接受 --query-file,選項表也新增對應列。set-journal-mode 註明必須停止所有程序的規則,以及 Windows 的 --force。主機單例段落現以操作人員行為開篇。已移除關於寫入程序的句子。 |
5051 |
| 2026-09-22 | 指南 v1.20:Hermes v0.21.4(標籤 v2026.9.21,9月21日)——第二個彙總修補版本:自 v0.21.3 起共有「5,071 個非合併提交」、「5,169 個變更檔案」、「1,812 個已合併 PR」及「2,116 個已關閉 issue」;隨附的簡短說明將精選內容延至 v0.22.0。 在 v0.21.3 區塊下方新增「最新動態」章節。於指定的測量提交 4b8a8134,本機複本精確重現全部 5 項主要數據(該標籤另加 1 個版本提交:5,072 個非合併提交;包含合併提交的總數為 5,173,與 GitHub 的比較 API 相符);這是歷來第二大的標籤間區間,僅次於 v0.21.1 的 5,139(已重新查核,此說法仍然成立)。版本中刻意未記載的清單,僅在標籤版本原始碼驗證後才納入,每個項目均置於原有章節:主機單例(gateway/host_rendezvous.py:每部主機的每個作業系統使用者只能執行 1 個 hermes serve 與 1 個 hermes gateway run,透過主機鎖定及含 (pid, createTime) 存活證明的會合記錄實作;host_attach.py 提供 ATTACH/RESCAN/REPLACE_HOST/REFUSE/START 5 種結果;Desktop 端的 host-backend-attach.ts 依序採用 ledger -> HTTP -> token -> WS,並設有主機層級的啟動閘門——「訊息 Gateway」新增對應段落);由單一後端負責的連接器操作(tools/connectors/operation.py 標示「純資料,無 I/O」,300 秒期限刻意不設為 config 鍵;依標籤版本測試,manage_connections 設定卡顯示於 Desktop/TUI/CLI——Nous 免費方案小節已擴充);--format stream-json(_parser.py:247-249 + hermes_cli/stream_json.py:system/init -> text/tool_use/tool_result -> 單一 result 封裝;必須搭配 -q、會隱含啟用 --quiet、拒絕與 --tui 並用,且工具輸出上限為 5,000 個字元——聊天選項表新增此列);skills.auto_load(config_defaults.py:1435,「在每個新工作階段(CLI、TUI、gateway、cron、API)中固定為完整載入」,建構提示時僅解析 1 次,名稱不存在時會警告並略過,HERMES_IGNORE_RULES 可抑制此行為——新增「固定 Skills」小節);gateway decline(gateway/config.py:139,禮貌拒絕 1 次後保持沉默 24 小時,依 DECLINE_DEDUPE_SECONDS #88028;unauthorized_dm_decline_message 可自訂拒絕訊息,並可透過 platforms.<name>.extra 依平台設定;Email 預設為 ignore——「配對」章節已擴充);mcp.discovery_concurrency(config_defaults.py:526,預設值為 4,0 代表不設上限 #117373;無效值會發出警告並回復預設值,所有伺服器仍會連線——MCP 章節已擴充);session_search 的 after/before 與放寬為 OR 的重試(工具結構描述 :708-725,支援包含式/排除式界限,以及 ISO 或 7d/24h/2w;hermes_state_search.py:1151-1163 在 unicode61 索引查無結果時,會改以符合任一詞彙重試;精確命中語意維持不變,OR/NOT/單一詞彙/CJK 不適用——「工作階段搜尋」已擴充,且依 34 修正該章節中已過時的「Gemini Flash 摘要」說法,改為 v0.15.0 不使用 LLM 的單一格式設計);hermes sessions set-journal-mode delete\|wal(subcommands/sessions.py:177 + sessions_cmd_journal_mode.py,針對 #100896 提供離線自助處理;若有其他持有者則拒絕執行、驗證標頭位元組 18/19,doctor 會指向此命令——工作階段表格列與「工作階段儲存空間」已擴充);Desktop 更新潮(字型欄位 desktop.font_family 可覆寫佈景主題的 --dt-font-sans,並提供以無障礙為優先的建議;「更新引擎」支援一鍵更新執行環境,失敗時可清楚看見並重試;Plugins 中樞的解除安裝需經確認,並透過 plugins.manage remove / Electron 載入器執行);影片目錄(plugins/video_gen/fal 的 ltx-2.5 + kling-o3,含標籤版本的能力字串;toolset 參考資料新增名冊列);plugin 目錄擴建(plugin-catalog/ 在此區間由 9 個增至 228 個項目,透過固定 SHA 的 YAML 進行准入;每個 plugin/作者皆有網站頁面,並透過允許清單轉譯器顯示固定提交版本的 README;新增/更新排序依提交者日期決定;已確認版本所列的 10 個社群 plugin 均以實際 slug 存在:hermes-tailscale/hermes-ssh/shodan/hermes-terminal/hermes-rss/hermes-resetwatch/done-bell/kiwi/cognee/web-octen——「Plugin 系統」已擴充)。依版本本身的延後說明,修正項目類別(profile/multiplex 隔離、cron、kanban、Desktop、state.db)保留至 v0.22.0 掃描。相容性狀態已重新驗證:刪除路徑的還原仍未落地——manifest 與 shim 在 v2026.9.21 及 main 的 a53b42ddea(2026-09-22,當日擷取)皆存在;plugin_compat.py 在此區間的變更僅涉及 plugin 掃描快取與 Windows 路徑的 POSIX 格式(#112576),常值布林防護從 :261-268 移至 :296-303,但仍為 is True;v0.21.1 項目符號、v0.21.3 區塊、「Plugin 系統」方塊及 42 的現況資訊均已更新。在 v2026.9.21 重新標記:靜態提供者為 39 個(於 models_catalog_static.py:311 進行 AST 計數),provider-plugin 資料夾也是 39 個,兩者皆未改變;重點摘要的提供者數量標記從 v2026.9.14 更新為 v2026.9.21;v0.21.3 的「目前版本」措辭已停用。 |
505142 |
| 2026-09-15 | 指南 v1.19:Hermes v0.21.2(標籤 v2026.9.11,9月11日)「state.db 修補版本」+ v0.21.3(標籤 v2026.9.14,9月14日),以及外掛相容期限生效後的情況。 在 v0.21.1 章節下方新增「最新消息」章節。v0.21.2(「947 次非合併提交」、「312 個已合併 PR」、「140 位貢獻者」)以 state.db 可靠性改善計畫為首(6 個 PR、44 個問題:將託管聊天室協調資料從根儲存區移至 shared-state.db——已在該標籤核對 gateway/hosted_rooms.py:398-426;dashboard 會先以唯讀模式開啟;透過受追蹤的連線登錄檔保護 cron;doctor --fix 會拒絕無法證明安全的 checkpoint;FTS 索引損壞時會降低搜尋能力,而非直接中止該回合;損毀的資料列會顯示 ?,不再導致 sessions list 終止;綁定至指定 profile;唯讀開啟不再取得寫入鎖,耗時從 4–20 秒降至 0.01 秒;保留此版本面向操作人員的處理順序:先執行 hermes doctor,再執行 hermes sessions recover --inspect-only——已在 hermes_cli/subcommands/sessions.py:185-196 核對剖析器;此子命令早在本次版本區間之前就已存在(v2026.8.31 已收錄),因此文件將其標示為本次新增涵蓋,而非全新功能);多 profile 隔離強化(#107609–#107630 修補了自 v0.19.0 起「完全隔離」承諾中的實際漏洞——繼承的允許清單、傳送至預設 profile 主機的憑證、傳送至 stdio MCP 伺服器的 vault 機密、跨 profile 的 MEDIA: 附件、同層級 profile 的 Nous bearer token;並在 Profiles 與 Messaging Gateway 多工段落加入如實說明);無須向工具揭露密碼的憑證 vault(透過僅含中繼資料且具命名空間的 handle,使用 1Password、Bitwarden 或本機 vault 登入、付款及自動填寫,密碼僅在填入時解析;主密碼絕不作為工具引數;可從已儲存的驗證器金鑰產生 TOTP——已在該標籤核對 agent/vault_backends/ + agent/vault_store.py:74-105);外掛目錄(hermes plugins browse/search + 可感知目錄的 install + pack install/export/show,並以 SHA 固定版本——已在該標籤核對子剖析器;同步更新 Plugin System 命令區塊);Nous 免費方案 + 引導式首次啟動(免費推論與連接器、可在聊天中使用 /login,以及 HERMES_GUEST_ONBOARDING=1,其中只有字面值 1 會啟用此功能——已核對 guest-onboarding-flag.test.ts;在 Nous Tool Gateway 下新增小節);以及桌面版大量重複啟動程序的修正。另有簡短的 v0.21.3 區塊(「1,036 次非合併提交」、「338 個已合併 PR」;已建立標籤,讓自動更新的 Cloud agents 能接收此版本):single-flight token 重新整理終止了重新整理突發造成的工作階段撤銷(提交 5dea46d13d、#110061),並停止重複建立 state.db 寫入 handle(提交 939a2f64b4、#110934);兩者均僅在 v2026.9.11..v2026.9.14 區間內核對。另引用該版本本身的延後說明(「此區間完整編訂的版本說明將隨 v0.22.0 發布,屆時會記錄自 v0.21.0 起的所有內容」……「此區間的內容無一遺漏」),並在此列列出其刻意暫不撰寫文件的項目(推理強度選擇器、OpenRouter PKCE、HEIF/AVIF、FAL 功能浪潮、Slack Agent Sessions API、拒絕跨 VM WAL),留待 v0.22.0 掃描時處理。相容期限生效後的說明已改寫為過去式,涵蓋 v0.21.1 的分解項目、Plugin System 方塊與 42:移除措施依原定時程透過日期閘門生效,而非透過程式碼還原(v2026.9.14 的 hermes_cli/plugin_compat.py:32 設定了 COMPAT_REMOVAL_DATE;位於 :86-90 的 removal_in_effect() 自 2026-09-14 起回傳 true),受影響的外掛現在會停用並顯示紅色通知——但刪除舊匯入路徑的還原尚未合併(該標籤及 main 的 5d59366010 上仍有 COMPAT_MANIFEST.md + compat_manifest.json + shim;擷取時間為 2026-09-15 12:55 PT),因此 plugins.allow_deprecated_imports: true 仍能讓受影響的外掛載入;只接受布林字面值(plugin_compat.py:261-268、is True——加上引號的字串絕不會啟用繞過機制)。以下僅列於變更日誌,且均經版本說明或原始碼核對:Telegram 的 bots_require_mention 會要求機器人收到 @提及才回應,從而阻斷機器人彼此循環對話;hermes -z --resume 會延續工作階段(-z = --oneshot,hermes_cli/_parser.py:113);被動更新檢查改為每天最多存取一次 GitHub API,不再每 30 分鐘執行一次 git fetch(v2026.9.11 的 banner.py:129-131、v2026.9.14 的 :136-139);hermes backup -k/--keep 預設只保留最新的 3 個 zip 檔(subcommands/backup.py:24-26),且 config.yaml 備份會存放在單一、有數量上限的 backups/config/ 目錄;model_thresholds 鍵可使用 provider:substr 限定 provider(agent/context_compressor.py:1558-1567);--clone-all 不再複製 cron 工作(此旗標屬於 hermes profile,位於 subcommands/profile.py:24,並不屬於 hermes cron);kanban promote 會拒絕尚未完成的父項目,而 kanban_request_review 會拒絕未知的審查者 profile;/model 與輔助 auto 絕不會向您未選取的 provider 計費,也不會自動切換至未設定憑證的 provider;選擇器新增 DeepSeek V4.1 Flash(Nous Portal + OpenRouter)、GPT Image 2.5,以及原生 Anthropic 選擇器上的 Opus 5 + Fable 5.1;使用 dpaste 備援時,debug share 的保留期限縮短為 1 天。在 v2026.9.14 重新確認:靜態 provider 為 39 個(對 models_catalog_static.py:314 的 CANONICAL_PROVIDERS 進行 AST 計數),provider 外掛目錄亦為 39 個,兩者均未變;--max-turns 預設值 500 現位於 cli.py:404(41 的 cli.py:400 對其所屬標籤仍然正確);model_catalog.ttl_minutes 為 20(config_defaults.py:1866);相較於兩個新區間(本機非合併計數分別為 959 與 1,037),v0.21.1 擁有最大版本區間(5,139)的說法依然成立;TL;DR 的 provider 數量版本標記已從 v2026.9.7 移至 v2026.9.14。 |
484942 |
| 2026-09-08 | 指南 v1.18:Hermes v0.21.1(標籤 v2026.9.7,9月7日)——彙總修補版本:在刻意精簡、並將精選說明延後至 v0.22.0 的修補說明下,帶來迄今規模最大的單一標籤間更新(「5,139 筆非合併提交」、「632 個已合併 PR」)。 在 Pantheon 章節上方新增「最新動態」章節,涵蓋 6 組經來源驗證的變更:9月架構拆分,以及 2026-09-14 plugin 相容性期限(COMPAT_MANIFEST.md:1,148 個移至延遲載入的名稱、每個名稱僅發出一次 HermesPluginCompatWarning、hermes plugins compat 檢查器、plugins.allow_deprecated_imports 應急開關;Plugin System 另新增相容期說明框);僅接受明確指令的 gateway 對話邊界(SessionResetPolicy 現已停用——Messaging Gateway 已更新,claw 遷移清單也加上註解);MCP 裝置碼 OAuth(hermes mcp login --flow device、RFC 8628;MCP 指令區塊新增 login 與 reauth --all;透過 OAuth 工作階段管理 profile 所有權、忽略格式錯誤的中繼資料快取、桌面用戶端本機回呼,以及以 -t 篩選器啟動 MCP 伺服器);委派可靠性(透過 delegation.independent_completions 搭配每項任務的 group 提供完成單元,預設每次呼叫產生一個完成結果;背景處理程序交接,並在結果中標示 orphaned_processes 與 unread_completions;delegation.fallback_providers;經正規化器驗證的子代理鏈;當機後仍可保留的部分結果;子代理一律不繼承 1 小時快取層級——以上皆取自該標籤的 delegate 工具原始碼);供應商/模型(GPT-6 Astra + Astra Pro,支援 fast/flex 層級;透過 Codex OAuth 受帳戶資格限制,另提供選擇加入的 -900k 變體;claude-fable-5.1;gemini-3.7/3.8-flash;qwen3.8-max-0902;Muse Spark 1.3 + muse-image image_gen plugin;Tavily 搜尋/擷取;受管理的 llama.cpp 執行階段;外部處理程序供應商;透過 model_catalog.ttl_minutes 設定每 20 分鐘重新整理模型目錄);以及桌面端浪潮(應用程式內瀏覽器註解模式會攜帶每則註解的選取器/標記/樣式,並依區域分批處理;結構化工作階段與自動化控制;拖曳建立工作階段;匯入外部逐字稿工作階段;display.resume_last_session;首次開啟真實 profile 時徵求同意;內建選用 skills 目錄;俄文桌面語系)。僅列於變更記錄且經提交或來源驗證的項目:cron 可靠性(3 筆經驗證的修正提交強化重新啟動交接、以序列化方式執行傳送去重並保留終止狀態、消除建立暫停工作時的競爭條件、將 Discord cron 媒體傳送至指定目標並回報上傳失敗、在無訊息的稽核 tick 之間維持連續性);核准機制的 shell 剖析(GNU env 拆分逸出字元與 argv0 運算元、env argv 與 shell 註解邊界、加上引號的命令替換主體會保留其命令邊界、隔離容器內的 approvals.deny);gateway 啟動存活監控程式(hermes_startup_watchdog.py;gateway.startup_watchdog 設有 300 秒期限,逾時以 75 硬性結束);state.db 韌性(透過 sqlite3-.recover 搶救至 lost-and-found、like_scan FTS 路由、新增 docs/state-db-recovery.md);效能(search_files 在本機 POSIX 主機上直接執行 ripgrep、schema v30 的 trigram FTS 索引排除 delegate 子代理逐字稿、主要與輔助路徑共用 OpenAI httpx 用戶端);gateway.trust_env;Slack Block Kit /model 選擇器;以及遠端 sandbox 媒體傳送(憑證及其符號連結絕不離開 sandbox);Troubleshooting 新增檢查殘留 HERMES_MAX_ITERATIONS 幽靈設定的 doctor 項目。在標籤處將 v2026.8.31 更新為 v2026.9.7:靜態供應商 39 個、供應商 plugin 資料夾 39 個,兩者的項目皆與 v0.21.0 完全相同——預掃描所稱「38 個靜態供應商,xai 已併入 plugin」已由原始碼證實不實(xai tuple 仍在靜態清單中;只有檔案從 hermes_cli/models.py 移至 hermes_cli/models_catalog_static.py:311);心智模型與 CLI 資料流程中的 prompt_builder.py 路徑改為 agent/prompt_builder.py;保留 v0.16 每小時重新整理模型目錄的版本限定說法,並在旁補充每 20 分鐘的週期。既有說法已重新驗證且維持不變:hermes approvals test 命名註記、--max-turns 預設值 500(該標籤的 cli.py:400;未沿用仍寫著 60 的過時 docstring)、read_file 2000 行、委派上限 250/10、compression.tail_mode: lean、Node 26、17 種 CLI 語系。 |
41424344454647 |
| 2026-07-28 | 指南 v1.12:依搜尋需求進行內容補強——兩個轉換成效良好的主題,卻沒有可承接流量的標題。 無新版本。GSC 顯示,hermes swarm 與 hermes agent swarm 在約第 8 名的位置帶來 4.4–6.3% 的轉換率,hermes smart model routing 則在第 6.7 名帶來 4.9% 的轉換率,但兩者都沒有專屬章節:swarm 只出現在 Multi-Agent Kanban 內文與變更記錄列中,而「smart model routing」除了一則註腳外完全未曾出現。在 Multi-Agent Kanban 下新增 什麼是 Hermes Swarm?——將 swarm 定義為多個平行工作者共用一個持久化看板,說明 v0.15.0 的 swarm 拓撲、自動拆解、各任務模型覆寫、排程任務與 worktree 管理,並以表格列出各機制所防範的失敗情境。將 Provider Rotation & Fallback 改名為 Smart Model Routing:Provider Rotation & Fallback,並在開頭說明中將憑證池、備援模型與輔助路由整合為單一系統。原錨點未被任何內部連結引用,因此改名不會造成連結失效。 |
59 2 6 |
| 2026-08-31 | 指南 v1.17:Hermes v0.21.0「The Pantheon Release」(標籤 v2026.8.31,8月31日)——精選彙總版本正式登場。 在 Herald 章節上方新增「最新動態」章節,依該版本自身的功能領域編排:桌面版內建且預設開啟 Bot Mode(具名 profiles、確定性頭像、支援 @提及的群組聊天);hermes peer 機器人對機器人私訊(回覆會進入各代理的標準 Bot Chat);cron 連續性(continuity=true、持久化記事本、monitor mode LLM 跳過、各工作 effort 固定——Scheduled Tasks 章節新增該標籤中這 4 項功能的運作機制);即時子代理協作(delegate_task 的列出/引導/停止功能、採用 JSON schema 的子代理輸出、預設值提高至 250 次迭代/10 個並行子代理——已在 config_defaults.py 驗證原始碼,相較之下,委派文件頁面的 3/50 已過時);MCP 指令中心(加上 hermes:// 安裝連結——MCP 章節已更新);CLI 功能浪潮(slash 表格新增 /palette + Ctrl+P,以及採共用 registry 的 /status;並註明 /model 可隨輸入即時篩選;版本說明中的 hermes approval-check 經證實在該標籤實為 hermes approvals test——不存在前述子命令);代理驅動的應用程式內瀏覽器;供應商/模型浪潮(新增 6 個供應商;矩陣新增 Tencent TokenPlan、Nebius Token Factory、Ramp Router 與 Alibaba Token Plan 列,並引用文件中的環境變數;model_overrides;資料訓練層級警告;pip 供應商 plugins);安全性浪潮(寫入 AGENTS.md/skills/memory 一律需要核准——已在該標籤驗證 security.protected_instruction_files: true 與 tools/file_tools.py 閘門;全面遮蔽敏感資訊;Windows 核准機制涵蓋範圍;hermes desktop --setup-tcc-identity;移除 Blender MCP——Security Hardening 新增第 4 波更新);gateway 成熟化、8 項 skill 更新,以及 REVERTED 清單(Model Council /council、DCP context engine、僅支援 WS 的 gateway 伺服器——帶有序號戳記的重播 #94219 確實已推出;Electron 回退至 40.10.2;grep 證實本指南從未記載任何已撤回功能)。彙總子章節原先延後提供說明的狀態已解決,現改為指向精選章節;時間窗區塊則保留為各標籤的記錄。在標籤處將 v2026.8.27 更新為 v2026.8.31:靜態供應商由 38 增至 39(+tencent-tokenplan);供應商 plugin 資料夾由 37 增至 39(+nebius-token-factory、+router,兩者皆為 auth_type="api_key");文件中的供應商列由 41 增至 45;以下項目維持不變並已重新驗證:28 個文件平台列/24 個 Platform enum 成員(清單完全相同)/22 個 adapter 資料夾、_BUILTIN_SUBCOMMANDS 完全相同(73 個,peer 自彙總時間窗起即已存在,沒有 version)、7 個終端後端 + plugin registry(registry 位元組完全相同)、14 種 personalities 與 17 種語系(位元組完全相同/清單相同)、compression lean 預設值與輔助 slot 名冊、_startup_fast.py/portal_cli.py 位元組完全相同。驗證過程中修正的差異:在 TTY 執行 hermes chat -q 現在會啟動互動式工作階段(新增 --oneshot 以恢復回答後結束的行為),並依該標籤的剖析器說明,將聊天表格中的 --max-turns 預設值由 90 修正為 500。 |
35363738394033 |
| 2026-08-27 | 指南 v1.16:Hermes v0.20.6(標籤 v2026.8.27,8月27日)——第 4 次彙整。 彙整小節新增第 4 個時間範圍;依此版本本身的說明,自 v0.20.5 以來約有 1,313 次提交,涉及約 1,557 個檔案,新增 177,113 行/刪除 21,682 行,合併約 525 個 PR:須經同意才能使用真實 profile 瀏覽(預設 Chromium profile、Windows 經核准後關閉的流程)、在獨立作業系統視窗中執行的桌面版 Browser、受管理的 SSH 遠端更新引擎與機群 profile 軌道、擴充遠端 MCP 目錄(50 多個經即時驗證、由供應商託管的伺服器,包括 Cloudflare、Grafana Cloud、Better Stack、Railway)、可選用作業系統鑰匙圈加密已儲存的祕密資訊、新增選擇器模型(GLM-5.3-Flash、免費的 MiniMax M3、MiniMax H3 Max 影片模型)、為 web_search/web_extract 提供具 TTL 的結果快取、支援詞幹分析的多查詢 tool_search、更新程式透過控制通訊端暫停 gateway、以映像檔/套件管理方式安裝時拒絕不安全的原地更新、cron 持久性事件確認、Slack 連結展開控制,以及共用的 Docker 容器身分。兩項版本聲明與既有章節牴觸;經標籤版本確認後均已修正:lean-tail 壓縮為預設值(以標籤當時的設定鍵重寫「Context Compression」——tail_mode: lean、threshold_tokens、protect_first_n,摘要器選項位於 auxiliary.compression.*,並具備設定版本 17 的自動遷移;亦修正了內容顛倒的疑難排解註記),且終端機後端可透過 plugin 擴充(重新表述為 7 個內建後端加上 plugin 登錄機制,風格比照供應商選擇器;內建名稱均為保留名稱)。重新驗證標籤版本的統計資料,並將 v2026.8.19 更新為 v2026.8.27:38 個靜態供應商+37 個供應商 plugin 目錄、24 個 Platform 列舉成員/22 個轉接器目錄/文件表格中的 28 列;沒有 version 子命令(_BUILTIN_SUBCOMMANDS 共 73 個項目,包含 worktree);剖析器選項與加上引號的說明字串維持不變;BUILTIN_PERSONALITIES 仍有 14 個(從 helpful 到 hype);locales/ 現有 17 個語系目錄(英文+16 種翻譯;已新增標籤版本的數量)。main 正好位於該標籤(ahead_by: 0,狀態完全相同)。此外,驗證時發現並修正了另一項偏移:輔助系統過時的預設行為——auto 現在會將每項輔助工作導向主要聊天模型,不再透過 OpenRouter → Nous → Codex 偵測導向 Gemini Flash;已依標籤版本的插槽清單重寫「Auxiliary Models」(新增 title_generation、tts_audio_tags、triage_specifier、kanban_decomposer、profile_describer,並各自附上有來源依據的單行說明;上游已移除 web_extract 與 session_search 插槽——兩者都不再使用 LLM——而 flush_memories 也已從預設值移除),並重新核實僅適用於 Anthropic 的疑難排解項目。此版本的全新安裝指令採用原始 GitHub 指令碼 URL;本指南則保留標準的 hermes-agent.nousresearch.com/install.sh。v0.21.0 仍預計提供精選版本資訊。 |
293031323334 |
| 2026-08-26 | 指南 v1.15:更正——沒有新版本(最新標籤為 v2026.8.19/v0.20.5,8月21日);已依該標籤重新驗證既有聲明。 終端機後端:由 6 個增至 7 個,並在表格與設定註解中加入 vercel_sandbox。訊息平台:將零星出現的「22」統一修正為標籤版本文件比較表中的 28 個,並說明計數依據(24 個內建 Platform 列舉成員、22 個隨附的轉接器目錄),同時將 ntfy 與 Buzz 加入 gateway 清單。供應商:將「約 20/約 22 個一級支援」改為有來源依據的數量(38 個靜態 CANONICAL_PROVIDERS 項目,另由 37 個隨附的供應商 plugin 自動擴充;文件頁面列有 41 個雲端/訂閱方案),移除「完整清單」字樣、修正 Qwen OAuth 列,並新增 17 個矩陣表格列(OpenCode Free、OpenAI API direct、Vertex AI、Azure Foundry、Bedrock、NVIDIA NIM、Ollama Cloud、StepFun、MiniMax OAuth、Meta AI、NovitaAI、Arcee AI、GMI Cloud、Actual Computer、Tencent TokenHub、CommandCode、Alibaba Coding Plan)。將 hermes version 改為 hermes --version(在該標籤版本中並非子命令)。將 hermes honcho 註記為僅在具備相應 plugin 時可用。將「機群 --plan」改為 hermes update --plan。「Global Options」新增 --in、--tui、--cli、--dev、--ignore-rules、--ignore-user-config;「Top-Level Commands」從 _BUILTIN_SUBCOMMANDS 新增 34 列,包括 hermes worktree list\|prune 及其旗標;加入 /worktree 斜線命令;記載 hermes setup --portal 與 hermes portal login\|info\|open\|tools。驗證時,main 已超前該標籤 1,104 次提交(其後全數彙整至 v2026.8.27);v0.21.0 預計提供精選版本資訊。 |
23242526272829 |
| 2026-08-24 | 指南 v1.14:v0.20.5(標籤 v2026.8.19,8月21日發布)。 彙整小節新增第 3 個時間範圍(自 v0.20.4 以來約 746 次提交/約 323 個 PR):無須金鑰的網頁層級(5 家供應商免費輪替並採用環狀容錯移轉——全新安裝即使沒有任何金鑰也能進行網頁搜尋)、CLI 體驗改善(模糊搜尋 /model 選擇器、Ctrl+P 命令選擇區、更豐富的 /status)、Bot Mode 群組聊天室討論串+可折疊摘要+PDF/檔案拖放、hermes worktree list/prune、hermes update 收據與機群 --plan 驗證、具備各工作推理強度的 cron 持久記憶、源自 Composio 評估結果的執行紀律停滯防護、無須驗證的 opencode-free 供應商,以及桌面版效能改善(優先繪製的 hydration、兩個 renderer 均採用 React Compiler)。具備完整精選版本資訊的 v0.21.0 仍待發布——摘要取材自此版本本身的時間範圍說明。已更新頁首版本沿革。 |
23 |
| 2026-08-20 | 指南 v1.13:v0.20.3(標籤 v2026.8.16.2,8月17日發布)與 v0.20.4(標籤 v2026.8.18,8月18日)。 在「Herald Release」下新增小節:這一系列彙整版本現在不只著重穩定性,也開始加入功能。v0.20.3(約 250 次提交/約 125 個 PR):MCP 2.x SDK 遷移,支援 2026-07-28 的無狀態通訊協定;隨附 Bot Mode plugin(hermes-bots)及核心隊友通訊協定;CommandCode 供應商 plugin;Cua Driver 0.20 電腦操作執行階段合約;強化 Python 執行階段擁有權;cron 排程器自我修復;修正工作階段移交造成的資料遺失;移植生態系功能(/worktree、/rollback 保留手動編輯內容、plugin 安裝安全掃描)。v0.20.4(約 146 次提交/約 74 個 PR):桌面版玻璃/半透明介面與霧面選擇器、具備分頁的 SESSIONS|BOTS 側邊欄及各 bot 顯示/隱藏功能、安裝 skill 時進行 NVIDIA SkillEvaluator Tier 1 建議性掃描(授權條款+安全性)、強化 cron 媒體傳送、如實呈現 hermes update 的暫停分支狀態。兩個版本皆聲明將隨 v0.21.0 提供完整精選版本資訊——摘要取材自各版本本身的時間範圍說明。已更新頁首句子與標籤沿革。 |
54 |
| 2026-08-16 | 指南 v1.12:v0.20.0「The Herald Release」(8月3日,標籤 v2026.8.3),以及 v0.20.1(8月13日)與 v0.20.2(8月16日)穩定化標籤。 3 項更正修復了已無法使用的操作說明:必須使用 Node 26(安裝程式固定採用 NODE_VERSION="26",並拒絕較舊的執行階段——文件網站所述的 Node v22 已過時,因此以安裝程式與版本資訊為準)、pip 與 Homebrew 已停止支援,並非僅標示為棄用(「shell 安裝程式/Docker/Nix 是受支援的管道」),以及預設迭代上限從 90 提高至 500,致使預算壓力表格中的所有數字失效。安裝命令已更正為標準的 https://hermes-agent.nousresearch.com/install.sh。移除的介面:claude-marketplace skill 來源已不復存在,並在來源清單中由 browse-sh 取代;預設 GitHub taps 現為 openai、anthropics、huggingface、NVIDIA 與 gstack。直接逐項列舉文件比較表後,將 messaging gateway 平台數量從 22 改為 28(文件未公布官方總數)。Windows(原生)屬於 Tier 1,而非早期測試版;macOS 僅支援 Apple Silicon。新增章節介紹此版本本身:支援插話的對話式語音、A2A v1.0、已簽署的出站生命週期 webhooks、grounded-citations skill、!//init//diff//context//focus CLI 功能潮與 hermes import-agent、command-helper 祕密資訊來源、hermes -w 冷啟動時間從約 14 秒縮短至約 1.8 秒,以及桌面版成品與 Plugin SDK。經驗證維持不變的項目:3 種驗證路徑、~/.hermes/ 配置、hermes update,以及文件記載的工具清單。 |
55 |
| 2026-07-21 | 指南 v1.11:v0.19.0「The Quicksilver Release」(2026年7月20日,標籤 v2026.7.20)。新增「v0.19.0 的新功能」一節:首次回合 TTFT 縮短約 80%(冷啟動提交→派送從約 4.3 秒降至約 0.9 秒,涵蓋 CLI/gateway/TUI/桌面版/cron)、預設即時串流顯示推理過程(啟用 display.show_reasoning)、桌面版約 20 個 PR 的效能提升(串流 Markdown 快 14 倍)以及 TUI 增量式 Markdown;已棄用 pip/Homebrew 安裝方式(僅顯示「不受支援的舊版方式」警告,並計畫停止發布至 PyPI/Homebrew)— 已修正安裝章節與 TL;DR,改用單行安裝程式;可插拔的 SecretSource,提供 Bitwarden 與 1Password provider(op:// 參照、多 vault、確定性的優先順序、各變數來源追蹤);預設採用智慧核准(由獨立的 LLM 審查器逐一審查標記的命令)+ 即使在 YOLO 模式下仍會生效的使用者自訂拒絕規則 + /deny <reason> + 重新導入 plugin pre_tool_call 核准升級;終端機計費功能 /subscription + /topup + 桌面版計費分頁(撤回「沒有獨立訂閱命令」的說法);state.db 中的即時 subagent 逐字記錄 + 可持久保存的背景委派 + 交付義務帳冊;max_async_children 已棄用,改採統一的委派並行上限;依 profile 進行 gateway 訊息路由(單一多工 bot token → 隔離的 profile、GATEWAY_MULTIPLEX_PROFILES、state.db 中的路由索引、sessions.json 為選用的舊版鏡像);provider/model:Fireworks AI(選擇器第 2 順位)、DeepInfra、Upstage Solar、端對端支援 GPT-5.6(Sol/Terra/Luna + Pro)、grok-4.5 正式發布、kimi-k3(停用 kimi-k2.x)、完整串接 Claude Sonnet 5、各 provider 可設定 enabled: false + excluded_providers、推理強度新增 max/ultra 層級,支援各 model/各 MoA slot 覆寫,以及限定於 session 的 /reasoning;CLI/MCP:hermes sessions export(Markdown/Quarto/HTML/僅 prompt/HF-trace、--redact)、/model --once、堆疊式 slash-skill 呼叫、--safe-mode、hermes config get/unset、真正無頭運作的 hermes serve、MCP mcp__server__tool 命名方式。此外,也補記先前遺漏的修補標籤 v0.18.1(標籤 v2026.7.7)與 v0.18.2(標籤 v2026.7.7.2),2026年7月7日至8日— 基礎架構修補彙整;v0.18.2 的實質修正是取消將 WhatsApp Baileys 固定於特定版本,改用 7.0.0-rc13,以確保 Docker 建置穩定可靠。 |
56 57 |
| 2026-07-16 | 新增首則疑難排解項目,處理以下逐字啟動錯誤:「No inference provider configured. Run ‘hermes model’ to choose a provider and model」— 此項目源自搜尋需求;內容會引導至互動式選擇器、hermes doctor,以及 3 種驗證方式。產品本身並無變更。 |
2 7 |
| 2026-07-01 | 指南 v1.10:v0.18.0「The Judgment Release」(2026年7月1日,標籤 v2026.7.1)。新增「v0.18.0 的新功能」一節:完整清除 P0/P1 待辦項目(約 692 項);Mixture-of-Agents 成為第一級功能,提供附 model 標籤的整合輸出與即時串流;完成契約— /goal 會執行專案檢查,自行驗證工作成果;/learn(描述工作流程 → 符合 CONTRIBUTING.md 規範的可重複使用 skill);/journey 記憶/skill 時間軸 + 桌面版記憶圖譜;背景 subagent 扇出(並行委派工作);Desktop Projects(專案/repo/lane);具備排空協調功能的縮容至零 gateway;Google Vertex AI(透過 GCP 服務帳戶使用 Gemini,自動重新整理 OAuth2);/prompt \$EDITOR 編輯器。來源:hermes-agent releases。 |
22 |
| 2026-06-21 | 指南 v1.9:v0.17.0「The Reach Release」(2026年6月19日,標籤 v2026.6.19)。新增「v0.17.0 的新功能」一節。訊息傳遞:透過 Photon Spectrum 提供無須 relay 的 iMessage(hermes photon login、裝置代碼 OAuth)、官方 WhatsApp Business Cloud API adapter(無須 bridge)、SimpleX 群組與附件、Raft 平台 plugin。Model:z-ai/glm-5.2(1M)、anthropic/claude-fable-5、laguna-m.1、nemotron-3-ultra、grok-composer-2.5-fast(xAI OAuth、200k);xAI 預設值 → grok-build-0.1;Anthropic 自適應 model 不再提供 reasoning 欄位。桌面版/儀表板:具備即時監看視窗的背景 subagent(delegate_task(background=true))、完整 profile 建立工具、重新設計的 Skills Hub、Automation Blueprints、安全的 401 登入、VS Code Marketplace 主題,以及日文與繁體中文 UI。Skill/工具:image_generate 圖生圖編輯、memory 原子式 operations 批次處理、simplify-code skill、布林值 write_approval(取代 write_mode)。架構:MCP elicitation handler、可插拔的 CronScheduler + Chronos、Managed scope(/etc/hermes)、Gateway-Gateway relay。命令:/version、/billing、hermes curator run --consolidate(選擇加入)。安全性:修補 shell escape 拒絕清單繞過漏洞、核准/gateway adapter 採取失敗即關閉機制、清理 cron 環境、在偵錯傾印中遮蔽秘密、MCP stdio 資料外洩篩查、升級 urllib3 + PyJWT 以修補 CVE。完成 2 項 P0 + 62 項 P1(其中 16 項標記為安全性問題)。 |
21 |
| 2026-06-08 | 指南 v1.8:v0.16.0「The Surface Release」(2026年6月5日,標籤 v2026.6.5)。將指南標題更新為 v0.16,並新增「v0.16.0 的新功能」一節。重點:Hermes 不再僅限於終端機。原生 Hermes Desktop 應用程式(Electron,支援 macOS/Linux/Windows),提供一鍵安裝、應用程式內自動更新、串流聊天、拖放與剪貼簿貼上圖片、Cmd+K 指令選單、session 封存/搜尋、狀態列 model 選擇器、透過安全 WebSocket 連線至遠端 gateway(OAuth 或使用者名稱/密碼、各 profile 獨立主機、跨 profile 的 @session 連結),以及透過型別化 i18n 提供完整的簡體中文翻譯。瀏覽器管理面板(網頁儀表板 → 完整管理介面):MCP 目錄啟用/停用、憑證管理、建立 webhook/hook、記憶設定、gateway 控制、具備更新前檢查與 Debug Share 的系統頁面、全新的頻道頁面,以及可插拔驗證(使用者名稱/密碼、自行託管的 OIDC、hermes dashboard register)。新命令:/undo [N](CLI/TUI/訊息平台)、可設定預設介面(cli/tui、--cli)、TUI 統一 /model + Sessions 覆蓋層、hermes portal、hermes prompt-size、hermes sessions optimize。新 model:deepseek-v4-flash、MiniMax-M3(1M context)、qwen3.7-plus、gemini-3.5-flash;桌面版啟動器首度原生支援 xAI Grok OAuth;模糊搜尋 model 選擇器;每小時重新整理目錄。Skill:更精簡的預設組合(Spotify → 原生 plugin、Linear → hermes mcp install linear、移除已失效的 skill)、environments: 相關性閘門(kanban/docker/s6)、預設信任的 NVIDIA/skills tap、漸進式(限定範圍)揭露 MCP/plugin 工具。安全性:CVE-2026-48710(Starlette BadHost)固定使用 ≥1.0.1;將 SSRF 檢查移出事件迴圈;從子程序環境中移除 Bedrock bearer token;為 bws_cache.json 加入讀取防護;將 docker restart/stop/kill 加入危險模式;清理不可見 Unicode 字元。完成 2 項 P0 + 62 項 P1(其中 16 項標記為安全性問題)。 |
20 |
| 2026-05-31 | 指南 v1.7.1:v0.15.1(2026年5月29日 01:12 UTC)— Velocity 修補版。Velocity 發布同日推出的 hotfix;固定於標籤 v2026.5.29 系列。修正影響 loopback 模式部署的儀表板 401 重新載入迴圈。Docker 不再將 --insecure 視為隱含設定,如需重新啟用,請明確設定 HERMES_DASHBOARD_INSECURE=1。MCP 裸命令(npx、npm、node)現在可再次於 Docker 容器內正確解析。Skills 頁面的來源膠囊標籤與分類側邊欄可正常呈現。Kanban worker 會妥善回應 SIGTERM,不再留下孤兒程序。透過 sitemap 探索,Skills.sh 目錄由 858 筆擴充至 19,932 筆。28 次 commit、21 個已合併 PR、9 位貢獻者。v0.15.2(2026年5月29日 13:37 UTC)— Velocity 封裝修補版。修正 wheel 與 sdist 發行套件,使其納入 plugin.yaml manifest,讓從 PyPI 安裝時無須側載原始碼樹。此 hotfix 僅涉及封裝,由 4 位貢獻者完成。 |
58 |
| 2026-05-28 | 指南v1.7:新增v0.15.0(2026年5月28日)— Velocity版本(標籤v2026.5.28)。重點:大規模重構與全新的協作原語。程式碼庫重構:run_agent.py縮減76%(16,083→3,821行),並拆分至14個職責明確的模組。多代理Kanban v2:自動將高階目標分解為子任務、透過群集拓撲協調平行工作代理、逐任務覆寫模型、排程任務,以及worktree管理。效能:冷啟動再縮短1秒;每段對話的函式呼叫次數減少47%;重新設計的session_search速度提升4,500倍,並移除LLM相依套件(同時省下其API費用)。安全性:Promptware防禦機制在3個安全關卡抵禦Brainworm類提示詞注入;整合Bitwarden Secrets Manager,以單一啟動權杖取代多組逐供應商API金鑰。Skill套組:使用一個斜線命令即可同時載入多個skill。TUI工作階段協調器:在單一終端機視窗內管理多個工作階段。新供應商:新增Krea 2(Medium/Large)與支援影像生成的FAL外掛程式;xAI整合更新加入網路搜尋外掛程式、OAuth上游支援、退役模型偵測及自然的TTS停頓。統計資料:1,302次提交、747個合併的PR、321位社群貢獻者。根據GitHub版本說明,同日或隔日發布的修補版本處理了儀表板401重新載入迴圈、Docker --insecure明確環境變數、Docker中的MCP裸命令解析(npx、npm、node)、Skills頁面恢復、Kanban工作代理SIGTERM處理,以及透過網站地圖提供完整的19,932筆Skills目錄。 |
59 |
| 2026-05-21 | 指南v1.6:新增v0.14.0(2026年5月16日)— Foundation版本。重點:更輕量的安裝與執行基礎,並擴充供應商、gateway、媒體及驗證功能。新增具備grok-4.3 1M context的SuperGrok OAuth、供OAuth供應商使用且與OpenAI相容的hermes proxy、第一級x_search支援、pip install hermes-agent、延遲安裝相依套件、啟動速度加快約19秒、瀏覽器CDP呼叫加快180倍、加入LINE與SimpleX Chat使通訊平台增至22個、完整支援Microsoft Teams、/handoff、/subgoal、Telegram/Discord原生釐清按鈕、Discord歷史記錄回填、原始像素vision_analyze、逐回合檔案異動驗證器頁尾、每次寫入時執行LSP語意診斷、統一的video_generate、透過cua-driver為非Anthropic供應商提供computer_use、OSC8可點選URL、支援Zed ACP Registry、OpenRouter Pareto Code路由器、NovitaAI、Codex app-server執行環境、受信任的huggingface/skills tap、9個選用skill、外掛程式ctx.llm/tool_override、Brave/DDGS網路搜尋、Qwen Cloud重新命名、原生Windows測試版,以及結案12項P0/50項P1問題。 |
19 |
| 2026-05-07 | 指南v1.5:新增v0.13.0(2026年5月7日)— Tenacity版本。重點:耐久可靠的多代理Kanban看板(心跳、回收、殭屍偵測、幻覺閘門、逐任務max_retries、多專案看板),讓群集不再只是委派模式,而成為第一級原語。/goal命令可讓代理跨回合持續鎖定目標(以斜線命令實作Ralph迴圈模式)。新增video_analyze工具,以Gemini為優先,並可擴充支援相容模型。新增具備語音複製功能的xAI Custom Voices TTS供應商。CLI與gateway訊息支援7種語言的i18n(zh-Hans、ja、de、es、fr、uk、tr);文件僅支援zh-Hans。透過可插拔介面卡模式加入Google Chat作為第20個通訊平台;IRC與Microsoft Teams也遷移至相同模式。透過ProviderProfile ABC與plugins/model-providers/支援可插拔第三方供應商,無須修改核心。gateway重新啟動、/update及原始碼檔案重新載入後,均可自動恢復工作階段。Checkpoints v2重新改寫,採用單一儲存區設計、真正的修剪機制與磁碟防護措施。8項P0安全性修正:預設啟用機密遮蔽、Discord跨伺服器DM繞過漏洞(CVSS 8.1)、WhatsApp拒絕陌生人與自我聊天靜音、MCP OAuth TOCTOU、CLI auth.json TOCTOU、瀏覽器SSRF基礎防護、cron提示詞注入掃描、hermes debug share遮蔽。新增Python/JSON/YAML/TOML的寫入後lint檢查、cron no_agent純指令碼模式、Slack/Telegram/Mattermost/Matrix/DingTalk平台允許清單,以及MCP強化功能(SSE傳輸、OAuth轉送、影像MEDIA標籤)。自v0.12.0以來的統計資料:864次提交、588個合併的PR、829個異動檔案、295位社群貢獻者、282個已結案問題(13項P0、36項P1)。 |
18 |
| 2026-05-06 | 指南v1.4:新增v0.12.0(2026年4月30日)— Curator版本。重點:在gateway的cron計時器上執行的自主背景Curator(預設週期為7天),會依評分標準檢視skill程式庫、清除失效的skill、整併相關skill,並為每次執行撰寫報告——即使沒有進行中的工作階段,Hermes也能自行維護。自我改善迴圈加入依評分標準評級、優先主動更新、正確繼承執行環境,以及僅限記憶與skills的範圍化toolset。新增4個推論供應商:GMI Cloud、Azure AI Foundry、MiniMax OAuth及Tencent Tokenhub。LM Studio提升為第一級支援。遠端模型目錄資訊清單現在無須發布新版本即可自動更新。新增2個通訊平台:Microsoft Teams(第19個,採用可插拔gateway架構)與Tencent Yuanbao(第18個,原生支援文字與媒體)。透過PKCE OAuth提供原生Spotify與隨附skill;新增用於通話及轉錄的Google Meet外掛程式,以及Piper本機TTS供應商。ComfyUI v5與TouchDesigner-MCP從選用項目改為預設隨附。新增skills:Humanizer、claude-design、design-md、airtable。CLI新增功能:hermes -z單次執行模式、hermes update --check預先檢查、/reload-skills斜線命令,以及可插拔的忙碌指示器樣式。透過延遲初始化代理與延遲匯入,TUI可見冷啟動時間縮短約57%。安全性:為避免承載資料受損,預設停用機密遮蔽;針對無法復原的命令採用嚴格封鎖清單。統計資料:1,096次提交、550個合併的PR、213位社群貢獻者。 |
17 |
| 2026-04-25 | 指南v1.3:新增v0.11.0(2026年4月23日)— Interface版本。使用React/Ink全面重寫互動式TUI,搭配Python JSON-RPC後端(tui_gateway);固定輸入區、具備OSC-52剪貼簿支援的即時串流、穩定的選擇器按鍵、顯示逐回合碼表與git分支的狀態列、/clear確認、淺色主題預設集,以及子代理生成可觀測性覆疊介面。可插拔傳輸架構——將格式轉換與HTTP傳輸抽離至agent/transports/,使供應商串接更為簡潔。透過Converse API提供原生AWS Bedrock。新增5條推論路徑:NVIDIA NIM、Arcee AI、Step Plan、Google Gemini CLI OAuth及Vercel ai-gateway。透過Codex OAuth使用GPT-5.5——現在無須另備API金鑰,即可透過ChatGPT Codex OAuth使用OpenAI全新旗艦模型。新增QQBot(第17個通訊平台),支援掃描QR code設定與串流。擴充外掛程式介面:斜線命令、工具分派、執行封鎖及結果轉換。/steer <prompt>——在執行期間注入提示;執行中的代理會在下一次工具呼叫後看到該備註,無須中斷回合,也不會破壞提示詞快取。Shell hooks可將指令碼接為生命週期掛鉤,無須Python外掛程式。Webhook直接傳遞模式會將承載資料直接轉送至平台聊天,略過代理以進行扇出傳遞。透過協調器角色、可設定的生成深度及檔案協調,實現更智慧的委派。儀表板新增外掛程式系統、即時主題切換、i18n及行動裝置響應式設計。自v0.9.0以來的統計資料:1,556次提交、761個合併的PR、1,314個異動檔案、224,174行新增內容、29位社群貢獻者。 |
60 |
| 2026-04-16 | 指南v1.2:新增v0.10.0——Nous Tool Gateway。Nous Portal付費訂閱者現在無須額外的API金鑰,即可使用代管工具(Firecrawl網路搜尋、FAL/FLUX 2 Pro影像生成、OpenAI TTS、Browser Use瀏覽器自動化)。可透過全新的use_gateway設定欄位逐項選擇啟用工具。同時設定gateway與直接使用的API金鑰時,執行環境會優先採用gateway。移除HERMES_ENABLE_NOUS_MANAGED_TOOLS環境變數。Hermes Agent CLI仍採用MIT授權,完全免費。 |
61 |
| 2026-04-13 | 指南v1.1:新增v0.8.0與v0.9.0功能。本機網頁儀表板、/fast模式、iMessage與WeChat平台(共16個)、背景程序監控(watch_patterns)、可插拔context engine、hermes backup/hermes import、Termux/Android、xAI、MiMo、Google AI Studio與Qwen供應商、/debug命令,以及全面的安全性強化。 |
15 16 |
| 2026-04-10 | 指南v1.0:首次發布,涵蓋Hermes Agent v0.7.0。供應商驗證、設定、CLI、斜線命令、工具、skills、記憶、gateway、cron、MCP、壓縮、架構、OpenClaw遷移、疑難排解及常見問題。 | |
| — |
參考資料
-
Nous Research,“Hermes Agent” 專案在 GitHub 上的 README。這是產品描述(自我改進代理程式、多供應商、訊息 gateway、終端機後端、skill 演進、cron 排程器、委派)以及 “Quick Install” 單行安裝指令的主要來源。 ↩↩↩
-
Nous Research,Hermes Agent 文件中的 “AI Providers”。這是完整供應商清單、各供應商驗證方式(Nous Portal OAuth、Codex 裝置代碼、GitHub Copilot 權杖類型、Anthropic 的3種驗證方式、中國 AI 供應商、Hugging Face 路由、自訂端點)、3種驗證路徑(
.env中的 API 金鑰、透過hermes model使用 OAuth、config.yaml中的自訂端點)、/model斜線命令語法(包括custom:name:model)、Ollama/vLLM/SGLang/llama.cpp/LM Studio 設定範本、WSL2 網路設定說明、內容長度偵測鏈、備援模型設定、智慧模型路由,以及具名自訂供應商的主要來源。本文中所有供應商專用的環境變數名稱、權杖類型、基礎 URL 覆寫值及模型識別碼,均來自此頁面。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research,Hermes Agent 開發人員指南中的 “Architecture”。這是系統概觀圖、目錄結構、透過 CLI 工作階段與 gateway 訊息路徑的資料流程、3種 API 模式(
chat_completions、codex_responses、anthropic_messages)、透過runtime_provider.py解析供應商、透過 SQLite + FTS5 保存工作階段、訊息 gateway 平台清單、外掛程式系統探索來源、profile 隔離,以及6項設計原則的主要來源。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research,Hermes Agent 使用者指南中的 “Configuration”。這是設定目錄結構、
config.yaml與.env的規則(「非機密設定以config.yaml為準」)、設定優先順序鏈(CLI 引數 → 環境變數 → config.yaml → .env → 預設值)、內容壓縮設定(compression.*區塊,包含threshold、threshold_tokens、target_ratio、tail_mode、protect_last_n、protect_first_n;自設定版本17遷移後,摘要器的模型/供應商/端點位於auxiliary.compression.*下)、預算壓力門檻(70% 提醒、90% 警告)、本機供應商自動調整的串流逾時,以及完整輔助模型設定區塊(auxiliary:,包含vision、web_extract、approval、compression、session_search、skills_hub、mcp、flush_memories插槽)的主要來源。輔助/壓縮/備援插槽對"main"供應商的限制也出自此頁面。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research,Hermes Agent 指南中的 “Migrate from OpenClaw”。OpenClaw → Hermes 遷移流程的來源。 ↩↩
-
Nous Research,Hermes Agent 參考文件中的 “CLI Commands Reference”。這是本文所述各項頂層 CLI 命令的主要來源,包括
hermes chat、hermes model、hermes gateway、hermes setup、hermes auth、hermes status、hermes cron、hermes webhook、hermes doctor、hermes dump、hermes logs、hermes config、hermes pairing、hermes skills、hermes honcho、hermes memory、hermes acp、hermes mcp、hermes plugins、hermes tools、hermes sessions、hermes insights、hermes claw、hermes profile、hermes completion、hermes update與hermes uninstall。本文中所有子命令旗標、選項說明、憑證集區行為、記錄篩選語法、OpenClaw 遷移旗標、profile 管理命令及服務安裝命令,均來自此頁面。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research,Hermes Agent 入門指南中的 “Installation”。這是單行安裝程式命令、安裝程式行為(必要條件、平台支援、Termux 自動偵測、Windows/WSL2 需求)、選用擴充功能表、手動安裝步驟及驗證命令的主要來源。 ↩↩↩↩↩↩↩↩↩
-
Nous Research,“CLI Commands Reference”——請特別參閱
hermes dump一節,其中說明該命令的輸出格式(標頭、環境、身分、模型、終端機、API 金鑰、功能、服務、工作負載、設定覆寫值),以及其分享診斷資訊的用途。 ↩ -
Nous Research,Hermes Agent 參考文件中的 “Slash Commands Reference”。這是本文列出的所有斜線命令、
COMMAND_REGISTRY架構、CLI 與訊息傳遞的區分、動態 skill 斜線命令、config.yaml中的快速命令、前綴比對行為,以及僅限訊息傳遞使用的命令(/status、/sethome、/approve、/deny、/update、/commands)的主要來源。 ↩↩↩↩↩↩↩↩↩↩ -
Nous Research,Hermes Agent 使用者指南中的 “Tools & Toolsets”。這是工具類別概觀、toolset 使用命令、7種終端機後端(local、docker、ssh、singularity、modal、daytona、vercel_sandbox)、容器設定(cpu、memory、disk、persistent)、容器安全強化、背景程序管理 API,以及 sudo 支援的主要來源。 ↩↩↩↩↩↩↩↩↩↩
-
Nous Research,Hermes Agent 使用者指南中的 “Skills System”。這是漸進式揭露、
SKILL.md格式、平台專用 skills、條件式啟用(fallback_for_toolsets、requires_toolsets、fallback_for_tools、requires_tools)、透過skill_manage由代理程式管理 skills、skill 中心命令與來源清單(official、skills-sh、well-known、github、clawhub、claude-marketplace、lobehub)、安全掃描與信任層級,以及外部 skill 目錄的主要來源。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research,Hermes Agent 使用者指南中的 “Persistent Memory”。這是
MEMORY.md/USER.md字元限制、凍結快照模式、記憶體工具動作(add、replace、remove)、應儲存與應略過的內容、記憶體與工作階段搜尋的比較,以及外部記憶體供應商的主要來源。在標籤v2026.9.24中,配套的 Memory Providers page(第9行)寫道:「Hermes Agent 隨附7個外部記憶體供應商外掛程式」,並補充「外掛程式目錄另有更多選項可供使用(例如 Hindsight)」;該標籤下的plugins/memory/包含byterover、holographic、honcho、mem0、openviking、retaindb與supermemory。 ↩↩↩↩↩↩↩↩ -
Nous Research,Hermes Agent 使用者指南中的 “Personality & SOUL.md”。這是
SOUL.md行為(位於HERMES_HOME、永不覆寫、在系統提示詞中位居第1個插槽、納入前會進行安全掃描)、SOUL.md 與 AGENTS.md 的差異、內建 personality 清單(從helpful到hype,共14種 personality)、config.yaml中的自訂 personalities、/personality疊加模式,以及完整提示詞堆疊組裝順序的主要來源。 ↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research,Hermes Agent 指南與參考文件中的 “Use MCP with Hermes” 和 MCP Config Reference。這是
config.yaml中mcp_servers:設定格式及其command、args、env欄位的來源。 ↩ -
Hermes Agent v0.8.0 Release Notes。2026年4月8日。背景程序自動通知、Nous Portal 上免費的 MiMo v2 Pro、跨平台即時切換
/model、Google AI Studio 原生供應商、Qwen OAuth、依閒置時間判定的逾時、Slack/Telegram 上的核准按鈕、MCP OAuth 2.1 PKCE、集中式記錄,以及外掛程式系統擴充。 ↩↩↩↩↩ -
Hermes Agent v0.9.0 版本說明。2026年4月13日。本機網頁儀表板、Fast Mode(
/fast)、透過 BlueBubbles 支援 iMessage、WeChat + WeCom、Termux/Android、背景程序監控(watch_patterns)、xAI + Xiaomi MiMo 原生供應商、可插拔 context engine、統一 proxy 支援、安全性強化(修正路徑遍歷、shell 注入、SSRF、RCE)、hermes backup/hermes import、/debug+hermes debug share,共支援 16 個平台。487 次提交、269 個已合併 PR、24 位貢獻者。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.12.0 版本說明。2026年4月30日。「The Curator release。」新增自主執行的背景 Curator,依預設 7 天週期運作,透過 gateway 的 cron 計時器為 skill 函式庫評分、刪減並整併。自我改進迴圈升級:採用評分規準、偏重主動更新、正確繼承執行階段,並將限定範圍的 toolset 限制於記憶與 skills。新增 4 個推論供應商:GMI Cloud、Azure AI Foundry、MiniMax OAuth、Tencent Tokenhub。LM Studio 升格為一級支援。遠端模型目錄資訊清單無須發行新版本即可自動更新。新增 2 個訊息平台:Microsoft Teams(第 19 個,透過可插拔 gateway 架構)與 Tencent Yuanbao(第 18 個,原生支援文字 + 媒體)。透過 PKCE OAuth 原生支援 Spotify,並隨附 skill;提供用於通話與轉錄的 Google Meet 外掛程式;新增 Piper 本機 TTS 供應商。預設隨附 ComfyUI v5 + TouchDesigner-MCP。新增 skills:Humanizer、claude-design、design-md、airtable。CLI:
hermes -z單次執行模式、hermes update --check預先檢查、/reload-skills斜線命令、可插拔的忙碌指示器樣式。透過延遲初始化,TUI 冷啟動時間縮短約 57%。安全性:預設停用機密資訊遮蔽;針對無法復原的命令採用嚴格封鎖清單。自 v0.11.0 起的統計資料:1,096 次提交、550 個已合併 PR、213 位社群貢獻者。另請參閱:v2026.4.30 發行標籤。 ↩↩↩ -
Hermes Agent v0.13.0 版本說明。2026年5月7日。「The Tenacity release。」多代理 Kanban 看板,具備心跳、重新認領、殭屍偵測、幻覺閘門、各任務
max_retries,並支援多專案看板。新增/goal斜線命令,可跨回合鎖定目標(Ralph 迴圈基礎元件),並能設定回合預算。新增video_analyze工具,以 Gemini 為優先,且可相容擴充多模態功能。新增具備語音複製功能的 xAI Custom Voices TTS 供應商。支援 7 種語言的 i18n:zh-Hans、ja、de、es、fr、uk、tr(CLI + gateway 訊息;文件僅提供 zh-Hans)。透過可插拔轉接器模式,將 Google Chat 新增為第 20 個訊息平台,並提供通用的env_enablement_fn/cron_deliver_env_var外掛程式掛鉤;IRC 與 Microsoft Teams 也已遷移至相同模式。新增ProviderProfileABC +plugins/model-providers/,支援可插拔的第三方供應商。gateway 重新啟動、/update及原始檔重新載入後,工作階段皆可自動續接。Checkpoints v2 改寫為單一儲存區,提供真正的修剪機制與磁碟防護措施,且不會留下孤立的影子儲存庫。解決 8 項 P0 安全性問題:預設啟用機密資訊遮蔽、Discord 跨 guild 私訊繞過漏洞(CVSS 8.1,角色允許清單限定於 guild 範圍)、WhatsApp 預設拒絕陌生人 + 絕不在自己的聊天中回應、MCP OAuth 儲存憑證時的 TOCTOU、憑證寫入器中 CLIauth.json的 TOCTOU、混合路由中針對雲端中繼資料的瀏覽器 SSRF 基礎防護、掃描 cron 組合後的提示詞(包括 skill 內容)以防範提示詞注入,以及在上傳時遮蔽hermes debug share的日誌內容。其他重要項目:針對 Python/JSON/YAML/TOML 的寫入後程式碼檢查、cronno_agent純指令碼監看模式、Slack/Telegram/Mattermost/Matrix/DingTalk 的平台允許清單、MCP 增強功能(SSE 傳輸、OAuth 轉送、將影像結果轉為 MEDIA 標籤)。自 v0.12.0 起的統計資料:864 次提交、588 個已合併 PR、829 個檔案變更、295 位社群貢獻者、282 個已關閉的問題(13 個 P0、36 個 P1)。 ↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.14.0 版本說明。2026年5月16日。「The Foundation release。」自 v0.13.0 起:808 次提交、633 個已合併 PR、1,393 個檔案變更、新增 165,061 行、關閉 545 個問題(12 個 P0、50 個 P1),以及 215 位社群貢獻者。新增支援具備 grok-4.3 100 萬 context 的 SuperGrok OAuth、
hermes proxy、x_search、PyPI 封裝、延遲載入相依套件、跨工作階段的 1 小時 Claude 提示詞快取、啟動速度加快約 19 秒、瀏覽器 CDP 呼叫速度提升 180 倍、LINE 與 SimpleX Chat(使訊息平台總數達 22 個)、/handoff、原生釐清按鈕、Discord 歷史記錄回補、原始像素vision_analyze、每回合檔案異動驗證器頁尾、LSP 語意診斷、統一的video_generate、cua-drivercomputer_use、OSC8 連結、Zed ACP Registry 支援、OpenRouter Pareto Code 路由器、NovitaAI、Codex app-server 執行階段、huggingface/skills、外掛程式ctx.llm、tool_override、Brave/DDGS 搜尋、危險命令強化、/subgoal、Qwen Cloud 重新命名、原生 Windows 測試版、共 16 種地區語言,以及大規模的文件與測試更新。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.16.0 版本說明,「The Surface Release」,標籤
v2026.6.5,發布於2026-06-06T00:55:58Z(版本標籤日期為2026年6月5日);截至2026年6月8日為最新版本。新增原生 Hermes Desktop(Electron,支援 macOS/Linux/Windows;透過安全的 WebSocket 連線至遠端 gateway,使用 OAuth 或使用者名稱/密碼;各 profile 可分別設定遠端主機;支援跨 profile 的@session連結;透過型別化 i18n 提供簡體中文介面,設定鍵為display.language)。網頁 dashboard 擴充為完整的管理面板(MCP 目錄切換、憑證管理、建立 webhook/hook、記憶體設定、gateway 控制、含更新前檢查與 Debug Share 的 System 頁面,以及 Channels 頁面;支援可插拔驗證,包括自行託管的 OIDC 與hermes dashboard register)。新增指令:/undo [N]、可設定的預設介面(cli/tui、--cli)、TUI/model與 Sessions 浮層、hermes portal、hermes prompt-size、hermes sessions optimize。新增模型:deepseek-v4-flash、MiniMax-M3(1M context)、qwen3.7-plus、gemini-3.5-flash;xAI Grok OAuth;模糊搜尋選擇器;每小時重新整理目錄。Skills:更精簡的預設集合、environments:關聯性閘門、預設信任的NVIDIA/skillstap、漸進式工具揭露,以及 MCP 誤報 OAuth 成功的修正。安全性:將 CVE-2026-48710(Starlette BadHost)固定為≥1.0.1、將 SSRF 檢查移出事件迴圈、從子行程環境中移除 Bedrock bearer token、對bws_cache.json加入讀取防護、將docker restart/stop/kill納入危險模式,以及清理不可見 Unicode;關閉2項 P0與62項 P1(其中16項標示為安全性問題)。已排除版本說明中的行銷式敘述(PR/commit 數量、「none of this existed a week ago」);僅記錄與該標籤相關的具體功能/版本事實。本次工作階段於2026年6月8日驗證。 ↩↩↩↩↩↩↩↩ -
Hermes Agent v0.17.0 版本說明,「The Reach Release」,標籤
v2026.6.19,發布於2026年6月19日;截至2026年6月21日為最新版本。通訊:透過 Photon Spectrum 支援 iMessage(裝置代碼 OAuth、hermes photon login,無須 Mac 中繼);官方 WhatsApp Business Cloud API 介接器(取代橋接行程);支援 SimpleX 群組、原生附件、文字批次處理及自動接受;內建 Raft 平台外掛程式。模型/供應商:z-ai/glm-5.2(1M context)、anthropic/claude-fable-5、laguna-m.1、nemotron-3-ultra、grok-composer-2.5-fast(xAI OAuth、200k context);xAI 預設值→grok-build-0.1;Anthropic 自適應模型採用現代化 thinking contract(不含reasoning欄位)。CLI/slash:/version、/billing、hermes photon login、hermes curator run --consolidate(選擇啟用)、hermes model圖形介面、profile 複製。Desktop:背景 subagent 監看視窗(delegate_task(background=true))、Composer 模型選擇器、可重新綁定的快捷鍵、原生作業系統通知、各討論串獨立草稿、VS Code Marketplace 佈景主題,以及日文與繁體中文介面。Dashboard:完整的 profile 建立器、全域 profile 切換器、全面改版且具安全性掃描的 Skills Hub、Automation Blueprints、安全登入(在 OAuth 後方回傳401)。Skills/工具:跨供應商的image_generate圖片轉圖片編輯、memory的operations原子批次操作、simplify-code平行審查 skill;以布林值write_approval取代write_mode。架構:背景 subagent(立即傳回 handle,結果會以一個 turn 重新進入)、在工具呼叫期間進行確認的 MCP elicitation 處理常式、於 turn 之間揭露稍後才連線的 MCP 工具、可插拔 CronScheduler 與 Chronos 代管 cron、Managed 範圍(管理員固定的/etc/hermes)、Gateway-Gateway 中繼。安全性:封堵 shell escape 拒絕清單繞過方式、缺少核准模組及採自有原則的 gateway 介接器時採取失敗關閉、清理 cron 工作指令稿的環境、在偵錯傾印中遮蔽機密、不在公開狀態中揭露主機中繼資料、篩查 MCP stdio 資料外洩模式,以及升級 urllib3 與 PyJWT 以修補 CVE。已排除版本行銷式敘述(commit/PR 數量)。本次工作階段於2026年6月21日驗證。 ↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.18.0 版本說明(標籤
v2026.7.1),2026年7月1日——「The Judgment Release」。全面清理高優先級待辦(12天內關閉所有 P0/P1,共約692項);Mixture-of-Agents 可在所有介面中作為第一級模型選用,每個參考模型的完整輸出會各自呈現為帶有標籤的區塊,並即時串流最終答案;/goal的完成契約(agent 會執行專案檢查,自行驗證其工作);/learn指令(透過描述將任何事物轉為可重複使用的 skill,並自動遵循 CONTRIBUTING.md);/journey視覺化記憶/skill 時間軸,支援編輯,Desktop 另提供記憶圖譜;背景 subagent 扇出(多個同時執行的委派工作);Desktop Projects(專案/repo/lane 模型);具排空協調功能、可縮減至零的 gateway;支援 Google Vertex AI(透過 GCP 服務帳戶使用 Gemini,自動重新整理 OAuth2 token);/prompt$EDITOR 指令。本次工作階段於2026年7月1日(PST)對照 GitHub releases 頁面驗證;v0.18.0 為最新版本。 ↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.20.5 版本說明(標籤
v2026.8.19,所載發布日期為2026年8月19日,實際發布於2026年8月21日;2026年8月24日透過 GitHub API 擷取——prerelease: false)。逐字記錄的版本區間說明:「約746個 commit,涉及約1,250個檔案(+111,500/-20,701)——約323個已合併的 PR,包括 Bot Mode 群組聊天室討論串、可折疊的對話摘要、blob-face 頭像,以及支援拖放的 PDF/檔案附件;免金鑰網頁層級(5家供應商免費輪替並採用環狀容錯移轉,新安裝即使沒有任何金鑰也能進行網頁搜尋);一波 CLI 精修(模糊搜尋/model選擇器、Ctrl+P 指令面板、更豐富的/status);源自 Composio 評估結果的執行紀律與執行階段停滯防護;hermes update收據及 fleet--plan驗證;hermes worktree list/prune;免用 opencode 的零驗證供應商;多問題釐清;Desktop 效能改善(優先繪製的 Bot Mode hydration、compositor 載入指示器、兩個 renderer 均採用 React Compiler);以及具備持久記憶與各工作獨立 reasoning effort 的 cron 工作。」版本說明再次強調:「此版本區間的完整精選版本說明將隨 v0.21.0 發布。」 ↩↩↩↩↩↩↩↩↩↩↩ -
標籤
v2026.8.31的 Terminal 後端(針對指南 v1.17 再次驗證;agent/terminal_env_registry.py與其v2026.8.31版本逐位元組完全相同,tools/terminal_tool.pydocstring 中的事實維持不變,tools/environments/仍包含相同的7個後端模組,目前另有path_utils.py輔助工具):tools/terminal_tool.py模組 docstring 原文:「可在 local、Docker、Modal、SSH、Singularity、Daytona 與 Vercel Sandbox 環境中執行指令的 Terminal 工具」;在環境選擇清單中,vercel_sandbox項目為「在 Vercel Sandbox 雲端 sandbox 中執行」。後端模組tools/environments/vercel_sandbox.py存在於該標籤中,與daytona.py、docker.py、local.py、modal.py、singularity.py及ssh.py並列。該標籤的 README:「7種 Terminal 後端——local、Docker、SSH、Singularity、Modal、Daytona 與 Vercel Sandbox。」Tools & Toolsets 文件頁面(該標籤中的來源為website/docs/user-guide/features/tools.md)將vercel_sandbox列為「Vercel Sandbox 雲端 microVM」,用途是「透過快照支援的檔案系統持久性執行雲端運算」;另顯示設定註解# or: docker, ssh, singularity, modal, daytona, vercel_sandbox,並說明:「請同時使用VERCEL_TOKEN、VERCEL_PROJECT_ID與VERCEL_TEAM_ID這3項資料進行驗證。……支援的執行階段為node24、node22與python3.13;Hermes 預設以/vercel/sandbox作為遠端工作區根目錄。」在v2026.8.31中,tools/environments/套件也包含共用基礎設施(base.py內含BaseEnvironmentABC,以及file_sync.py、modal_utils.py、managed_modal.py);套件 docstring 將 managed Modal 視為 Modal 的一種模式,而非第8種後端:「Modal 另有 direct 與 Nous-managed 模式,可透過 terminal.modal_mode 選擇。」 ↩↩↩ -
標籤
v2026.8.31時的訊息平台數量(已針對指南v1.17重新驗證;與v2026.8.31完全相同——文件表格有28列、同樣有24個Platform列舉成員,以及同樣有22個介接器目錄)。Messaging Gateway文件頁面(該標籤下的原始檔為website/docs/user-guide/messaging/index.md)包含一個有28列的「平台比較」表格:Telegram、Discord、Slack、Google Chat、WhatsApp、WhatsApp Cloud API、Signal、SMS、Email、Home Assistant、Mattermost、Matrix、DingTalk、Feishu/Lark、WeCom、WeCom Callback、Weixin、BlueBubbles、Photon (iMessage)、QQ、Yuanbao、Microsoft Teams、LINE、ntfy、Raft、IRC、Buzz、SimpleX。gateway/config.py定義了class Platform(Enum),其中包含24個明確成員(local、telegram、discord、whatsapp、whatsapp_cloud、slack、signal、mattermost、matrix、homeassistant、email、sms、dingtalk、api_server、webhook、msgraph_webhook、feishu、wecom、wecom_callback、weixin、bluebubbles、qqbot、yuanbao、relay),並說明:「外掛平台使用由_missing_()按需建立的動態成員,因此無須修改此列舉,Platform("irc")即可運作。」該標籤的plugins/platforms/目錄樹包含22個介接器目錄:a2a buzz dingtalk discord email feishu google_chat homeassistant irc line matrix mattermost ntfy photon raft simplex slack sms teams telegram wecom whatsapp。平台說明:ntfy頁面原文指出:「ntfy是一項簡易、以HTTP為基礎的發布/訂閱通知服務。它可搭配ntfy.sh免費公共伺服器或任何自行託管的執行個體使用……從ntfy行動應用程式訂閱主題、傳送訊息至該主題以與代理程式交談,並在手機上接收回覆。」Buzz頁面原文指出:「Buzz介接器會將Hermes連接至Buzz社群——這是Block以Nostr協定打造的開放原始碼人類+代理程式協作平台——並在Buzz頻道(或私訊)與代理程式之間轉送訊息。對外流量會透過shell呼叫buzzCLI二進位檔……對內流量則使用原生Nostr WebSocket訂閱。」兩個頁面皆指出:「執行hermes gateway setup並選擇……即可依循引導逐步完成設定。」 ↩↩↩ -
標籤
v2026.8.31時的供應商數量(已針對指南v1.17重新驗證;v0.21.0已變更v2026.8.31的38個靜態項目/37個外掛目錄/41列文件表格等數量)。hermes_cli/models.py宣告了CANONICAL_PROVIDERS: list[ProviderEntry],其中包含39個靜態項目(nous、fireworks、openrouter、moa、novita、lmstudio、anthropic、openai-codex、openai-api、alibaba、xai-oauth、xiaomi、tencent-tokenhub、tencent-tokenplan、nvidia、copilot、copilot-acp、huggingface、gemini、vertex、deepseek、xai、zai、kimi-coding、kimi-coding-cn、stepfun、minimax、minimax-oauth、minimax-cn、ollama-cloud、arcee、gmi、kilocode、opencode-zen、opencode-go、bedrock、azure-foundry、ai-gateway、qwen-oauth),其後的註解為:「使用在providers/中註冊、但尚未列於上方清單的任何供應商,自動擴充CANONICAL_PROVIDERS。只要新增plugins/model-providers//,即可在模型選擇器中顯示新的供應商」;該迴圈僅略過oauth_device_code、oauth_external、external_process、aws_sdk、copilot及vertex等驗證類型(維持不變)。該標籤的plugins/model-providers/目錄樹包含39個供應商目錄(nebius-token-factory與router是在v0.21.0期間新增);其中沒有靜態項目的9個供應商(actual、alibaba-coding-plan、commandcode、deepinfra、meta-ai、nebius-token-factory、opencode-free、router、upstage)全都解析為api_key驗證類型——其中7個明確宣告auth_type="api_key"(包括兩個新外掛),而commandcode與opencode-free則從providers/base.py繼承auth_type: str = "api_key"。AI Providers文件頁面(該標籤下的原始檔為website/docs/integrations/providers.md)列出45個具名供應商,另加一列「自訂端點」(自v2026.8.31後新增的列:Ramp Router、Nebius Token Factory、Tencent TokenPlan、Alibaba Cloud (Token Plan)——引文見36);新矩陣列中的每個環境變數名稱、供應商slug、別名及驗證註記,皆引自該表格,包括「OpenCode Free|無須金鑰——不需要API金鑰或帳號(供應商:opencode-free,別名:free、opencode_free)。可透過hermes model或/model free選取;請求將以匿名方式傳送」、「Google Vertex AI|……透過服務帳戶JSON或ADC使用OAuth2,需啟用GCP計費」、「AWS Bedrock|……透過boto3使用標準AWS憑證鏈」,以及「CommandCode|……適用於GOAT/Pro/Max/Provider方案(不適用於1美元的Go方案——該方案不提供API存取權限)」。Meta AI列取自同一頁面的第一級API金鑰區塊:「Meta Model API(Muse Spark系列)……hermes chat --provider meta-ai --model muse-spark-1.2……必要條件:MODEL_API_KEY」。Cerebras僅出現在該頁面的「其他相容供應商」表格中(https://api.cerebras.ai/v1,「晶圓級晶片推論」),因此列於自訂端點列之下,而非視為第一級供應商。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
CLI 在標籤
v2026.8.31的介面(已針對指南 v1.17 重新驗證;引用的全域選項說明字串與所有_BUILTIN_SUBCOMMANDS相關事實自v2026.8.31起皆未變更——frozenset 完全相同,共 73 個項目——而hermes_cli/_parser.py僅變更了hermes chat內部的內容,詳見 40)。全域選項及其說明字串取自hermes_cli/_parser.py:--in(「在啟動或繼續前切換至 DIR。與 ‘–resume latest’ 或 -c 搭配使用時,會選取 DIR 工作區最近的工作階段,且該工作階段會留在 DIR 中(略過還原已記錄的目前工作目錄)。」)、--ignore-user-config(「忽略 ~/.hermes/config.yaml 並改用內建預設值(仍會載入 .env 中的憑證)」)、--ignore-rules(「略過自動注入 AGENTS.md、SOUL.md、.cursorrules、記憶體及預先載入的 skills」)、--tui(「啟動現代化 TUI,而非傳統 REPL」)、--cli(「強制使用傳統 prompt_toolkit REPL(覆寫 display.interface=tui)」)、--dev(「搭配 –tui:透過 tsx 執行 TypeScript 原始碼(略過 dist 建置)」),以及--version/-V(「顯示版本並結束」)。hermes_cli/_startup_fast.py僅針對argv in (["--version"], ["-V"])採用快速路徑,而hermes_cli/main.py中的_BUILTIN_SUBCOMMANDSfrozenset 不含version項目;CLI Commands Reference 記載的是hermes --version(「顯示版本資訊」),並未記載hermes version。命令說明取自該標籤下hermes_cli/main.py與hermes_cli/subcommands/*.py的剖析器help=字串(例如approvals:「核准提示工具(從歷史記錄中發掘允許清單提案)」;pause:「緊急停止:暫停 cron/kanban 派送及新的 gateway 回合」;sync:「Skill Sync——跨裝置及團隊同步您的 skills」;verify:「偵測專案的執行流程並進行冒煙測試」;login:「已淘汰。請使用hermes auth管理憑證、使用hermes model選取供應商,或使用hermes setup完成完整設定。」),並與文件中的頂層命令表交叉核對。hermes update --plan位於hermes_cli/subcommands/update.py:「顯示更新計畫並結束,不進行任何變更:包括安裝類型(git/docker/nix)、所有 profile 中每項正在執行的 Hermes 服務及其監督程式與執行中程式碼版本,以及各項服務的重新啟動方式。唯讀;可安全用於運作中的機群。」;_BUILTIN_SUBCOMMANDS中不存在fleet命令。hermes worktree註冊於hermes_cli/main.py(說明:「稽核並回收累積的 git worktree 與已合併分支」),其子命令與選項包括list(別名為ls、audit;「分類每棵工作樹:存續時間、大小、判定、原因(預設動作)」)、prune(「移除安全的工作樹,並刪除已完全合併的本機分支」)、--repo、--dry-run(「顯示計畫,不進行任何變更」)、--trees-only(「僅移除 worktree;保留本機分支」),以及--branches-only(「僅刪除已合併的本機分支;保留 worktree」)。/worktree斜線命令是hermes_cli/cli_commands_mixin.py中的_handle_worktree_command(語法區塊:/worktree、/worktree new [name]、/worktree list、/worktree prune [--dry-run]);CLI 使用者指南的「Worktree cleanup」章節補充:「在工作階段內,/worktree prune [--dry-run]會執行相同操作(且絕不會動到該工作階段目前所在的工作樹)。」 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
標籤
v2026.8.31的 Nous Portal 命令(已針對指南 v1.17 重新驗證;hermes_cli/portal_cli.py與其v2026.8.31版本逐位元組完全相同)。該標籤的 README 中,「略過 API 金鑰收集——Nous Portal」章節寫道:「全新安裝後只需執行一個命令:hermes setup --portal……這會透過 OAuth 讓您登入、將 Nous 設為供應商,並啟用 Tool Gateway。隨時可用hermes portal info檢查目前的連接設定。」hermes_cli/portal_cli.py註冊了portal(說明:「設定 Nous Portal(登入、選取模型、Tool Gateway);另請參閱portal info」),並提供login(「登入 Nous Portal 並完成設定(預設;一次完成新手引導)」)、info(「顯示 Portal 驗證與 Tool Gateway 路由摘要」)、open(「在預設瀏覽器中開啟 Portal 訂閱頁面」)、tools(「列出 Tool Gateway 工具,以及哪些工具透過 Nous 路由」),程式碼註解則寫道:「保留status作為info的隱藏向後相容別名。」Tool Gateway 文件頁面顯示hermes setup --portal # Fresh install: Nous OAuth + set Nous as provider + turn on the Tool Gateway in one go與hermes portal info # Portal auth + Tool Gateway routing summary;同一標籤下的 CLI Commands Reference 仍記載hermes portal [status|open|tools]。 ↩↩↩ -
GitHub 比較 API,
NousResearch/hermes-agent、v2026.8.19...main,擷取於 2026年8月26日:ahead_by: 1104、behind_by: 0。releases API 將v2026.8.19(Hermes Agent v0.20.5,發布於 2026-08-21T12:16:39Z)列為最新標籤,其版本說明指出:「此期間完整編修的版本說明將隨 v0.21.0 發布,並記錄自 v0.20.0 起的所有內容。」2026年8月27日針對新標籤重新檢查:v2026.8.27...main回傳ahead_by: 0、behind_by: 0、status: identical——main此時與 v0.20.6 標籤完全一致。 ↩↩ -
Hermes Agent v0.20.6 版本說明(標籤
v2026.8.27,標示發布日期為 8月27日,發布於 2026-08-27T12:06:53Z;於 2026年8月27日透過 GitHub API 擷取——prerelease: false)。原文定調:「修補版本。此標籤將自 v0.20.5 起合併的約 525 個 PR 彙整為穩定的標記版本,供下游使用者(Docker 映像檔、託管部署、全新安裝)使用。」原文對此期間的說明:「自 v0.20.5(v2026.8.19,標記於 8月21日)以來,此期間涵蓋約 1,313 次提交與約 1,557 個檔案(+177,113 / -21,682)——約 525 個已合併的 PR,包括須經同意才能使用真實 profile 的瀏覽功能(使用預設 Chromium profile 進行本機瀏覽,並在 Windows 上採用須經核准的關閉流程);具備獨立作業系統視窗的桌面版 Browser,加上受管理的 SSH 遠端更新引擎與機群 profile 軌道;大幅擴充遠端 MCP 目錄(50 多個經實際驗證的供應商託管伺服器,包括 Cloudflare、Grafana Cloud、Better Stack、Railway);web_search/web_extract 的 TTL 結果快取;預設採用 lean-tail 壓縮;支援詞幹分析的多查詢 tool_search;選擇性啟用作業系統鑰匙圈加密以保護儲存的密鑰(macOS Keychain 不再於每次啟動時顯示提示);更新程式透過控制通訊端暫停 gateways,而非終止整棵處理程序樹;由映像檔/套件管理的安裝拒絕不安全的就地更新(#91277 第 3 階段);cron 持久事件的確認機制與更清楚的程式碼版本不一致錯誤;Slack 連結展開控制;共用的 Docker 容器身分;可插拔的終端環境後端;以及模型選擇器中的新模型(GLM-5.3-Flash、免費的 MiniMax M3、MiniMax H3 Max video)。」該版本說明再次強調:「此期間完整編修的版本說明將隨 v0.21.0 發布,並記錄自 v0.20.0 起的所有內容——包括重點、功能領域與完整貢獻者名單。此期間沒有任何內容遭到遺漏。」 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
在標籤
v2026.8.31下的壓縮機制,已針對指南v1.17於v2026.8.31再次驗證:tail_mode: str = "lean"、("legacy", "lean")防護條件、agent_init的預設值"lean"、設定版本17的遷移,以及下方關於輔助註解已過時的說明,在新標籤中皆仍成立(context_compressor.py新增固定摘要路由的重試路徑,但不會變更任何引述的預設值)。agent/context_compressor.py在ContextCompressor.__init__中將tail_mode: str = "lean"設為預設值,並附有註解:「精簡尾端模式(#compaction-v2):’lean’=受限的小型近期內容尾端+逐字保留使用者訊息的摘要區段+復原指標;’legacy’=0.20視窗大小的尾端(目前發布版本的行為)」,以及防護條件self.tail_mode = tail_mode if tail_mode in ("legacy", "lean") else "lean"。agent/agent_init.py讀取compression.tail_mode時採用預設值"lean";其註解量化了兩種模式:「’lean’(預設)會保留受限的2.5%/10K–25K逐字內容尾端,並搭配復原指標機制……’legacy’則恢復#87326之前的0.20threshold逐字內容尾端;在大視窗或提高閾值的設定下,每次壓縮會囤積100–240K個token。」Configuration文件頁面(該標籤下的原始檔為website/docs/user-guide/configuration.md)顯示compression:區塊包含enabled、threshold: 0.50、threshold_tokens: null、target_ratio: 0.20、tail_mode: lean(在v2026.8.31的註解為:「’lean’(預設——受限的2.5%尾端,10K–25K,摘要中包含詳細工作階段記錄+錨點索引+session_search復原指標,全由一次輔助摘要器呼叫產生;壓縮後保留的token約減少3倍)或’legacy’(0.20×threshold逐字內容尾端)」)、protect_last_n: 20及protect_first_n: 3;摘要器的調整項目則置於auxiliary.compression之下(model、provider、base_url)。頁面亦指出:「含有compression.summary_model、compression.summary_provider及compression.summary_base_url的舊版設定,會在首次載入時自動遷移至auxiliary.compression.*(設定版本17),無須手動處理。」此遷移由hermes_cli/config_migrations.py中的_migrate_to_17執行(「版本16 -> 17:移除舊版compression.summary_鍵」)。context compression開發人員頁面(該標籤下的原始檔為website/docs/developer-guide/context-compression-and-caching.md)在表格中列出tail_mode,預設值為lean;並指出:「在500K-token的真實工作階段中,結果為:約保留49K,相較之下原先約為162K」,以及「精簡尾端內的舊工具結果會降級為單行存根,並攜帶復原指標」。該頁面也包含摘要模型警告(於v2026.8.31):「摘要模型的context window必須至少與主要agent模型同樣大。……接著,壓縮器會在沒有摘要的情況下捨棄中間的輪次,悄無聲息地遺失對話脈絡。」(上游有一處內容已過時:Configuration頁面的「完整輔助設定參考」仍將auxiliary.compression欄位註解為「Context compression逾時(與compression.設定分開)」;遷移程式碼、互動式hermes model輔助模型選擇器,以及該頁面本身的壓縮區段,則是較新且彼此一致的來源。) ↩↩↩↩↩↩↩ -
標籤
v2026.8.31下的可插拔終端機後端(已針對指南v1.17再次驗證;agent/terminal_env_registry.py與其v2026.8.31版本逐位元組完全相同)。agent/terminal_env_registry.py的模組docstring原文意為:「已註冊可插拔終端機後端的中央對照表。由外掛程式在載入時透過PluginContext.register_terminal_environment_provider填入;供tools.terminal_tool._create_environment使用」,以及「內建後端名稱均為保留名稱——若提供者名稱與其中任一名稱衝突,register_provider便會拒絕該提供者,因此外掛程式絕不可能遮蔽程式碼樹內的docker/modal/……實作」;此處刻意「不解析使用中的提供者:使用中的後端就是TERMINAL_ENV/terminal.backend所指定的項目,與內建後端的方式完全相同。」其BUILTIN_BACKEND_NAMESfrozenset包含7種後端及內部模式別名managed_modal:local、docker、singularity、modal、managed_modal、daytona、vercel_sandbox、ssh。新的文件頁面Terminal Environment Provider Plugins(該標籤下的原始檔為website/docs/developer-guide/terminal-environment-plugin.md)原文意為:「Hermes透過一組可插拔的終端機後端執行shell命令。內建後端(local、Docker、Singularity、Modal、Daytona、Vercel Sandbox、SSH)位於核心repo的tools/environments/下。第三方sandbox供應商則以外掛程式形式整合——它是安裝於~/.hermes/plugins/下的獨立外掛程式repo,註冊後端後,使用者可透過config.yaml中的terminal.backend選取,操作方式與內建後端完全相同」;該頁面以表格列出已註冊提供者所驅動的介面(命令分派、hermes setup後端選擇器、dashboard探測狀態、hermes status/hermes doctor檢查、system prompt環境提示、容器路徑/cwd處理、secret移除,以及各工作階段的sandbox隔離),並說明設計目標:「在提供者上宣告這些旗標,可徹底解決常見的『新後端遺漏分類位置N』這類bug——核心會在每個位置查詢registry,而非依賴硬編碼的名稱清單。」 ↩↩↩ -
標籤
v2026.8.31的再次驗證掃描(指南v1.17)。語系:locales/目錄樹包含17個訊息目錄——en.yaml加上16種翻譯(af、ar、de、es、fr、ga、hu、it、ja、ko、pt、ru、tr、uk、zh-hant、zh)——與v2026.8.27相同。personality:hermes_cli/personality.py中的BUILTIN_PERSONALITIES仍包含相同的14個項目,從helpful到hype(helpful、concise、technical、creative、teacher、kawaii、catgirl、pirate、shakespeare、surfer、noir、uwu、philosopher、hype);該檔案與其v2026.8.27版本逐位元組完全相同。該標籤下已變更的數量:39個靜態CANONICAL_PROVIDERS項目(原為38個),以及39個plugins/model-providers/目錄(原為37個)——請參閱26及36。維持不變的數量:24個Platformenum成員(gateway/config.py中的成員清單完全相同,僅新增room_link_urlgateway欄位)、22個plugins/platforms/介面卡目錄、文件中Platform Comparison表格的28列;_BUILTIN_SUBCOMMANDS仍包含完全相同的73個項目(包含peer及worktree,仍不含version,亦不含approval-check——這是release notes中對hermes approvals test的稱呼);hermes_cli/_startup_fast.py及hermes_cli/portal_cli.py與其v2026.8.27版本逐位元組完全相同。 ↩↩↩↩ -
標籤
v2026.8.31的輔助模型路由(已針對指南v1.17重新驗證;新標籤中的"auxiliary"預設區塊具有完全相同的槽位清單、移除說明與非槽位設定,且下方文件引文均逐字一致)。設定文件頁面(該標籤中的來源為website/docs/user-guide/configuration.md)原文:「依預設(auxiliary.*.provider: "auto"),Hermes會將每項輔助工作路由至您的主要聊天模型,也就是您在hermes model中選取的相同供應商/模型。開始使用時不必設定任何項目,但請注意:若採用昂貴的推理模型(Opus、MiniMax M2.7等),輔助工作將產生可觀的費用。」;其中「為何『auto』會使用您的主要模型」的附註原文:「舊版會將聚合服務使用者(OpenRouter、Nous Portal)分流至供應商端的廉價預設模型。這種行為出人意表:購買聚合服務訂閱的使用者,會發現處理輔助流量的模型並非自己選取的模型。現在,auto會一律使用主要模型,而config.yaml中的個別工作覆寫設定仍具有優先權。」;關於網頁擷取的說明則是:「(網頁擷取並非輔助工作:web_extract與瀏覽器快照會以確定性方式截斷過長內容,並儲存完整文字供read_file分頁讀取,全程不涉及LLM。)」權威槽位清單取自該標籤中hermes_cli/config_defaults.py的"auxiliary"預設區塊:vision、compression、skills_hub、approval、review、mcp、title_generation、memory_query_rewrite、tts_audio_tags、triage_specifier、kanban_decomposer、profile_describer、goal_judge、curator、monitor、background_review、moa_reference及moa_aggregator(另有非槽位設定transient_retries、free_only、openrouter_model、stream_only_base_urls);各槽位包含provider、model、base_url、api_key、timeout、extra_body,以及個別工作的reasoning_effort。同一檔案中的移除說明原文:「web_extract已不再使用輔助LLM——頁面會經過截斷並儲存,同時提供read_file指標(不做摘要),瀏覽器快照也採用相同模式。舊有的auxiliary.web_extract.*區塊已從此處移除。使用者config.yaml檔案中既有的值只是無害的殘留設定,系統會予以忽略。」以及「session_search已不再使用輔助LLM(PR #27590——單一形式的工具會直接傳回資料庫內容)」;此區塊中不存在flush_memories鍵。各槽位的單行說明來自同一檔案的註解(「分流規格產生器——將Kanban Triage欄中的粗略單行描述補充為具體規格,再將其升級至todo。由hermes kanban specify呼叫」;「Kanban分解器——將分流工作分解為子工作圖,並依說明將工作路由至專業profile。由hermes kanban decompose及Kanban自動分解分派器呼叫」;「Profile描述產生器——自動產生1至2句說明,描述profile擅長的工作。由hermes profile describe <name> --auto及dashboard的自動產生按鈕呼叫」;「目標判定器——評估/goal執行作業的最新回應是否符合目標/合約」;「策展器——skill使用情形審查fork」;「背景審查——在回合結束後執行的自我改進fork,用來決定是否儲存記憶/修補skill」)、設定頁面的完整參考註解(「Gemini 3.1 TTS隱藏音訊標籤插入」;「自動產生的工作階段標題。語言留空時會沿用對話語言」;auxiliary.title_generation.enabled: false會停用自動標題),以及Kanban文件頁面的設定表(「auxiliary.kanban_decomposer| 產生工作圖的模型(由Decompose呼叫)」;「auxiliary.profile_describer| 自動產生profile說明的模型(由hermes profile describe --auto呼叫)」)。互動式操作路徑:執行hermes model,再選取「設定輔助模型」,即可開啟個別工作選擇器(vision、title_generation、tts_audio_tags、compression、approval、triage_specifier、kanban_decomposer、profile_describer、delegation);Delegation項目會保存至頂層delegation.*,因為subagent「是完整的子agent,而非附帶的LLM呼叫」。 ↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.21.0發行說明,「The Pantheon Release」,標籤
v2026.8.31,載明的發行日期為8月31日,發布時間為2026-08-31T19:29:49Z。統計資料原文:「自v0.20.0以來:約5,800次commit · 約2,475個合併的PR · 約5,680個變更的檔案 · 約869,000行新增 · 約135,000行刪除 · 約2,100個已關閉的issue · 760多位貢獻者」。定位描述原文:「The Pantheon Release。v0.20.0讓Hermes成為傳令者——他開口傳訊,並將消息送往其他agent。到了v0.21.0,眾神齊聚。」以及「此版本彙整了v0.20.1至v0.20.6基礎架構修補標籤的所有內容——這些期間的變更均已完整記錄於此。」上文引用的功能領域原文:Bot Mode——「Bot Mode現在已成為桌面應用程式內建且預設啟用的功能:每個agent profile都有名稱、確定性產生的虛擬人像臉孔(並具備隨機化/鎖定控制項),以及共用名冊中的一席之地」及「過去,『多agent』代表的是底層管線;現在看起來就像一款滿是同事的聊天應用程式」(#87886、#88243、#89386、#96726);hermes peer——「回覆會送達各agent的標準Bot Chat,因此agent之間的對話能夠持久保存並接受檢視,而非送出即忘」(#88725、#88178、#91487);cron——「continuity=true會將每次執行的輸出傳入下一次執行(讓監控器能依據已回報的內容去除重複項目),每項工作都有可持久保存的記事本暫存區,而監控模式的工作若沒有任何變更,便會完全略過LLM」(#91447、#80774、#81139、#81138);delegation——「列出執行中的子agent、在其中一個執行途中加以引導並修正方向,或提早停止並保留部分結果。另可選擇對子agent輸出執行JSON結構描述驗證、在結果中顯示每次delegation的費用,並提高預設值(250次迭代、10個並行子agent)」(#85232、#81144、#81142、#86506、#86745);MCP——「可在明確確認後安裝MCP伺服器的hermes://深層連結」(#87525-#87581);CLI——「Ctrl+P會開啟模糊搜尋命令選擇區,/model選擇器會隨輸入內容進行篩選,/status會顯示推理模式、待處理的核准要求與context使用量,狀態列則可顯示即時快取命中率、延遲與每秒token數,且每個欄位皆可個別切換」(#90730、#90717、#90745、#98250、#98282、#97666);瀏覽器——「Hermes現在會直接導覽、點擊並讀取內容」(#90197、#89366);供應商——「Meta Model API(Muse Spark)正式成為內建供應商,並與CommandCode、Tencent TokenPlan、Nebius Token Factory、Ramp Router及Actual Computer並列」(#88565、#88308、#97917、#97916、#97915,以及#79644/#26491的挽救成果);安全性——「受保護的agent指令檔案(AGENTS.md、skills、記憶儲存區)現在一律需要寫入核准,讓遭受提示注入的agent無法暗中改寫自己的常設指令」(#81152),另包括遮蔽措施全面清查(#80965)、Windows核准涵蓋範圍(#84428)、TCC身分(#95091),以及移除Blender MCP(#83404)。還原項目章節原文:「Model Council模式(/council)——曾加入後又還原;未包含於此版本。」;「DCP context engine——曾加入後又還原;未包含於此版本。」;「僅限WS的gateway伺服器(#94245)——合併後又遭還原(#96118);FastAPI仍保留在桌面版啟動路徑上。帶有序號戳記的事件重播(#94219)確實已推出。」;「Electron已回復至40.10.2;TCC直譯器錨點已移除(由已推出的簽署身分方法取代)。」錯誤修正章節結尾寫道:「……另外還有約兩千個已關閉issue所代表的工作——此期間平均每天合併約85個PR。」 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
v2026.8.31標籤新增的供應商。hermes_cli/models.py新增ProviderEntry("tencent-tokenplan", "Tencent TokenPlan", "Tencent TokenPlan (Hy4 preview via api.lkeap.cloud.tencent.com, Anthropic Messages)")(靜態項目#39)、目錄模型hy4-preview、hy3、hy3-preview,以及僅供顯示的選擇器群組"tencent": ("Tencent Hy", "Hy4 / Hy3 via TokenHub & TokenPlan", ["tencent-tokenhub", "tencent-tokenplan"])。plugins/model-providers/新增nebius-token-factory/與router/,兩者皆宣告auth_type="api_key",因此會由自動擴充機制納入。router外掛程式的文件字串原文為:「Ramp Router的供應商profile;Ramp的LLM gateway:位於https://api.router.com/v1的單一OpenAI Responses相容端點,會將每項請求路由至上游供應商(OpenAI、Anthropic、xAI、Fireworks……),並在伺服器端處理備援與支出控制」……「Responses API是原生傳輸格式。」……「有效的模型ID以該金鑰呼叫GET /v1/models所得結果為準(BYOK帳戶會看到額外項目),因此此profile不提供任何fallback_models;依照Router本身切勿將模型名稱寫死的指引,選擇器仰賴即時擷取。」該標籤的AI Providers文件頁面列出45個具名供應商,另有Custom Endpoint資料列;自v2026.8.27以來新增的4列原文如下:「Ramp Router |RAMP_ROUTER_API_KEY位於~/.hermes/.env(供應商:router;別名:ramp-router、ramp、router.com;Responses原生gateway、以即時帳戶範圍為準的目錄)」;「Nebius Token Factory |NEBIUS_API_KEY位於~/.hermes/.env(供應商:nebius-token-factory;別名:nebius、nebius-tf、tokenfactory)」;「Tencent TokenPlan |TOKENPLAN_API_KEY位於~/.hermes/.env(供應商:tencent-tokenplan;別名:tokenplan、tencent-lkeap;Anthropic Messages端點)」;「Alibaba Cloud(Token Plan) |ALIBABA_TOKEN_PLAN_API_KEY位於~/.hermes/.env(供應商:alibaba-token-plan;中國大陸端點:alibaba-token-plan-cn)—Model Studio固定token方案」。該標籤的hermes_cli/config_defaults.py包含model_overrides("model_overrides": {};明確的model_overrides.<provider>.<model_id>項目優先於目錄,而_default項目只會為目錄未涵蓋的模型補足缺漏)。 ↩↩↩↩↩↩↩↩ -
v2026.8.31標籤的Cron連續性。cron文件頁面(該標籤中的來源為website/docs/user-guide/features/cron.md)原文指出:「設定continuity=true後,工作會在每次執行時注入其自身最近一次的輸出。週期性工作通常每次都從毫無記憶的狀態開始——新聞偵察員會重複回報相同新聞,監控程式也會針對相同狀況一再發出警示。啟用連續性後,工作甦醒時便能看到上次回報的內容,從而去除重複項目,並接續先前進度」;「後續執行時,前次輸出會加上連續性框架後置於內容開頭(『避免重複已回報的內容』)……在內部,此旗標會儲存為context_from中的保留項目self。」;「從CLI操作:hermes cron create "every 6h" "Scan for news" --continuity,現有工作則可透過hermes cron edit <job_id> --continuity/--no-continuity切換。dashboard的cron編輯器與桌面版Bot Mode例行工作對話框也提供相同的切換選項。」個別工作的推理強度,原文如下:「工作可以固定自己的思考層級,不受模型固定設定影響;可選值為none、minimal、low、medium、high、xhigh、max、ultra。設定後,該工作執行時會同時覆寫全域agent.reasoning_effort與各模型的agent.reasoning_overrides」;可透過hermes cron create/edit --reasoning-effort high設定。Bot Chat傳遞,原文如下:「bot-chat會將輸出以真實訊息形式傳入profile的標準「Bot Chat」session……此處的接收者就是bot本身:它會將輸出當作傳入訊息接收,處理任何需要採取行動的事項,並在chat中回覆。」Notepad:cron/notepad.py模組的文件字串指出:「每個cron工作都能使用的小型KV暫存區,可在排程喚醒之間保存狀態(游標、高水位標記、監看清單)」;上限為「MAX_VALUE_BYTES(16 KB)」與「MAX_JOB_TOTAL_BYTES(64 KB)」(「notepad會在每次執行時注入prompt,因此若無限制地增長,便會使每次喚醒的prompt日益膨脹」);此外,「寫入途徑為CLI(hermes cron notepad <job_id> set <key> <value>),執行中的agent會透過其終端機工具呼叫此命令;不會新增模型工具。」監控模式:cron/monitor.py的文件字串指出:「監控模式cron支援——以雜湊抑制重複的變更偵測」,並附加一個「低成本的監控來源(monitor_script或monitor_url)」;「未變更→完全不執行agent(無LLM、不傳遞);該次排程會記錄為靜默的no_change執行」;「輸出會以完全相同的位元組進行比較——不移除時間戳記,也不正規化空白。監控指令碼應輸出穩定的內容……否則每次排程都會被視為發生變更。」;「啟用者:#80774。」 ↩↩↩↩↩↩↩ -
v2026.8.31標籤的即時subagent協調。delegation文件頁面(該標籤中的來源為website/docs/user-guide/features/delegation.md)之「操控執行中的Subagent」段落指出,控制介面為{"action": "list"}、{"action": "steer", "subagent_id": "sa-0-1a2b3c4d", "message": "focus on pricing instead"}、{"action": "stop", "subagent_id": "sa-0-1a2b3c4d"};原文如下:「list會傳回該conversation中仍在運作的子項目:subagent_id、目標、狀態、running_seconds、accepting_steer,以及即時逐字稿路徑」;「stop會在子項目下一個迭代邊界提前終止它;部分結果仍會以一般完成訊息的形式重新進入conversation」;控制動作「僅限於呼叫者自身的生成樹——某個conversation永遠無法查看或控制另一個session的子項目——且不會占用每回合的subagent生成上限,因此即使達到上限,stop仍然有效」;文件如實說明steer傳遞中的競態情況(「進入佇列不代表已傳遞,但絕不會捏造成功狀態」;pending_steer會排入結果,而當子項目搶先完成時則標記為missed_steer)。預設值:hermes_cli/config_defaults.py將delegation.max_iterations設為250(「每個subagent的迭代上限;每個subagent各有獨立預算,不受父項目的max_iterations影響」),並將delegation.max_concurrent_children設為10(「統一的並行上限:每批平行子項目的數量上限,同時也是並行背景(background=true)delegation單元的數量上限……(取代已棄用的max_async_children。)」)。上游仍有一處內容過時:delegation文件頁面本身仍寫著「預設3項工作」,且其設定參考資料顯示「max_iterations: 50……(預設值:50)」;隨附的config_defaults.py與版本說明(「提高預設值(250次迭代、10個並行子項目)」)則是較新且彼此一致的來源。 ↩↩ -
v2026.8.31標籤的安全性更新。受保護的指令檔案:hermes_cli/config_defaults.py預設為security.protected_instruction_files: True(註解:「寫入代理指令檔案(AGENTS.md/CLAUDE.md/SOUL.md/…)」),並搭配protected_instruction_extra_patterns: [](依基本檔名進行 fnmatch 比對);tools/file_tools.py實作此閘門——針對_PROTECTED_INSTRUCTION_BASENAMES = frozenset({"agents.md", "claude.md", "soul.md", ".cursorrules", ...})的「受保護代理指令檔案(永遠要求核准的閘門)」——並逐字說明威脅模型:「攻擊途徑:注入的指令編輯 AGENTS.md / CLAUDE.md / SOUL.md」,以及「專案情境指令檔案會從 cwd 目錄樹載入——代理日後可能執行所在之處的任何 AGENTS.md,都是現存的攻擊目標。」TCC 身分:hermes desktop --setup-tcc-identity實作於hermes_cli/main.py——_desktop_macos_setup_tcc_identity(identity: str = "Hermes Local Signing"),「針對hermes desktop --setup-tcc-identity的一次性設定」,並設有「(–setup-tcc-identity 僅適用於 macOS;略過)」及「(–setup-tcc-identity 需要 openssl、security 與 codesign …)」防護條件。機密遮蔽全面檢查(#80965、#80964、#81675、#81686、#88232)、Windows 核准涵蓋範圍(#84428)、移除 Blender MCP(#83404),以及 Tier-1 外掛安裝掃描(#80728),均依據發行說明。35 ↩↩↩↩ -
v2026.8.31標籤的 CLI 介面變更。hermes_cli/commands.py中的COMMAND_REGISTRY註冊了CommandDef("palette", "Open the fuzzy command palette (also Ctrl+P)", "Info", ...)與CommandDef("status", "Show session, model, token, and context info", "Session", ...)——/status是共用登錄中的工作階段命令,並非僅限訊息平台使用。_BUILTIN_SUBCOMMANDS中沒有approval-check項目(共 73 個項目,與v2026.8.27完全相同);v0.21.0 發行說明稱為hermes approval-check(#81137)的試執行功能,實際上是hermes approvals test——該標籤下hermes_cli/subcommands/approvals.py的剖析器說明為:「試執行命令的核准判定(絕不實際執行)」,並提供--backend(「要評估的終端後端類型(預設:local …」)與--json。hermes_cli/_parser.py僅在hermes chat內有所變更:-q/--query的說明現在是「要執行的查詢。在真正的 TTY 上,提示會預先填入互動式工作階段(逐字作為第一輪提交);若與 –oneshot 或 -Q 搭配,或在非 TTY 上執行,則會回答後結束。」;新的--oneshot旗標說明為「搭配 -q/–query-file:回答查詢後結束(舊版單次查詢行為),而非預先填入互動式工作階段。在非 TTY 標準輸入輸出環境中,以及使用 -Q/–quiet 時,會隱含啟用。」;--max-turns的說明則是「每輪對話可呼叫工具的最大迭代次數(預設:500,或 config 中的 agent.max_turns)」。 ↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.21.1 發行說明,標籤
v2026.9.7,標示發行日期為 9月7日,發布於 2026-09-07T22:17Z。其內容刻意保持精簡;原文指出,這是一個「修補程式版本」,「彙整 v0.21.0 之後目前 main 的內容,供標記式部署與下游使用者使用」;準備當時的範圍統計為「4,364 個變更檔案中的 5,139 個非合併提交(+601,014 / -768,419)」及「632 個已合併 PR」;並表示「此範圍完整整理過的發行說明將隨 v0.22.0 一併發布。」本機複本檢查:git rev-list --count --no-merges v2026.8.31..v2026.9.7= 5,140,且git diff --shortstat= +601,018 / -768,423——正文數字是發行提交前的快照,差異恰好就是該發行提交;先前相鄰標籤間最大的範圍是v2026.7.20..v2026.7.30,共有 2,790 個非合併提交(在本機複本中測量自v2026.3.12起的每一組相鄰標籤)。疑難排解項目的 doctor 檢查位於該標籤的hermes_cli/doctor_config.py:330-362(_drift_max_iterations_ghost):當啟動橋接因較早發生的設定剖析錯誤而中止時,.env中過時的HERMES_MAX_ITERATIONS會遮蔽agent.max_turns(問題 #17534),而hermes doctor --fix會移除該.env行。已於目前工作階段在 2026年9月8日驗證。 ↩↩↩↩↩ -
v2026.9.7標籤的COMPAT_MANIFEST.md(儲存庫根目錄,共 3,869 行)。原文:「2026年9月的拆分作業(PR #102117)將 Hermes Agent 的大型模組拆分為職責明確的檔案」;「內部匯入路徑並非穩定的 API」;「此相容層為暫時措施,並於 2026-09-14 移除。它以單一提交加入,並透過還原該提交予以移除。」;後續行為表(2026-09-14 前:黃色通知會列出外掛、日期及hermes plugins compat;外掛「會載入;每個舊路徑解析都會發出一次HermesPluginCompatWarning」;自 2026-09-14 起:「紅色通知:外掛已停用」,且「不會載入;hermes plugins list會顯示原因」;Desktop:「一次性對話框」);權宜措施原文:「在config.yaml中設定plugins.allow_deprecated_imports: true,可讓受影響的外掛在該日期之後繼續載入,直到還原提交真正移除這些路徑為止。」;類型數量:moved-lazy 1148、import 592、restored-def 290、restored-helper 41、restored-import 17、module-stub 3、unrestorable 34;範圍:僅限公開的頂層名稱,「測試的 monkeypatch 接縫同樣不予保留。」檢查工具剖析器位於hermes_cli/subcommands/plugins.py:104-112:hermes plugins compat [path] [--json],說明原文為「以靜態方式掃描每個已啟用的外部外掛,檢查是否匯入拆分前的模組路徑(請參閱 COMPAT_MANIFEST.md),並印出 file:line、舊路徑 -> 新路徑。任何外掛受影響時,以狀態碼 1 結束。」已在該標籤驗證拆分後的結構:agent/= 214 個頂層模組 + 7 個子套件(lsp、monitoring、pet、proxy_sources、secret_sources、transports、verify),hermes_cli/subcommands/= 61 個模組,CANONICAL_PROVIDERS位於hermes_cli/models_catalog_static.py:311,共 39 個項目,其 slug 與hermes_cli/models.py中v2026.8.31的清單完全相同(包含xai靜態 tuple;plugins/model-providers/仍有 39 個目錄),舊的頂層prompt_builder.py已移除(現為agent/prompt_builder.py),而run_agent.py仍是根目錄下AIAgent的所在位置。後續情況已為指南 v1.19 再次驗證(2026年9月15日):移除機制依排程以日期閘門啟用,而非透過還原提交——在v2026.9.14標籤中,hermes_cli/plugin_compat.py:32將COMPAT_REMOVAL_DATE = _dt.date(2026, 9, 14),removal_in_effect()(第 86-90 行)會從該日期起,或在資訊清單檔案不存在時傳回 true,而allow_deprecated_imports()(第 261-268 行)只接受真正的布林值(防護條件為... is True;原始碼註解:「僅限字面布林值」,因此"false"或"no"之類的 YAML 字串絕不可能開啟移除後的略過機制)。刪除舊路徑的還原提交尚未進入:COMPAT_MANIFEST.md、compat_manifest.json與hermes_cli/plugin_compat.py在v2026.9.14及main的提交5d59366010(2026-09-15 12:55 PT,於同日擷取)中皆仍存在,因此權宜措施仍可解析舊路徑;一旦還原提交進入,便會立即失效。已為指南 v1.20 再次驗證(2026年9月22日):仍未還原——這 3 個檔案在v2026.9.21標籤及main的提交a53b42ddea(提交於 2026-09-22,並於同日擷取)中皆仍存在。在v2026.9.21中,閘門與防護條件實質上維持不變:COMPAT_REMOVAL_DATE仍位於plugin_compat.py:32,removal_in_effect()位於 :86,而allow_deprecated_imports()現位於 :296-303,仍採用完全相同的字面布林值防護條件(... is True;註解現為「僅限字面布林值:YAML"false"/"no"不得開啟移除後的略過機制。」)。v0.21.4 範圍內對該模組的變更僅涉及效能與可攜性:新增程序範圍的掃描快取,依每個外掛目錄的(relpath, mtime_ns, size)檔案簽章作為索引鍵(一個多工 gateway 會針對每個提供服務的 profile 探索外掛一次,而在啟動路徑上為每個 profile 重新剖析所有外掛原始碼約需 0.4 秒),並讓原生 Windows 上的命中路徑採用 POSIX 格式(#112576);資訊清單本身則移除了兩個與 opencode 有關的項目(_OPENCODE_KEYLESS_EXTRA_SLUGS、is_opencode_zen_free_model)——結構上毫無變動。 ↩↩↩↩↩↩↩↩↩ -
docs/session-lifecycle.md於標籤v2026.9.7,第「6. 明確的對話邊界」節,完整逐字內容:「閒置與實際經過時間絕不會輪替對話。/new與/reset會建立明確邊界;context compression 則持續管理冗長的歷史記錄。舊版計時器設定會被忽略。既有的SessionResetPolicy資料型別只是無作用的相容性資料,並非執行階段原則。明確暫停後,仍會在下一個傳入回合建立邊界。復原時會遵循明確及歷史上已定案的邊界,而不會重新開啟。僅限資源的逐出與 WebSocket 孤立項目清理,皆會讓對話維持可恢復狀態。」 ↩↩↩↩ -
標籤
v2026.9.7的 MCP 授權。解析器:hermes_cli/subcommands/mcp.py:55-66——login(「強制對採用 OAuth 的 MCP 伺服器重新驗證」)接受--flow,可選值為browser/device,說明逐字內容為:「OAuth 流程(覆寫 oauth.flow):瀏覽器 PKCE 或 RFC 8628 裝置碼」;reauth(「重新驗證一部 OAuth MCP 伺服器,或全部伺服器(–all)」)接受選用的名稱及--all。裝置碼流程在本次期間內加入:提交f5afe8bd40「feat:透過 CLI 的裝置碼授權 MCP 伺服器」。相關強化措施依本次期間內的提交主旨列示如下:f914c9b070「fix(mcp):在所有 OAuth 工作階段中強制執行 profile 所有權」;f94307a7f7「fix:忽略格式錯誤的 MCP OAuth 中繼資料快取」;e3ba651b6d「fix(desktop):透過用戶端本機回呼轉送 MCP OAuth」。依 toolset 篩選的生成機制:tools/mcp_tool_discovery.py:412-426——此篩選器的用途,是讓「hermes -z -t <toolsets>」能夠「略過呼叫者不需要之伺服器的冷啟動」,而空白篩選器會完全略過載入 MCP。 ↩↩↩ -
標籤
v2026.9.7的委派可靠性,內容取自 delegate 工具原始碼。完成單位:tools/delegate_tool_dispatch.py:326-341(_units_of)——逐字內容:「預設關閉(delegation.independent_completions):整個呼叫視為一個單位,並以單一訊息傳回。每項任務各自大量送出完成通知(每次都開啟一個新回合),會使未針對此情況規劃的協調器支離破碎。」;每個不同的任務group各有一個單位(依首次出現順序),每項未分組任務也各有一個單位,且每個單位都會自行重新進入對話;本次期間內的提交c89f3b8800「fix(delegation):預設每次呼叫只產生一個完成通知;排入佇列的單位不再停滯」。背景處理程序交接:提交3c0d90e8ef「feat(delegation):subagent 將背景處理程序交接給父項;剩餘項目會被點名,而非受信任」;在該標籤中,tools/delegate_tool_child_run.py:744-763(account_background_processes)會在結果上記錄已交接的處理程序,將仍在執行但尚未交接者列為orphaned_processes,並在cleanup終止它們之前,將已結束但從未讀取者列為unread_completions(附輸出結尾);其 docstring 指出,父項「必須從執行階段得知此事」,而不能信任子項聲稱「監看程式正在執行」;交接動詞為process_manage(action="handoff")(僅限子項),透過process_registry.transfer_ownership在登錄鎖定期間切換ProcessSession.owner_task_id(該標籤的tools/AGENTS.md「委派」一節)。備援介面:hermes_cli/config_defaults.py中的delegation.fallback_providers,註解逐字內容:「對於未釘選的子項,null = 繼承父項鏈結;[] = 停用備援。依 provider、endpoint 或 model 釘選的子項不會獲得備援,除非此設定明確宣告一項。」;tools/delegate_tool_config.py:417-425(_resolve_child_fallback_chain)中的鏈結驗證:「格式錯誤的項目會由標準正規化器捨棄。」當機耐久性:tools/async_delegation.py:222-246會將仍在執行之多子項單位中的每個已完成子項,持久記錄至該單位自己的資料列("partial": True),因此即使在單位完成前當機,已完成的子項仍會保留。快取層級:tools/delegate_tool.py:106-112(_apply_child_cache_ttl),逐字內容:「委派的子項絕不使用 1h 快取層級。」;若子項帶有_cache_ttl == "1h",則會設為"5m"。 ↩↩ -
標籤
v2026.9.7的 provider 與 model。Astra 層級:hermes_cli/models_catalog_static.py:22-25——openai/gpt-6-astra-fast「2 倍價格、priority 層級」,-flex「0.5 倍價格、flex 層級」,另有-pro-fast/-pro-flex;gpt-6-astra與-pro位於OPENROUTER_MODELS,且未列入_OPENROUTER_ONLY排除集合,因此 Nous Portal 也提供這些 model。Astra 存取限制與 900K:hermes_cli/codex_models.py:96-101(「Astra 受帳號限制:只有即時的帳號範圍目錄可列出它」)以及agent/model_metadata.py:1447-1462——Codex OAuth 公告 272K,gpt-6-astra符合 900K 資格,並附註「公告為 272K;920,043 輸入成功,1,000,043 遭拒(2026-09-04 實測)」,而CODEX_CONTEXT_VARIANT_SUFFIX = "-900k"是「僅供選擇器使用的選用後綴;絕不透過線路傳送」(依model_metadata.py:334,OpenRouter 端的 Astra context 為 1,050,000)。同一靜態檔案中的新目錄項目(第 30-42 行):anthropic/claude-fable-5.1、google/gemini-3.8-flash與gemini-3.7-flash、qwen/qwen3.8-max-0902與qwen/qwen3.8-flash、meta/muse-spark-1.3與-contributor(依agent/model_metadata.py:349,context 為 1M)。muse-image:plugins/image_gen/meta-ai/__init__.py(「Meta Model API(muse-image):與 OpenAI 相容(https://api.meta.ai/v1)」;model 包括muse-image-1.0)。Tavily:hermes_cli/config_defaults.py:2522-2525,逐字內容為「用於 AI 原生網路搜尋與擷取的 Tavily API 金鑰(選用——選取 Tavily 時,無金鑰也可運作)」;工具為web_search與web_extract;web區塊註明 Tavily「可透過hermes tools選擇啟用無金鑰模式,並非 ring 成員」。受管理的 llama.cpp 執行階段:hermes_cli/local_runtime/套件(「受管理的 llama.cpp 執行階段」)、config_defaults.py:2327的設定區塊(「官方二進位檔、一部受監管的」伺服器;文件指向user-guide/local-models),以及桌面介面apps/desktop/src/api/local-models.ts。外部處理程序 provider:agent/auxiliary_client.py:4740-4799(_resolve_external_process_branch,「PROVIDER_REGISTRY的external_processprovider,透過其已登錄的 profile 提供服務」),以已登錄的 profile 為索引鍵,「讓樹外的 ACP provider」得以解析。目錄更新週期:hermes_cli/config_migrations.py:622-627中的設定遷移 39 -> 40(「model_catalog.ttl_hours -> ttl_minutes(預設 20)」;使用者訊息為「Model 目錄現在每 20 分鐘重新整理一次(model_catalog.ttl_minutes)」),而hermes_cli/model_catalog.py僅會「在ttl_minutes仍為預設值時」採用舊版ttl_hours。 ↩↩↩ -
Desktop 版變更涵蓋至標籤
v2026.9.7。註解模式:該標籤下的website/docs/user-guide/desktop.md,原文主軸:「在預覽瀏覽器列中按一下 Annotate,再按一下即時頁面上的任意元素(或拖曳方框),然後輸入註記;每則已儲存的註解都會以編號圖釘保留在頁面上」;「儲存圖釘絕不會送出對話回合」;「Add N comments 會為每個圖釘附上裁切後的螢幕截圖,並將點名各則註解的簡短提示詞加入撰寫區」;「每則元素註解都會包含其 CSS 選擇器、標記,以及與版面配置相關的計算樣式,讓 agent 能在原始碼中找到該元素,而不必依圖片猜測」;「密碼與隱藏欄位的值,以及任何看似金鑰或權杖的屬性,都會先在頁面上遮蔽,之後標記才會離開頁面」;「較大的批次會依每則註解所在的頁面區域分組,因此二十多則註解會化為少數幾項工作,而非每則註解各成一項任務」;「由於各組分屬不同的 DOM 子樹,通常也會涉及不同檔案,因此可安全交由平行 worker 處理」。期間內的提交:10f2a20966「feat(desktop): add comment mode to the in-app browser」;e4bda3ff77「feat(desktop): browser comments carry the element’s selector, markup, and styles」;工作階段控制項8cb2bcc8c1「expose structured session controls」+bfddf556bf「hydrate structured session controls」+dffd8d62c2「add session automation controls」;6b1e12c7f4「drag to create sessions from New session, project + controls, and profile groups」;9186e3ebc5「session import view for foreign coding-agent transcripts」;a1c25d393a「built-in optional-skills catalog in Capabilities → Skills with one-click install」;俄文語系a922dad9d8「feat(desktop): add Russian (ru) locale」+269e5bde33(在語系測試/文件中註冊ru;apps/desktop/src/i18n/ru.ts是此期間新增的檔案,而 CLI 的locales/仍有 17 份語系目錄)。display.resume_last_session:hermes_cli/config_defaults.py:777,預設為True,原文註解為「Desktop 會在冷啟動時重新開啟上次的聊天/頁面(也可在 Settings → Appearance 中設定)。」真實 profile 同意機制:apps/desktop/src/app/chat/right-rail/real-profile-consent-dialog.tsx(「首次開啟真實 profile 瀏覽功能時顯示的同意提示」,當 Browser 窗格開啟且browser.use_real_profile為關閉狀態時顯示;接受後會寫入與 Capabilities 切換開關相同的設定鍵;「Not now」會在本次應用程式執行期間停止提示,「Don’t show again」則會跨啟動永久保留此選擇)。 ↩↩ -
Hermes Agent v0.21.2 發行說明,「The state.db Patch Release」,標籤
v2026.9.11,標示發行日期為 9月11日,發布於 2026-09-11T19:20Z。原文說明:「v0.21.0 大幅重寫了工作階段儲存區的連線處理方式,卻使部分安裝環境中的state.db變得脆弱:第二個寫入者會取消彼此的鎖定、正常的資料庫遭誤報為損毀,且單筆問題資料就會讓sessions list整體失敗。」於提交04dd80a977統計:「947 筆非合併提交」、「1,869 個變更檔案」、「312 個已合併 PR」、「140 位貢獻者」(本機複本檢查:git rev-list --count --no-merges v2026.9.7..v2026.9.11= 959——正文數字是發行前的快照,與 v0.21.1 的情況相同)。行動標題原文:「state.db 可靠性行動(6 個 PR,已關閉 44 個 issue)」(PR #108076、#108082、#108130、#108086、#108074、#108067);更新指引原文:「請先執行hermes doctor;它現在能正確區分結構損毀與索引損毀,並在重建仍不足以解決問題時,引導您使用hermes sessions recover --inspect-only(固定至 profile)。」在該標籤下的原始碼驗證:gateway/hosted_rooms.py:398-426將託管房間狀態移出根儲存區——default_db_path會讓 profile gateway 指向「共用的根目錄shared-state.db,而非主要的state.db」;其 docstring 並指出,在 6-gateway 叢集(2026-09-03)中觀察到反覆發生的多寫入者損毀途徑,這正是 profile gateway 絕不可用可寫模式開啟主要工作階段儲存區的原因。hermes sessions recover的剖析器位於hermes_cli/subcommands/sessions.py:185-196,其中--inspect-only的說明原文為「僅回報標準資料表的可讀性;不建立輸出資料庫」;此子命令早於本期間便已存在(在v2026.8.31的hermes_cli/main.py中即可見),但本指南先前未記載。憑證保管庫:agent/vault_backends/__init__.py的 docstring(「瀏覽器憑證保管庫的登入後端」;控制代碼會依後端劃分命名空間,讓瀏覽器工具無須變更 schema 即可進行路由;外部管理工具在每個工作階段解鎖前均維持鎖定;主密碼「絕不會成為工具引數、絕不會出現在 argv 中,也絕不會被永久儲存」)、agent/vault_backends/base.py(LoginBackend「會列出登入中繼資料(絕不包含機密),並在填入時僅解析一組密碼」),以及agent/vault_store.py:74-105(驗證器金鑰僅接受 base32 種子或otpauth://totpURI;拒絕計數器型 HOTP,驗證碼由totp_now產生);後端local.py、onepassword.py、bitwarden.py,以及agent/secret_sources/{onepassword,bitwarden,command}.py在該標籤下均已存在。hermes_cli/subcommands/plugins.py中的外掛目錄子剖析器:install說明為「從精選目錄、Git URL 或 owner/repo 安裝外掛」、search為「搜尋精選 Hermes 外掛目錄」、browse為「列出精選外掛目錄中的每個項目」、pack為「宣告式且可分享的外掛組合(hermes-pack.yaml)」,並提供install/export/show。訪客初始設定位於apps/desktop/electron/guest-onboarding-flag.test.ts:測試標題原文為「guestOnboardingEnabled:只有環境變數中的值恰為 “1”,或 argv 中帶有 –guest-onboarding,才會啟用免費方案」;該測試套件斷言'true'、'0'與空值皆為關閉,且desktopBackendSpawnEnv「最後才蓋上啟動決策,絕不讓繼承而來的值滲入」。多 profile 強化 issue 群組為發行說明所列的 #107609 至 #107630。本次工作階段於 2026年9月15日驗證。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.21.3 發行說明,標籤
v2026.9.14,標示發行日期為 9月14日,發布於 2026-09-14T16:04Z。原文所述目的:此標籤「是為了讓下列遠端 gateway 登入修正送達 Cloud agent,後者會自動更新至最新的發行標籤。」於提交9b419a2d3c統計:「1,036 筆非合併提交」、「2,642 個變更檔案」、「338 個已合併 PR」(本機複本檢查:git rev-list --count --no-merges v2026.9.11..v2026.9.14= 1,037,差異仍是該筆發行提交)。文件記載的兩個項目皆已在本機複本中驗證,且僅出現在此期間:提交5dea46d13d「fix(dashboard-auth): one refresh single-flight for the cookie gate and the native route, off the event loop」(#110061,修正 #55712;搭配 Portal 端的 hermes-portal#1209,採用 30 天滑動閒置期限,並為輪替後的權杖保留 5 分鐘寬限期),以及提交939a2f64b4「fix: long-lived processes stop minting duplicate state.db writer handles」(#110934,修正 #100896 與 #103339)。延後說明原文:「此期間完整的精選發行說明將隨 v0.22.0 推出,屆時會記載自 v0.21.0 起的所有內容」,以及「此期間沒有任何內容遭到略過」;發行說明刻意未記載的清單包括伺服器至用戶端的 JSON-RPC 請求與 Pydantic 線路合約登錄檔、每個模型選擇器中的推理強度選項、OpenRouter OAuth PKCE、HEIF/HEIC/AVIF 解碼、Honcho 對等模型重製、FAL 目錄新增項目(Wan 3.0、Kling 3.0/Kling Image v3、MiniMax H3 Max Turbo、Gemini Omni Flash 1.1、Meta Muse)、Slack 貼上的表格與 Agent Sessions API、多工 profile 隔離與 gateway 存活性修正,以及在跨 VM 檔案系統上拒用 state.db WAL——依發行說明本身的表述,這些內容全數保留至 v0.22.0 掃描時處理。本次工作階段於 2026年9月15日驗證。 ↩↩↩ -
Hermes Agent v0.21.4 版本說明,標籤為
v2026.9.21,所載發布日期為9月21日,發布時間為2026-09-21T18:10:55Z。原文所述目的:「修補版本。此標籤將自v0.21.3以來合併的約1,800個PR彙整為穩定的標記版本,供下游使用者(Docker 映像檔、Hermes Cloud、託管部署)使用。此期間完整編修的版本說明延至v0.22.0發布。」統計資料於提交4b8a8134009a測得:「5,071個非合併提交」,涵蓋「5,169個變更檔案」(+312,961 / -62,855),另有「1,812個已合併PR」及「2,116個已關閉議題」——本機複製版本的檢查可精確重現全部5項數據(git rev-list --count --no-merges v2026.9.14..4b8a8134= 5,071;git diff --shortstat= 5,169個檔案,+312,961 / -62,855;標籤提交d337b736aa「chore(release): v0.21.4 (v2026.9.21)」是4b8a8134的子提交,因此共有5,072個非合併提交,計入合併提交則共5,173個;而v2026.9.14...v2026.9.21的 GitHub 比較 API 回報total_commits: 5173, ahead_by: 5173, behind_by: 0)。期間排名(於9月23日針對指南v1.21重新檢查):以每一對相鄰v2026.*標籤之間的非合併提交數計算,v2026.8.31..v2026.9.7(計入其版本提交後為5,140個)居首,v2026.9.14..v2026.9.21(5,072個)位居第二,領先v2026.7.20..v2026.7.30(2,790個);以版本說明所載的合併PR數計算,1,812是所有單一期間彙整說明中最高的數字(v0.21.1為「632個已合併PR」,v0.19.1為「約1,000多個PR」;v0.21.0的「約2,475個」涵蓋自v0.20.0以來的6個v0.20.x標籤,因此並非單一標籤間的期間)。關於延後發布,原文為:「此期間完整編修的版本說明將隨v0.22.0發布,並記錄自v0.21.0以來的所有內容」以及「此期間的內容均未遺漏。」刻意未記載的項目清單包括:gateway單例鎖定與會合記錄,以及Desktop連接至執行中主機後端的機制;由後端負責的連接器操作,以及其Desktop/TUI/CLI 設定卡片;--format stream-json;skills.auto_load;Desktop聊天/UI字型選擇器、一鍵更新本機引擎,以及從Plugins中樞解除安裝;未授權私訊的decline行為;mcp.discovery_concurrency;session_search的after/before界限與放寬為OR條件的召回重試;hermes sessions set-journal-mode;影片目錄中的LTX 2.5與Kling O3;依plugin/作者建立的目錄網站頁面,其中包含固定至特定提交的README及新增/更新排序;「目錄新增十餘個社群plugins(tailscale、ssh、shodan、terminal、rss、resetwatch、done-bell、kiwi、cognee、Octen)」(版本說明中的簡稱;該標籤下的目錄項目為hermes-tailscale、hermes-ssh、shodan、hermes-terminal、hermes-rss、hermes-resetwatch、done-bell、kiwi、cognee、web-octen);以及「大量profile/多工隔離、cron、kanban、Desktop與state.db修正」。更新方式:hermes update(git安裝)或安裝程式的一行指令;「Docker / Hermes Cloud:映像檔以此標籤建置(nousresearch/hermes-agent:v2026.9.21)」。本次工作階段於2026年9月22日驗證。 ↩↩↩↩↩↩ -
v0.21.4 公開項目已於標籤
v2026.9.21的原始碼中驗證(指南 v1.20,2026年9月22日;指南 v1.21 於9月23日新增操作規則)。主機單例:gateway/host_rendezvous.py的 docstring——「主機範圍的單例會合機制:每位作業系統使用者的每個 ROLE 各有一把鎖與一筆記錄」;「每台主機恰好執行一個hermes serve與一個hermes gateway run,且各自多工處理所有 profile」;主機的 flock/msvcrt鎖「在勝出程序的整個生命週期內持續持有」,另有會合記錄,讓第二次啟動能「證明它是同一個仍在執行的程序,並透過 ATTACH 附加,而非繫結第二個連接埠」;透過(pid, createTime)達成「陳舊狀態一律須經證明,絕不憑空假設」(「附加用戶端絕不能連線至已重複使用之 PID 的連接埠」);鎖定根目錄優先採用$HERMES_GATEWAY_LOCK_DIR,否則為$XDG_STATE_HOME/hermes/gateway-locks,並限定於該作業系統使用者(gateway/status.py:308-324:若XDG_STATE_HOME為相對路徑則予以忽略,並改用~/.local/state)。操作路徑:gateway/run.py:5466-5499的_host_attach_or_none會在ATTACH時顯示附加訊息並以狀態碼 0 結束;在REFUSE時拒絕;在REPLACE_HOST時將--replace傳送給「HOST 程序,不論它是由哪個主目錄啟動」;在--force下則略過詢問(「當擁有者卡死或回報不實時,這是操作人員的脫困手段」);_claim_host_gateway_role(gateway/run.py:5331-5346)會讓鎖競爭中的失敗者以EX_TEMPFAIL(75)結束,因為「我們產生的每個監督程式都會在狀態碼 75 時重試,而重試時擁有者的記錄已存在」。gateway/host_attach.py定義 5 種結果:ATTACH、RESCAN->ATTACH(控制通訊端rescan-profiles)、REPLACE_HOST、REFUSE(「絕不可悄然啟動第二個執行個體」)、START(獨立的各 profile gateway 可共存,「直到該遷移遭強制執行(#109417)」)。桌面端部分:apps/desktop/electron/host-backend-attach.ts(「附加至主機上執行中的 Hermes 後端(僅限多工模式,桌面端部分)」;I/O 階梯會讀取機器根層級的啟動帳冊,依序以「HTTP 就緒狀態 -> 已提供的工作階段權杖 -> WebSocket 驗證」檢查候選項,並持有「主機層級的閘門,確保兩個應用程式同時啟動時只產生一個後端,而非兩個」;HOST_SPAWN_GATE_STALE_MS = 60_000)。連接器操作:tools/connectors/operation.py:1逐字寫道:「每次manage_connections呼叫由後端擁有一項連線操作。純資料,不含 I/O。」;OPERATION_DEADLINE_SECONDS = 300.0,註解為「這不是設定鍵:可由使用者調整並設有上下限的等待時間容易造成誤用(PR1 曾提供此功能,但未合併)」;工具註冊名稱為manage_connections(tools/connectors/tool.py:16,48,113);每個目標的required_env「({name, prompt, required});卡片會為每個項目繪製一個欄位,並暫停其動作,直到所有必要欄位都有文字」;tests/hermes_cli/test_mcp_catalog_env_boundary.py:330指名這張跨 3 個前端的卡片(「連接器卡片後端(Desktop/TUI/CLI 設定卡片)採用相同的僅限祕密資訊分離方式」)。stream-json:聊天剖析器的hermes_cli/_parser.py:247-249——--format可選text/stream-json,預設為text,說明逐字為「’stream-json’ 會發出以換行分隔的 JSON 事件(JSONL),隱含 –quiet,且不能與 –tui 合併使用」;hermes_cli/stream_json.py的模組 docstring 為「stdout 每行一個 JSON 物件……system/init->text差異片段/tool_use/tool_result-> 一個終止用的result封套(結束代碼、最終文字、權杖統計)。診斷資訊與session_id保留於 stderr」,_TOOL_OUTPUT_CAP = 5000;遇到禁止的組合時以狀態碼 2 結束;hermes_cli/stream_json.py:23的stream_json_requested會在以狀態碼 2 結束前接受query或query_file(cli.py:1703-1705的 Fire 進入點檢查已解析完成的查詢);hermes_cli/_parser.py:218-222的--query-file PATH與-q位於互斥群組中(說明逐字為「從檔案讀取單一查詢,而非從命令列讀取(’-’ 讀取 stdin)。可安全處理任意文字:不會由 shell 解譯任何內容」),由_read_query_file(hermes_cli/main.py:1735-1762)讀取,自標籤v2026.8.19起即已存在;合約測試位於tests/hermes_cli/test_stream_json.py(包括「在 stream-json 下絕不可送至 stdout」)。skills.auto_load:hermes_cli/config_defaults.py:1435,預設為[],註解逐字為「在每個新工作階段(CLI、TUI、gateway、cron、API)中固定以完整形式載入的 skill 名稱。代理程式首次建立提示時解析一次;若名稱不存在或已停用,則發出警告並略過;HERMES_IGNORE_RULES 會像其他自動注入的上下文一樣抑制此清單。」decline:gateway/config.py:137-139——註解逐字為「’pair’ 會透過 DM 傳送配對代碼,’ignore’ 會悄然捨棄,’decline’ 會傳送一次禮貌的拒絕訊息,之後在 gateway.pairing.DECLINE_DEDUPE_SECONDS 期間不再回應該傳送者(#88028)」;UNAUTHORIZED_DM_BEHAVIORS = {"pair", "ignore", "decline"},欄位預設為"pair"(:626);unauthorized_dm_decline_message為空時 ->DEFAULT_UNAUTHORIZED_DM_DECLINE_MESSAGE(回覆內容引述於「配對」一節);DECLINE_DEDUPE_SECONDS = 24 * 3600,且gateway/pairing.py:37,565-576採用可辨識別名的拒絕時間戳記;get_unauthorized_dm_behavior(gateway/config.py:803-809)負責各平台解析與 Email 預設值,「Email 的結構如同收件匣,因此預設為"ignore",除非其自身的unauthorized_dm_behavior明確選擇啟用(全域預設不算)」。此設定鍵本身連同pair/ignore與 Email 規則早於本次變更時段即已存在(見v2026.9.14的gateway/config.py:564,736-742;由 #1919 於2026年3月引入);只有decline是新增項目。有效預設值:gateway/authz_mixin.py:699-740的_get_unauthorized_dm_behavior,其 docstring 所述順序為「明確的各平台設定;Email -> “ignore”;明確且非預設的全域設定;轉接器 dm_policy(pairing -> “pair”,allowlist/disabled -> “ignore”);已設定任何允許清單 -> “ignore”……;否則為 “pair”」(#9337),且只在全域設定!= "pair"時才會採用。YAML 結構:platforms.<name>下的各平台設定鍵會提升至PlatformConfig.extra(gateway/config.py:456-460,#10206);頂層設定鍵或巢狀的gateway.unauthorized_dm_behavior由gateway/config_loader.py:39-46,102橋接;hermes gateway setup則透過write_platform_config_field寫入platforms.<name>.unauthorized_dm_behavior(hermes_cli/config.py:2061-2069;hermes_cli/gateway_setup_wizard.py:182-184,219-249,選項為「禮貌拒絕未知傳送者(傳送一次訊息,之後保持靜默)」)。拒絕訊息僅能設定為全域值(gateway/run_inbound.py:139)。discovery_concurrency:hermes_cli/config_defaults.py:526預設為 4;tools/mcp_tool_discovery.py:27-40(「mcp.discovery_concurrency會覆寫此值,0 = 不受限制(#117373)」;非整數或負值會記錄「不是非負整數;使用 %d」,並改用預設值);tests/tools/test_mcp_tool.py:2813確立其「上限而非閘門」語意(「限制同時連線數(仍然並行,每個伺服器」都會連線)。session_search 界限與重試:tools/session_search_tool.py:578,621-635,708-725——after為「工作階段開始時間的包含式下限。ISO 日期/日期時間(例如 2026-06-01)或相對期間(7d、24h、2w = 最近 N 的範圍內)」;before為「工作階段開始時間的排除式上限。ISO 日期/日期時間(僅含日期的值代表當天 UTC 午夜)或相對期間(7d = 早於一週前)」;兩者都「僅影響探索結構」,且「排序是排名偏向,而非界限」;為維持綱要穩定性,新參數「附加於detail之後」;hermes_state_search.py:1151-1163中放寬為 OR 的重試機制,註解逐字為:「詞彙之間隱含的 AND,意味著經過改述的多字詞查詢會漏掉只要缺少其中任一詞彙的已儲存句子……當精確查詢與子字串備援全數未命中後,使用 unicode61 索引重試,並比對任一詞彙。……僅在零結果未命中時才會啟動,因此有命中結果時仍維持精確比對語意;明確使用 OR/NOT、單一詞彙及路由至 CJK 的查詢則維持不變」;專用測試套件為tests/hermes_state/test_search_or_relaxed_fallback.py。set-journal-mode:剖析器位於hermes_cli/subcommands/sessions.py:177,說明逐字為「在離線狀態下(停止所有持有者),於 journal_mode=WAL 與 DELETE 之間轉換 state.db」;hermes_cli/sessions_cmd_journal_mode.py的 docstring——針對 #100896 的離線自助處理路徑(在此之前,「唯一的脫困手段是手動執行一條未記載於文件中的PRAGMA journal_mode=DELETE」);「只要有任何外部程序持有該檔案或側錄檔,就拒絕執行(foreign_state_db_holders);不等待開啟者退出,直接切換(_set_journal_mode_no_wait);接著驗證 SQLite 針對該模式寫入的標頭位元組 18/19」;分派標記為「離線:不得開啟它所轉換的儲存區」(hermes_cli/sessions_cmd.py:982);若為非預設儲存區,hermes doctor會建議搭配--db使用(hermes_cli/doctor_platform.py:148,163)。剖析器說明逐字為「請在 gateway、dashboard 與所有 CLI 均已停止時執行:只要任何程序持有該檔案,它便會拒絕執行;否則會切換模式並驗證檔案標頭」;--force說明為「僅限 Windows:自行停止所有 Hermes 程序後,在沒有持有者掃描(Windows 不提供此功能)的情況下繼續」(hermes_cli/subcommands/sessions.py:176-189),並由_refusal強制執行(sessions_cmd_journal_mode.py:40-44:「無法證明 Windows 上的資料庫處於靜止狀態——沒有持有者掃描」)。Desktop 更新:字型欄位位於apps/desktop/src/app/settings/chat-font-setting.tsx(CONFIG_PATH = 'desktop.font_family',550 ms 自動儲存),搭配themes/chat-font.ts(建議項目為 OpenDyslexic、Atkinson Hyperlegible、Lexend、Inter、IBM Plex Sans、Source Sans 3、Noto Sans、Segoe UI、SF Pro Text;空值代表使用佈景主題的字型),並透過themes/context.tsx:279套用,覆寫佈景主題權杖--dt-font-sans;引擎更新位於apps/desktop/src/app/settings/local-models-settings.tsx及其測試(當受管理的本機執行環境回報update_available時顯示「更新引擎」按鈕,驅動installLocalRuntime作為回報進度的runtime-install工作;測試內容為「明確更新失敗後仍保持可見,提供直接重試,且不顯示已暫存的模型」);Plugins 中心的解除安裝位於apps/desktop/src/app/capabilities/plugins/plugins-tab.tsx及其測試(「只有在確認對話框獲得接受後,才透過 plugins.manage remove 解除安裝」;獨立桌面 plugins 則透過 Electron 載入器上的uninstallDiskPlugin)。影片目錄:plugins/video_gen/fal/__init__.py:43-44,99-101——ltx-2.5(「LTX 2.5」,「Lightricks 開源影音模型。原生音訊,最長 20 秒/4K(i2v),支援攝影機運動預設。」;平價層級;lightricks/ltx-2.5/text-to-video/fast與/image-to-video/fast;長寬比 16:9/9:16;整數秒數;:128記載「fal 會拒絕解析度為 1440p/2160p 且超過 10 秒的 LTX 2.5」)以及kling-o3(「Kling O3(標準版)」,「Kuaishou 前沿模型。原生多鏡頭敘事、選用音訊,3 至 15 秒。」;高級層級;字串秒數 3 至 15;i2v 從影像推導長寬比;generate_audio是實際可用的切換開關);承載資料測試位於tests/plugins/video_gen/test_fal_plugin.py:641,681;名冊列位於website/docs/reference/toolsets-reference.md:72。目錄擴充:plugin-catalog/在v2026.9.14有 9 個項目加上removed.yaml,在v2026.9.21則有 228 個項目加上removed.yaml;項目結構參照plugin-catalog/hermes-tailscale.yaml(name、repo、40 位十六進位sha、description、maintainer、tier: community、category、docs_url、capabilities);hermes_cli/plugin_catalog.py:4-10,33說明收錄與發布模型(「固定至確切的 40 字元提交 SHA。存在於此目錄中即代表」已獲收錄;website/scripts/extract-plugins.py發布/docs/api/plugin-catalog.json;抓取LIVE_CATALOG_URL並快取於~/.hermes/cache/plugin-catalog.json);網站頁面位於website/plugins/plugin-catalog-pages/index.js(「/docs/plugins/ 每個項目各一頁」、「/docs/plugins/by/ 每位維護者各一頁」、「合併目錄 PR 是頁面出現、變更或消失的唯一方式」,且網站「只會降級,絕不失敗」)與readme.js(每個項目的 README 皆透過該 sha 的原始網址,「從已固定的提交」進行算繪,「絕非分支頂端」,因此頁面顯示的 README 與目錄審查者所讀內容完全一致;建置時採用允許清單式算繪,會移除原始 HTML,上限 512 KB,主機僅限 raw.githubusercontent.com 與 gitlab.com;可用readme: false選擇停用);作者 slug 與依提交者日期產生的新增/更新時間戳記位於website/scripts/extract-plugins.py:80,142;以版本命名的 10 個社群 plugins 在該標籤下全數存在,slug 如 50 所列。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.21.5 發行說明,標籤
v2026.9.24,標示的發行日期為9月24日,發布於2026-09-24T10:09:38Z。目的原文:「修補版本。此標籤將自 v0.21.4 以來合併的約460個 PR 彙整為穩定的標記版本,供下游使用者(Docker 映像檔、Hermes Cloud、託管部署)使用。此期間完整且經整理的說明將延至 v0.22.0 發布。」統計資料是在標籤提交f97608f178(「chore: release v0.21.5 (2026.9.24)」)上測得:橫跨「4,828個變更檔案」(+164,132 / -149,440)的「1,610個非合併提交」、「460個已合併 PR」與「475個已關閉議題」。本機複製儲存庫的檢查可精確重現提交與差異統計(git rev-list --count --no-merges v2026.9.21..v2026.9.24= 1,610;包含合併則為1,638;git diff --shortstat= 4,828個檔案,+164,132 / -149,440);PR 與議題數量則未經獨立查核。內文刻意未記載於文件的清單提及 Nous 與 OpenRouter 目錄中的 GPT-6「Sol/Terra/Luna」和 Claude Opus 5.5、透過gateway.standalone針對各 profile 執行停止/啟動/重新啟動,以及一波 Desktop plugin-SDK 更新;但未提及 Hindsight。更新方式原文:「hermes update(git 安裝),或重新執行安裝程式單行指令」,以及「映像檔由此標籤建置(nousresearch/hermes-agent:v2026.9.24)」。 ↩↩↩↩ -
已在標籤
v2026.9.24的原始碼中驗證 v0.21.5 項目(指南 v1.22,2026年9月24日)。Hindsight:提交4cbf862abe「chore(memory): remove the bundled hindsight provider (moved to the plugin catalog)」(9月22日)是該標籤的祖先提交;該標籤的plugins/memory/包含7個提供者目錄(byterover、holographic、honcho、mem0、openviking、retaindb、supermemory),而v2026.9.21有8個;提交73c598e319「build: drop the hermes-agent[hindsight] extra」已將其從pyproject.toml移除。plugin-catalog/hindsight.yaml:repo: https://github.com/vectorize-io/hindsight、maintainer: vectorize-io、tier: community、requires_hermes: ">=0.21.4"。遷移:hermes_cli/memory_provider_migration.py的 docstring(第1至14行)列出兩個掛鉤:「hermes update」與「agent init」;第75行會輸出「Memory provider ‘{name}’ moved out of core – installed its plugin from the catalog」;recover_at_startup()(第110行)「遵循security.allow_lazy_installs」;此函式會由hermes_cli/update_cmd_deps.py:535-536與agent/agent_init.py:1315-1316呼叫。磁碟上的變更結果與驗證指令:memory-providers.md:482-490。Multiplex:hermes_cli/gateway_multiplex_mode.py第10行:「明確設定的false已停用」;第43至44行:「gateway.multiplex_profiles: false 已停用,並已改寫為 true」(提交b936546561,9月23日)。gateway.standalone:hermes_cli/profiles.py:979-982:「DEFAULT profile 永遠不會是 standalone——它本身就是 host——若在其中設定此鍵,每個程序只會警告一次」(提交0238c9d740)。暫停運作:提交4c342c05de「stop, start and restart one profile under the host multiplexer」;multi-profile-gateways.md:120-138, 233-244(「暫時性的相容性銜接層」;「以gateway.standalone為準」)。模型:hermes_cli/models_catalog_static.py的OPENROUTER_MODELS第32行與第36至37行(anthropic/claude-opus-5.5、openai/gpt-6-sol、-sol-pro、gpt-6-luna、-luna-pro);第162行的nous清單由此衍生。該標籤的選擇器目錄中沒有gpt-6-terra模型 ID,因此此處僅列出 Sol 與 Luna。提供者:第314行的CANONICAL_PROVIDERS經剖析後共有39個項目(AST 計數,維持不變);plugins/model-providers/在v2026.9.21與v2026.9.24均有38個目錄,v2026.9.14則有39個。提交998f614c7f「feat(providers): remove the keyless opencode-free tier」(9月18日)刪除了該 plugin;其訊息寫道:「OpenCode 的免費層目前會對來自 OpenCode 用戶端以外的匿名流量回傳 HTTP 403」。hermes_cli/auth.py:1255-1259保留了針對opencode-free、free與opencode_free的錯誤訊息,並將使用者引導至opencode-zen與opencode-go。相容性:COMPAT_MANIFEST.md、compat_manifest.json與hermes_cli/plugin_compat.py均存在於該標籤,以及提交aa8a33d22d(9月24日)的main上。git diff v2026.9.21 v2026.9.24 -- hermes_cli/plugin_compat.py沒有差異(第32行的COMPAT_REMOVAL_DATE;第296至303行的「僅限布林值常值」檢查)。這一對 manifest 僅移除了已刪除的plugins.memory.hindsight項目(-7 / -12行)。 ↩↩↩↩↩↩↩↩ -
Hermes Agent v0.20.3 發行說明(標籤
v2026.8.16.2,標示的發行日期為8月16日,發布於2026年8月17日)與 v0.20.4 發行說明(標籤v2026.8.18,2026年8月18日);兩者皆於2026年8月20日透過 GitHub API 擷取(prerelease: false)。v0.20.3 原文:「MCP 2.x SDK 遷移與2026-07-28無狀態協定支援、隨附核心隊友協定的內建 Bot Mode(hermes-bots)plugin、CommandCode 提供者 plugin、子程序 Python 執行階段所有權強化(PYTHONHOME/PYTHONPATH 隔離),以及用於電腦操作的 Cua Driver 0.20 執行階段合約。」v0.20.4 原文:「桌面版玻璃/半透明介面相關作業(霧面玻璃、霧化選擇器、macOS 預先選取)、具有各 bot 隱藏/取消隱藏功能的分頁式 SESSIONS|BOTS 側邊欄,……在安裝 skill 時執行 NVIDIA SkillEvaluator Tier 1 諮詢式掃描(授權條款與安全性檢查)。」兩個版本均表示:「此期間完整且經整理的發行說明將隨 v0.21.0 發布。」 ↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.20.0 發行說明「The Herald Release」,標籤
v2026.8.3,2026年8月3日,以及穩定化標籤 v2026.8.13 和 v2026.8.16。發行說明原文:「所有安裝程式/修復/升級流程皆要求 Node 26」;「brew 與 pip/PyPI wheel 管道已停用(支援的管道為 shell 安裝程式/Docker/Nix)」;「預設反覆運算上限從90提高至500」;「claude-marketplace 來源已移除」。Node 最低版本需求另經安裝程式原始碼 scripts/install.sh 獨立確認——NODE_VERSION="26",並設有防護檢查「Node.js $(node –version) is too old (Hermes requires Node >=26)」——其標頭註解亦記載標準單行指令curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash。請注意其中的衝突:安裝頁面仍標示 Node v22,與前述兩項證據相比已屬過時。平台分級取自平台支援;skills 來源與預設 taps 取自 skills;28個平台的數量則是逐項計算訊息傳遞中的比較表而得,該頁並未公布官方總數。所有資料均於2026年8月16日擷取並驗證。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.19.0 發行說明,「The Quicksilver Release」,標籤
v2026.7.20,2026年7月20日;截至2026年7月21日為最新版本。自 v0.18.0 起的統計資料:約 2,245 次提交、約 1,065 個合併的 PR、約 3,300 個已關閉的問題,以及 450 多位社群貢獻者。效能主軸:首次回合 TTFT 約縮短 80%,從冷啟動提交到分派的時間,在 CLI/gateway/TUI/桌面版/cron 全面由約 4.3 秒降至約 0.9 秒(PR #59332);預設即時串流推理過程,display.show_reasoning預設開啟,並逐 token 繪製回應(PR #59389);桌面版迎來涵蓋約 20 個 PR 的效能提升,包括串流 Markdown 加速 14 倍;TUI 則採用增量式 Markdown。透過 pip/Homebrew 安裝的方式已棄用,目前僅顯示「不受支援的舊版方式」警告,並規劃停止發布至 PyPI/Homebrew(PR #57225)。新增可插拔的SecretSource介面,支援 Bitwarden 與 1Password 提供者、op://參照、多保管庫、確定性的優先順序,以及各變數的來源追蹤(PR #59498)。智慧核准現為預設值(由獨立的 LLM 審查者檢視每項遭標記的命令),支援使用者自訂拒絕規則,即使在 YOLO 模式下仍會生效,並新增/deny <reason>(PR #62661、#59164、#54518);外掛程式的pre_tool_call核准升級機制重新併入(PR #60504)。終端機新增帳務命令/subscription與/topup,桌面版也加入帳務分頁(PR #51639)。新增即時子代理程式逐字稿檔案與可持續保存的背景委派(PR #67479、#63494);state.db新增交付義務帳本(PR #67181);max_async_children已棄用,改採統一的委派並行上限(PR #56955)。Gateway 新增以 profile 為基礎的路由與GATEWAY_MULTIPLEX_PROFILES;路由索引移至state.db,sessions.json則成為選用的舊版鏡像(PR #64835、#65700、#60589、#59203)。提供者與模型:Fireworks AI 成為一級支援項目,位於選擇器第 2 順位(PR #62593),並加入 DeepInfra、Upstage Solar、端對端支援 GPT-5.6 Sol/Terra/Luna + Pro(PR #61616)、grok-4.5 正式版、kimi-k3(kimi-k2.x 已停用)、完整串接 Claude Sonnet 5,以及各提供者的enabled: false與excluded_providers(PR #67971);推理強度新增max/ultra層級,支援各模型與各 MoA 欄位的覆寫設定,以及工作階段範圍的/reasoning(PR #62650、#64458)。CLI/MCP:hermes sessions export支援 Markdown/Quarto/HTML/僅提示/HF-trace 格式,並可搭配--redact(PR #60186);新增/model --once(PR #67113)、堆疊式斜線 skill 呼叫(PR #57987)、--safe-mode、hermes config get/unset(PR #65540)、真正無介面的hermes serve(PR #55923),以及 MCP 的mcp__server__tool命名方式(PR #52750)。未納入發行版的行銷包裝;在此期間遭復原的項目(iron-proxy 輸出流量防火牆、dynamic-workflow skill、記憶體提供者動作)也刻意未記載為已交付功能。已於目前工作階段在2026年7月21日完成驗證。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Hermes Agent v0.18.1 發行標籤與 v0.18.2 發行標籤,2026年7月7日至8日。這是 v0.18 系列的基礎架構修補彙整;v0.18.2 的主要修正是解除 WhatsApp Baileys 的版本鎖定,改用 7.0.0-rc13,以確保 Docker 建置穩定可靠。這兩個修補期間的內容均已彙整至 v0.19.0 發行說明,並在其中完整記錄。 ↩
-
Hermes Agent v0.15.1 發行說明與 Hermes Agent v0.15.2 發行說明。v0.15.1(2026年5月29日 01:12 UTC)是當日推出的 Velocity 緊急修正:修復儀表板在回送模式下發生 401 重新載入迴圈的問題;Docker 現在必須明確設定
HERMES_DASHBOARD_INSECURE=1;MCP 的無路徑命令(npx、npm、node)可在 Docker 容器內正確解析;恢復 Skills 頁面的來源標籤與分類側邊欄;Kanban 工作程序會回應 SIGTERM;Skills.sh 目錄透過 Sitemap 從 858 筆增至 19,932 筆。共 28 次提交、21 個合併的 PR、9 位貢獻者。v0.15.2(2026年5月29日 13:37 UTC)是僅涉及封裝的緊急修正,將plugin.yaml資訊清單納入 wheel 與 sdist 發行套件,讓透過 PyPI 安裝時不必另外載入原始碼。共有 4 位貢獻者。 ↩ -
Hermes Agent v0.15.0 發行說明與 Hermes Agent 發行版本頁面。「The Velocity release」,標籤
v2026.5.28。統計資料:1,302 次提交、747 個合併的 PR、321 位社群貢獻者。將run_agent.py重構縮減 76%(從 16,083 行減至分布於 14 個模組的 3,821 行)。新增多代理程式 Kanban 平台(自動拆解、群集拓撲、各任務模型覆寫、排程任務及 worktree 管理)。重新設計的session_search快上 4,500 倍,並移除 LLM 相依套件。在 3 個安全關卡加入 Promptware 防禦,抵禦 Brainworm 類型的提示注入攻擊。整合 Bitwarden Secrets Manager,以單一啟動權杖取代各提供者的多組 API 金鑰。Skill 套件組合可透過單一斜線命令載入多個 skill。TUI 工作階段協調器可在單一終端機視窗內管理多個工作階段。新增 Krea 2(Medium/Large)與 FAL 外掛程式支援,用於產生影像。新一輪 xAI 整合加入網頁搜尋外掛程式、OAuth 上游支援、退役模型偵測,以及語音輸出中的自然 TTS 停頓。GitHub 上提及的修補版本處理了儀表板 401 重新載入迴圈、Docker 的--insecure必須明確設定HERMES_DASHBOARD_INSECURE=1環境變數、MCP 無路徑命令(npx、npm、node)在 Docker 中的解析、Skills 頁面呈現、Kanban 工作程序的 SIGTERM 處理,以及透過 Sitemap 提供完整的 19,932 筆 Skills 目錄;另包含一小批針對.md傳遞、gateway 探測安全性、網頁 URL 遮蔽、kanban-worker 視覺能力與 hindsight 觀察預設值的修正。 ↩↩↩↩ -
Hermes Agent v0.11.0 發行說明。2026年4月23日。「The Interface release」——以 React/Ink 全面重寫互動式 CLI,搭配 Python JSON-RPC 後端(
tui_gateway);可插拔的傳輸架構(agent/transports/);透過 Converse API 原生支援 AWS Bedrock;新增 5 條推論路徑(NVIDIA NIM、Arcee AI、Step Plan、Google Gemini CLI OAuth、Vercel ai-gateway);透過 Codex OAuth 支援 GPT-5.5;QQBot 成為第 17 個通訊平台,支援掃描 QR Code 設定;擴充外掛程式介面(斜線命令、工具分派、阻止執行、結果轉換);新增/steer <prompt>,可在代理程式執行途中引導方向,於下一次工具呼叫後注入 context,且不會破壞提示快取;無須 Python 外掛程式即可透過 Shell hook 處理生命週期事件;Webhook 直接傳遞模式可將承載資料直接轉送至平台聊天室;透過協調器角色、可設定的衍生深度與檔案協作,提供更智慧的委派;儀表板外掛程式系統、即時主題切換、i18n 與行動裝置響應式設計。自 v0.9.0 起的統計資料:1,556 次提交 · 761 個合併的 PR · 1,314 個變更檔案 · 新增 224,174 行 · 29 位社群貢獻者。另請參閱:Hermes Agent v0.11.0 GitHub 發行標籤。 ↩↩↩ -
Hermes Agent v0.10.0 發行說明。2026年4月16日。「Tool Gateway 版本。」為付費 Nous Portal 訂閱者整合 Nous Tool Gateway,無須額外的 API 金鑰,即可透過受管理的方式使用 Firecrawl 網頁搜尋、FAL / FLUX 2 Pro 影像生成、OpenAI TTS,以及 Browser Use 瀏覽器自動化。可透過新的
use_gateway設定欄位,針對各項工具選擇是否啟用。當 gateway 與直接使用的 API 金鑰皆已設定時,執行階段會優先使用 gateway。完整整合hermes tools與hermes status。取代已棄用的HERMES_ENABLE_NOUS_MANAGED_TOOLS環境變數。由 @jquesnelle(emozilla)實作。Hermes Agent CLI 仍採 MIT 授權,且完全開放原始碼;gateway 是與現有 Portal 訂閱產品的整合,並非對 CLI 設置付費牆。另請參閱:Nous Portal以瞭解訂閱價格與註冊方式。 ↩↩↩