hermes@agent:~/.hermes$ cat hermes.md

Hermes Agent:實務參考指南(2026)

# v0.13 Tenacity 新增具備心跳偵測與殭屍程序偵測的多代理看板、/goal Ralph-loop 鎖定機制、video_analyze、xAI Custom Voices TTS、7 種語言 i18n、Google Chat 作為第 20 個支援平台、ProviderProfile 可插拔式供應商、工作階段自動恢復、Checkpoints v2,以及 8 項 P0 安全性修復。

words: 4030 read_time: 42m updated: 2026-05-07 19:50
$ less hermes.md

TL;DR: Hermes Agent是Nous Research推出的開源自我改進AI代理。它以CLI形式執行,同時也是多平台訊息閘道,將持久身份與記憶儲存於磁碟上,匯集能隨使用而進化的技能,並可搭配任何OpenAI相容的LLM供應商運作——Nous Portal、OpenRouter、Anthropic、GitHub Copilot、z.ai、Kimi、MiniMax、DeepSeek、Alibaba、Hugging Face、Google,或您自行架設的端點皆可。12 大多數新使用者最難跨越的關卡是供應商驗證:Hermes支援約19個一級供應商以及自訂端點,並提供三種不同的驗證路徑(在.env中設定API金鑰、透過hermes model進行OAuth驗證,或在config.yaml中設定自訂端點)。驗證模型是首要學習的重點——其他一切都取決於解析出的是哪個供應商。

Hermes Agent是一個完整的代理執行時環境,不只是聊天包裝層。它能讀取您的檔案系統、在沙盒後端執行命令、抓取網頁、派生子代理、執行排程cron任務、從單一閘道程序與Telegram/Discord/Slack/WhatsApp/Signal/Email對話,並從經驗中創造自己的技能。1 CLI是建構在run_agent.py對話迴圈之上的終端介面;閘道則是一個長時間執行的程序,將訊息從訊息平台路由到同一個對話迴圈。3

休閒使用者與Hermes專家的差距,就在這五個系統。 掌握這些,Hermes就能成為您的力量倍增器:

  1. 供應商解析:驗證流程如何對應到API呼叫
  2. 設定階層:config.yaml + .env + auth.json + SOUL.md + AGENTS.md
  3. 工具+toolset系統:代理能做什麼、依平台分別控管
  4. skill系統:代理自行建立並演化的程序性記憶
  5. gateway + cron + profile:讓Hermes在您日常生活的地方執行,不只在您面前

關鍵要點

  • 供應商驗證有三條路徑,不是一條。.env中設定API金鑰、透過hermes model/hermes auth進行OAuth驗證,或在config.yaml中設定自訂端點。請選擇符合您供應商的路徑,而非自己熟悉的那一條。
  • 切換供應商只需要一個命令。 hermes model會以互動方式引導您完成每個受支援供應商的設定,包括OAuth登入,而/model provider:model可在不遺失歷史紀錄的情況下,於對話中途切換。2
  • 使用者可編輯的設定面只有兩個檔案。 ~/.hermes/config.yaml存放設定,~/.hermes/.env存放機密。auth.jsonSOUL.mdMEMORY.mdskills/由Hermes直接管理——您可以手動編輯SOUL.md,但其餘都由代理本身維護。4
  • Hermes是OpenClaw的後繼者。 若要遷移,hermes claw migrate會自動匯入超過30類的狀態。5
  • 服務品質取決於您的輔助模型。 視覺、網頁摘要、壓縮和記憶刷新都使用另一個輔助LLM。預設是透過自動偵測使用Gemini Flash(OpenRouter → Nous → Codex)——若這幾個都未設定,這些功能會悄悄降級,直到您將輔助槽位指向主要供應商為止。4

以下每個章節都以hermes-agent.nousresearch.com/docs的上游文件以及github.com/NousResearch/hermes-agent的原始碼樹為依據。每項事實主張都附有腳註,指向其出處的特定上游頁面。

選擇您的路徑

您的需求 前往此處
安裝Hermes Installation——一行安裝指令或手動步驟
登入供應商 Authentication & Providers——您來這裡的主要章節
在對話中切換模型 The hermes auth CommandCustom & Self-Hosted Endpoints,了解/model語法
執行本地LLM Custom & Self-Hosted Endpoints——Ollama、vLLM、SGLang、llama.cpp、LM Studio
連接訊息平台 Messaging Gateway——Telegram、Discord、Slack、WhatsApp、Signal、Google Chat(總共20個)
撰寫或安裝skill Skills System——漸進式揭露+skill hub
每個CLI命令的深入參考 請繼續閱讀——並直接連結到CLI Commands

Hermes 運作方式:心智模型

Hermes 的架構圍繞著一個單一對話迴圈,任何進入點都能調用。這些進入點包括 CLI(cli.py)、訊息 gateway(gateway/run.py)、用於編輯器整合的 ACP 適配器、批次執行器,以及一個 API 伺服器。3 它們最終都會呼叫 run_agent.py 中的 AIAgent.run_conversation(),其運作如下:

  1. 透過 prompt_builder.pySOUL.mdMEMORY.mdUSER.md、skills、上下文檔案與工具指引建構系統提示詞3
  2. 經由 runtime_provider.py 解析執行時提供者——這一步決定您的驗證方式、基礎 URL 與 API 模式3
  3. 使用三種 API 模式之一呼叫提供者:chat_completionscodex_responsesanthropic_messages3
  4. 將回傳的工具呼叫透過 model_tools.py 與中央工具註冊表(tools/registry.py)進行分派3
  5. 持續迴圈直到模型產生最終回應,接著將工作階段持久化至支援 FTS5 的 SQLite3

理解這個迴圈至關重要,因為每項功能——personality、記憶、skills、壓縮、備援——都掛接在其中某個階段。當您閱讀某個設定鍵而想知道它的用途時,答案通常是「它是上述迴圈第 1、2、3 或 4 階段的調節旋鈕」。

跨平台通用核心。 單一 AIAgent 類別同時服務 CLI、gateway、ACP、批次與 API 伺服器。平台差異存在於進入點,而非代理程式本身。3 這就是為什麼相同的斜線指令在終端機和 Telegram 中都能運作——它們從 hermes_cli/commands.py 中共用的 COMMAND_REGISTRY 進行分派。6

目錄結構即是系統。 Hermes 將所有資料儲存於 ~/.hermes/(若使用非預設 profile 則為 $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 存在哪裡」,答案就在這些檔案之中。


安裝

單行安裝指令適用於 95% 的使用者。它會處理 Python、uv、Node.js、ripgrep、ffmpeg、儲存庫複製、虛擬環境,以及全域 hermes 指令。7

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

支援 Linux、macOS、WSL2 與 Android/Termux(安裝程式會自動偵測 Termux 並切換至經過測試的 Android 套件包)。7 原生 Windows 不受支援——請安裝 WSL2 後在其中執行上述指令。7

安裝完成後:

source ~/.bashrc    # or ~/.zshrc
hermes              # Start chatting

唯一的前置需求是 git。安裝程式會透過 uv 自動配置 Python 3.11(無需 sudo)、Node.js v22(用於瀏覽器自動化與 WhatsApp 橋接)、ripgrep 與 ffmpeg。7

驗證安裝

hermes version      # Check version
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 版本、特定擴充套件、Nix/NixOS 整合——上游安裝指南中有逐步說明的手動流程。7 以下是可透過 uv pip install -e ".[<extras>]" 組合使用的關鍵選用擴充套件:

擴充套件 新增功能
all 以下所有項目
messaging Telegram 與 Discord gateway
cron Cron 表達式解析
cli 設定精靈的終端機選單介面
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 套件包(包含 croncliptymcphonchoacp

Termux 安裝指令有所不同——使用 pip 搭配約束檔案,而非 uv pip

python -m pip install -e ".[termux]" -c constraints-termux.txt

這是因為在 Android 上使用 .[all] 會透過 voice 擴充套件拉入 faster-whisper,而其依賴的 ctranslate2 輪子並未發布 Android 版本。7


驗證與供應商

Hermes 支援約 19 個一級供應商及自訂端點,並提供三種不同的驗證路徑。以下是完整的驗證面,依路徑分類,方便您找到符合手邊資源的方式。

三種驗證路徑

Hermes 中的每個供應商都符合以下三種驗證模式之一:

路徑 1 — .env 中的 API key。 將金鑰放入 ~/.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

路徑 2 — 透過 hermes modelhermes 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.yaml2

完整供應商矩陣

以下是一級供應商的完整清單,附上各自的精確設定流程。2

供應商 驗證路徑 設定
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 key hermes model(優先使用 Claude Code 憑證),或 ANTHROPIC_API_KEY,或 ANTHROPIC_TOKEN setup-token
OpenRouter API key ~/.hermes/.env 中的 OPENROUTER_API_KEY
AI Gateway (Vercel) API key ~/.hermes/.env 中的 AI_GATEWAY_API_KEY(provider: ai-gateway
z.ai / GLM (ZhipuAI) API key ~/.hermes/.env 中的 GLM_API_KEY(provider: zai
Kimi / Moonshot API key ~/.hermes/.env 中的 KIMI_API_KEY(provider: kimi-coding
MiniMax(全球) API key ~/.hermes/.env 中的 MINIMAX_API_KEY(provider: minimax
MiniMax China API key ~/.hermes/.env 中的 MINIMAX_CN_API_KEY(provider: minimax-cn
Alibaba Cloud (Qwen) API key ~/.hermes/.env 中的 DASHSCOPE_API_KEY(provider: alibaba,別名:dashscopeqwen
Kilo Code API key ~/.hermes/.env 中的 KILOCODE_API_KEY(provider: kilocode
OpenCode Zen API key ~/.hermes/.env 中的 OPENCODE_ZEN_API_KEY(provider: opencode-zen
OpenCode Go API key ~/.hermes/.env 中的 OPENCODE_GO_API_KEY(provider: opencode-go
DeepSeek API key ~/.hermes/.env 中的 DEEPSEEK_API_KEY(provider: deepseek
Hugging Face API key ~/.hermes/.env 中的 HF_TOKEN(provider: huggingface,別名:hf
Google / Gemini API key ~/.hermes/.env 中的 GOOGLE_API_KEYGEMINI_API_KEY(provider: gemini
xAI (Grok) 原生供應商 一級供應商,提供直接的 API 存取與模型目錄(v0.9.0+)。透過 x-grok-conv-id 標頭自動啟用提示快取。216
xAI Custom Voices API key 支援聲音複製的 TTS 供應商。v0.13.0 新增;於 config.yamltts: 下設定,並在 .env 中提供 xAI 金鑰。18
Xiaomi MiMo 原生供應商 一級供應商,含設定精靈與模型目錄。Nous Portal 上提供免費的 MiMo v2 Pro 用於輔助任務(v0.9.0+)。1615
Google AI Studio API key ~/.hermes/.env 中的 GOOGLE_API_KEYGEMINI_API_KEY。透過 models.dev 註冊表自動偵測上下文長度,直接存取 Gemini(v0.8.0+)。15
Qwen OAuth 支援 portal 請求的 OAuth 供應商(v0.8.0+)。15
自訂端點 config.yaml hermes model →「Custom endpoint」(儲存於 config.yaml

Anthropic:三種驗證方式

Anthropic 獨立成節,因為 Hermes 支援三種不同的方式進入 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 自身的憑證儲存,而非將權杖複製到 ~/.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:兩種模式

Copilot 支援兩種模式:直接 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 裝置碼登入

權杖類型很重要。 Copilot API 不支援傳統的個人存取權杖(ghp_*)。支援的類型包括 OAuth 權杖(gho_*)、細粒度 PAT(github_pat_*,需具備 Copilot Requests 權限),以及 GitHub App 權杖(ghu_*)。如果 gh auth token 回傳 ghp_* 權杖,請改用 hermes model 透過 OAuth 驗證。2

中國 AI 供應商(一級支援)

Hermes 內建支援 z.ai/GLM、Kimi/Moonshot、MiniMax(全球與中國端點),以及 Alibaba Cloud,並提供專屬的供應商 ID。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_URLKIMI_BASE_URLMINIMAX_BASE_URLMINIMAX_CN_BASE_URLDASHSCOPE_BASE_URL 環境變數覆寫基底 URL。2

Z.AI 自動偵測端點。 使用 z.ai/GLM 供應商時,Hermes 會探測多個端點(全球、中國、coding 變體),找到接受您 API 金鑰的端點。可運作的端點會自動快取 — 多數使用者無需設定 GLM_BASE_URL2

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

憑證池是您針對同一供應商輪換多個 API 金鑰或 OAuth 權杖的方式 — 在不修改程式碼的情況下,將速率限制分散到多個金鑰上。6 舊版的 hermes login / hermes logout 指令已移除;請改用 hermes auth6

自訂與自架端點

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,這是 main-model、provider 與 base URL 的單一可信來源。2 舊版環境變數 OPENAI_BASE_URLLLM_MODEL 不再用於 main-model 設定 — 請使用 hermes model 或直接編輯 config.yaml2OPENAI_BASE_URLOPENAI_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,若僅載入單一模型則自動選取 — 對執行單一模型的本機伺服器很實用。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 的預設上下文長度極低(24GB VRAM 以下為 4,096 tokens)。您必須透過 OLLAMA_CONTEXT_LENGTH 或 Modelfile 提高它 — OpenAI 相容的 API 接受來自客戶端的上下文長度,因此 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

工具呼叫需要 --enable-auto-tool-choice--tool-call-parser <name>。支援的解析器:hermes(Qwen 2.5、Hermes 2/3)、llama3_jsonmistraldeepseek_v3deepseek_v31xlampythonic。少了這些旗標,工具呼叫會以純文字形式傳回。2

SGLang — 透過 RadixAttention 達成 KV 快取重用的快速服務:

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_tokens2

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

--jinja 是工具呼叫的必要參數。 少了它,llama-server 會完全忽略 tools 參數,而模型會嘗試在回應文字中以撰寫 JSON 的方式呼叫工具 — Hermes 無法將其解析為實際的工具呼叫。2

LM Studio — 含 GUI 的桌面應用程式:

從 LM Studio 應用程式啟動伺服器(Developer 標籤 → Start Server),或透過 CLI:lms server start(在 port 1234 啟動)與 lms load qwen2.5-coder --context-length 327682 然後將 hermes model 指向 http://localhost:1234/v1

LM Studio 關鍵陷阱: LM Studio 從模型中繼資料讀取上下文長度,但許多 GGUF 模型回報的預設值為 2048 或 4096。請務必在 LM Studio 模型設定中明確設定上下文長度 — 點擊模型選擇器旁的齒輪圖示,將「Context Length」設為至少 16384(建議 32768),然後重新載入模型。2

具名自訂供應商

如果您需要處理多個自訂端點(例如本機開發伺服器與遠端 GPU 伺服器),可在 config.yaml 中將其定義為具名自訂供應商: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

接著在會話中以三層語法切換:

/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4

您也可以從互動式 hermes model 選單中選取具名自訂供應商。2

可插拔供應商架構(v0.13.0+)

v0.13.0 推出了 ProviderProfile ABC 加上 plugins/model-providers/ 目錄,讓第三方推論供應商無需修改核心即可加入。18 若供應商支援 OpenAI、Anthropic 或 Codex 相容的 API 模式,您可以實作 ProviderProfile 子類別來宣告驗證路徑、基底 URL、模型目錄與快取標頭;Hermes 會透過內建供應商使用的相同 runtime_provider.py 路徑解析它。這是 v0.13.0 供應商擴充背後的架構轉變:與其修改核心程式碼來新增供應商,您只需出貨一個外掛。

上下文長度偵測

依上游文件,有兩個設定常被混淆:2

  • context_length — 整體上下文視窗(輸入 + 輸出 token 預算的總和,例如 Claude Opus 4.7 為 1,000,000,Sonnet 4.6 為 200,000)。Hermes 用此判斷何時壓縮歷史。
  • model.max_tokens — 輸出上限(模型在單次回應中可生成的最大 token 數)。與歷史長度無關。

當自動偵測得出的視窗大小錯誤時,請設定 context_length

model:
  default: "qwen3.5:9b"
  base_url: "http://localhost:8080/v1"
  context_length: 131072      # tokens

Hermes 使用多來源解析鏈來偵測上下文視窗:設定覆寫 → 自訂供應商每模型設定 → 持久快取 → 端點 /models → Anthropic /v1/models → OpenRouter API → Nous Portal → models.dev(社群維護的 3800+ 模型註冊表)→ 後備預設值(128K)。2 系統具備供應商感知能力,因此同一模型依服務者不同,可能有不同的上下文限制(例如,claude-opus-4.6 在 Anthropic 直連時為 1M,但在 GitHub Copilot 上為 128K)。2

供應商輪換與後備

憑證池。 當您針對同一供應商擁有多組 API 金鑰時,可透過 hermes auth 設定輪換策略。這就是您將速率限制分散至多組金鑰的方式。6

後備模型。 設定備援的 provider:model,讓 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

後備機制會在會話中切換 model 與 provider 而不遺失對話。每個會話最多觸發一次。2 後備支援的供應商:openrouternousopenai-codexcopilotcopilot-acpanthropichuggingfacezaikimi-codingminimaxminimax-cndeepseekai-gatewayopencode-zenopencode-gokilocodealibabacustom2

輔助模型

Hermes 為周邊任務使用輕量級「輔助」模型:圖像分析、網頁摘要、瀏覽器螢幕截圖分析、危險指令核可分類、上下文壓縮、會話搜尋摘要、技能比對、MCP 工具派送,以及記憶體 flush。4 預設透過自動偵測(OpenRouter → Nous → Codex)使用 Gemini Flash。

您可以為每個輔助任務設定要使用哪個模型與供應商。 每個輔助插槽都使用相同的三個旋鈕:providermodelbase_url4

auxiliary:
  vision:
    provider: "auto"                # "auto", "openrouter", "nous", "codex", "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: 30
    download_timeout: 30
  web_extract:
    provider: "auto"
    model: ""
    timeout: 360
  approval:
    provider: "auto"
    model: ""
    timeout: 30
  compression:
    timeout: 120
  session_search: { provider: "auto", model: "", timeout: 30 }
  skills_hub:    { provider: "auto", model: "", timeout: 30 }
  mcp:           { provider: "auto", model: "", timeout: 30 }
  flush_memories:{ provider: "auto", model: "", timeout: 30 }

"main" 供應商選項表示「使用我的主 agent 所使用的供應商」 — auxiliary:compression:fallback_model: 設定中有效。它在頂層 model.provider 設定中無效。如果您將自訂的 OpenAI 相容端點作為主模型,請在 model: 區段中設定 provider: custom4

為什麼這很重要: 若您只設定了 Anthropic OAuth(沒有 OpenRouter 金鑰),則您的 vision、網頁摘要與壓縮會降級或失敗,因為預設的輔助後備鏈會先嘗試 OpenRouter。請為輔助任務新增 OPENROUTER_API_KEY,或重新設定每個輔助插槽以使用您的主供應商:

auxiliary:
  vision:
    provider: "main"
  web_extract:
    provider: "main"

這是新進 Hermes 使用者最常遇到的「為什麼某些功能默默失效」陷阱。

設定系統

Hermes 採用分層的設定系統。理解優先順序至關重要,因為較高層會覆寫較低層的設定,而其中一層是您在 config.yaml 中看不到的全域 provider 註冊表。

設定檔配置

根據官方文件,以下是構成 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 ——當兩者皆設定時,非 secret 設定以 config.yaml 為準。4 規則如下: - Secrets(API keys、bot tokens、密碼)→ .env - 其他所有設定(model、terminal backend、壓縮設定、memory 限制、toolsets)→ config.yaml

Secrets 可在 config.yaml 中透過 shell 風格的字串插值引用: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 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 config checkhermes config migrate 是每次執行 hermes update 之後應該執行的指令——它們會找出您的設定檔尚未包含的新設定選項。6

設定優先順序

Hermes 會從多個來源載入設定。當多個來源設定相同的值時,優先順序較高者勝出:4

  1. CLI arguments —— hermes chat --model anthropic/claude-sonnet-4(單次執行的覆寫)
  2. 環境變數 —— 在程序啟動時套用
  3. config.yaml —— 主要設定檔
  4. .env —— 僅限 secrets
  5. 內建預設值 —— 當沒有其他來源設定值時套用

CLI flags 對於單次執行永遠優先。config.yaml 則是長期的真實來源。

在地化(v0.13.0+)

v0.13.0 為 CLI 與 gateway 訊息新增7 種語言:簡體中文、日文、德文、西班牙文、法文、烏克蘭文與土耳其文。18 目前文件僅在地化為 zh-Hans。Locale 會從 LC_ALL / LANG 環境變數或 config.yaml 中明確的 locale: 鍵解析。英文仍然是預設語言,也是任何尚未翻譯字串的真實來源。

Profiles —— 多個隔離的 Hermes 實例

Profiles 讓您擁有多個隔離的 Hermes 實例,每個都有自己的設定、sessions、skills、memory 與 gateway PID。這就是您能夠同時並行執行「work Hermes」與「personal 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


CLI 指令

本節為頂層 CLI 指令的實務參考手冊。如需以原始碼為準的權威參考,請參閱上游的 CLI Commands Reference6

全域選項

hermes [global-options] <command> [subcommand/options]
選項 說明
--version, -V 顯示版本並退出
--profile <name>, -p <name> 選擇要使用的 Hermes profile
--resume <session>, -r <session> 透過 ID 或標題恢復工作階段
--continue [name], -c [name] 恢復最近的工作階段(或依標題匹配)
--worktree, -w 在隔離的 git worktree 中啟動
--yolo 跳過危險指令的確認提示
--pass-session-id 在代理的系統提示詞中包含工作階段 ID

頂層指令

指令 用途
hermes chat 互動式或單次對話
hermes model 互動式選擇預設提供者與模型
hermes gateway 執行或管理訊息閘道器
hermes setup 互動式設定精靈
hermes auth 管理憑證——新增、列出、移除、重設、設定策略
hermes status 顯示代理、驗證與平台狀態
hermes cron 檢視並觸發 cron 排程器
hermes webhook 管理動態 webhook 訂閱
hermes doctor 診斷設定與相依性問題
hermes dump 產生可複製貼上的設定摘要,用於支援與除錯
hermes logs 檢視、追蹤及篩選代理/閘道器/錯誤日誌
hermes config 顯示、編輯、遷移、查詢設定
hermes pairing 核准或撤銷訊息配對碼
hermes skills 瀏覽、安裝、發布、稽核 skill
hermes honcho 管理 Honcho 跨工作階段記憶
hermes memory 設定外部記憶提供者
hermes acp 以 ACP 伺服器模式執行 Hermes(編輯器整合)
hermes mcp 管理 MCP 伺服器設定;以 MCP 伺服器模式執行 Hermes
hermes plugins 管理外掛程式
hermes tools 依平台設定啟用的工具
hermes sessions 瀏覽、匯出、清理、刪除工作階段
hermes insights 顯示 token 用量/費用/活動分析
hermes claw OpenClaw 遷移輔助工具
hermes profile 管理 profile(多組隔離實例)
hermes completion 輸出 shell 自動補全腳本(bash/zsh)
hermes whatsapp 設定並配對 WhatsApp 橋接器
hermes version 顯示版本資訊
hermes update 拉取最新程式碼並重新安裝相依套件
hermes uninstall 從系統中移除 Hermes(--full 會一併刪除設定與資料)
hermes backup 完整備份設定、工作階段、skill 與記憶(v0.9.0+)16
hermes import 從備份封存檔還原——可用於跨機器遷移或回滾(v0.9.0+)16
hermes dashboard 啟動本機 Web 儀表板,透過瀏覽器管理代理(v0.9.0+)16
hermes debug share 上傳完整除錯報告至 pastebin,方便疑難排解時分享(v0.9.0+)16

hermes chat——主要進入點

不帶任何參數直接執行 hermes 即進入互動式對話。hermes chat 是帶選項的明確形式:6

hermes chat -q "Summarize the latest PRs"           # One-shot, non-interactive
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 "..." 單次非互動式提示
-m, --model <model> 覆寫此次執行的模型
-t, --toolsets <csv> 啟用以逗號分隔的 toolset 集合
--provider <provider> 強制指定提供者(參閱完整列表
-s, --skills <name> 為此工作階段預載一或多個 skill
-v, --verbose 詳細輸出
-Q, --quiet 程式化模式(無橫幅、進度指示器、預覽)
--resume <session> 直接從 chat 恢復工作階段
--worktree 建立隔離的 git worktree
--checkpoints 在執行破壞性變更前啟用檔案系統檢查點
--yolo 跳過確認提示
--source <tag> 工作階段來源標籤(預設:cli;整合用途請設為 tool
--max-turns <N> 每輪最大工具呼叫迭代次數(預設:90)

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 更為強大,因為它支援同時依層級、工作階段 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——所有代理活動(API 呼叫、工具調度、工作階段生命週期,INFO 以上) - errors.log——僅包含警告與錯誤(agent.log 的篩選子集) - gateway.log——訊息閘道器活動(平台連線、調度、webhooks)

日誌輪替由 Python 的 RotatingFileHandler 自動處理——留意 agent.log.1agent.log.2 等檔案。6

hermes doctor——診斷工具

hermes doctor [--fix] 是出現問題時應優先執行的指令。它會檢查設定有效性、相依套件是否存在、API 金鑰可用性、服務狀態,並可透過 --fix 嘗試自動修復。6

若需與他人分享診斷資訊,請使用 hermes dump——它會產生一份精簡的純文字摘要,其中 API 金鑰已遮蔽處理,可直接貼入 GitHub issue 或 Discord 討論串。6


斜線指令

斜線指令在使用中的聊天工作階段(CLI 或訊息平台)中執行。它們由 hermes_cli/commands.py 中共用的 COMMAND_REGISTRY 進行派發,這就是為什麼大多數指令在不同介面上的運作方式完全相同。9

工作階段控制

指令 說明
/new(別名 /reset 開始新的工作階段
/clear 清除畫面並開始新的工作階段
/history 顯示對話歷史
/save 儲存目前的對話
/retry 重試上一則訊息
/undo 移除上一輪使用者/助理的對話
/title <name> 為目前的工作階段設定標題
/compress 手動壓縮對話脈絡
/rollback [number] 列出或還原檔案系統 checkpoint
/stop 終止所有執行中的背景處理程序
/queue <prompt> 將提示詞排入下一輪。注意:/q 同時被 /queue/quit 註冊,最後註冊者勝出,實際上 /q 會解析為 /quit——請務必明確輸入 /queue9
/resume [name] 恢復先前命名過的工作階段
/statusbar(別名 /sb 切換脈絡/模型狀態列
/background <prompt>(別名 /bg 在獨立的背景工作階段中執行提示詞
/btw <question> 暫時性的旁支提問(不使用工具,不會保存)
/plan [request] 載入內建的 plan skill 以撰寫計畫而非直接執行
/branch [name](別名 /fork 分支目前的工作階段
/goal <target> 將代理鎖定在目標上,使其跨輪次保持專注。將 Ralph-loop 模式提升為一級原語。可設定回合預算。v0.13.0 新增。18

設定與模型

指令 說明
/config 顯示目前的設定
/model [model-name] 顯示或變更目前的模型
/provider 顯示可用的 provider 與目前的 provider
/personality [name] 設定 personality 套用
/verbose 循環切換工具進度顯示
/reasoning 管理推理力度與顯示方式
/skin 顯示或變更顯示 skin/主題
/voice [on\|off\|tts\|status] 切換 CLI 語音模式
/yolo 切換 YOLO 模式(跳過核准提示)
/fast 切換 Fast Mode——OpenAI 與 Anthropic 模型的優先處理(v0.9.0+)16
/debug 跨所有平台的快速診斷(v0.9.0+)16

/model 指令是工作階段中切換 provider 的主力: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

工具、Skills 與資訊

指令 說明
/tools [list\|disable\|enable] [name...] 管理目前工作階段的工具
/toolsets 列出可用的 toolset
/browser [connect\|disconnect\|status] 管理本機 Chrome CDP 連線
/skills 搜尋、安裝、檢視或管理 skill
/cron 管理排程任務
/reload-mcp 從 config.yaml 重新載入 MCP 伺服器
/plugins 列出已安裝的 plugin
/help 顯示所有指令
/usage 顯示 token 用量、成本與時長
/insights 顯示使用情況分析(最近 30 天)
/platforms 顯示訊息平台狀態
/profile 顯示目前作用中的 profile 名稱與 home

動態 skill 斜線指令

每個已安裝的 skill 都會自動以斜線指令的形式提供: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

也可以在 config.yaml 中定義快速指令,將短名稱對映到較長的提示詞: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。當前綴具有歧義時,註冊順序中第一個註冊者勝出。完整指令名稱與已註冊的別名永遠優先於前綴比對。9

訊息平台專屬指令

部分指令僅在訊息平台上運作(Telegram、Discord、Slack、WhatsApp、Signal、Email、Home Assistant):9

  • /status——顯示工作階段資訊
  • /sethome(別名 /set-home)——將目前的聊天標記為平台 home
  • /approve [session|always]——核准擱置中的危險指令
  • /deny——拒絕擱置中的危險指令
  • /update——將 Hermes Agent 更新到最新版本
  • /commands [page]——瀏覽所有指令與 skill(分頁顯示)

而下列指令僅限 CLI:/skin/tools/toolsets/browser/config/cron/skills/platforms/paste/statusbar/plugins9

工具與工具集

Hermes 內建廣泛的工具註冊表,涵蓋網路搜尋、瀏覽器自動化、終端執行、檔案編輯、記憶體、委派、RL 訓練、訊息傳遞、Home Assistant 整合等諸多功能。10 工具被組織成邏輯化的工具集(toolsets),可依平台啟用或停用。

高階分類

分類 範例 說明
Web web_search, web_extract 搜尋網路並擷取頁面內容
終端與檔案 terminal, process, read_file, patch 執行指令並操作檔案
瀏覽器 browser_navigate, browser_snapshot, browser_vision 透過文字與視覺進行互動式瀏覽器自動化
媒體 vision_analyze, video_analyze, image_generate, text_to_speech 多模態分析與生成。video_analyze 以 Gemini 為優先,並可擴充支援相容的多模態 provider(v0.13.0+)。18
代理協調 todo, clarify, execute_code, delegate_task 規劃、釐清、程式碼執行、子代理委派
記憶與檢索 memory, session_search 持久化記憶體 + 工作階段搜尋
自動化與傳遞 cronjob, send_message 排程任務、外送訊息
整合 ha_*、MCP 工具、rl_* Home Assistant、MCP、RL 訓練

常見的 toolset 名稱包括 webterminalfilebrowservisionimage_genmoaskillsttstodomemorysession_searchcronjobcode_executiondelegationclarifyhomeassistantrl10

管理工具

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

終端後端

terminal 工具可在六種不同環境中執行指令:10

後端 使用情境
local 在您的機器上執行(預設)— 開發、可信任的任務
docker 隔離容器 — 安全性、可重現性
ssh 遠端伺服器 — 沙箱化,讓代理遠離自身的程式碼
singularity HPC 容器 — 叢集運算、無 root
modal 無伺服器雲端執行
daytona 雲端沙箱工作區 — 持久化遠端開發環境

可透過 hermes config set terminal.backend <name> 切換後端,或在 config.yaml 中設定:

terminal:
  backend: docker      # or: local, ssh, singularity, modal, daytona
  cwd: "."             # Working directory
  timeout: 180         # Command timeout in seconds

SSH 後端(基於安全性建議使用 — 代理無法修改自身程式碼):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

所有容器後端皆以強化的安全配置執行:唯讀 root 檔案系統(Docker)、捨棄除 DAC_OVERRIDECHOWNFOWNER 以外的所有 Linux capabilities、不允許權限提升、PID 限制(256 個程序)、完整的命名空間隔離,並透過 volumes 提供持久化工作區。10

背景程序

terminal 工具支援背景執行,並提供明確的程序管理: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 工具。10

Sudo

若指令需要 sudo,Hermes 會提示您輸入密碼(於工作階段中快取)。或在 ~/.hermes/.env 中設定 SUDO_PASSWORD10


多代理 Kanban(v0.13.0+)

v0.13.0 將多代理協作提升為一級原語:持久化 Kanban 看板,可跨代理、跨重啟追蹤任務、狀態與工作者身分。18 這個看板讓 Hermes 工作者群實際完成工作,而不會卡在死掉的交接上。

機制 作用
Heartbeats 每個工作者擁有任務時會持續發出心跳。錯失心跳時,該工作者會被標記為可疑,任務則釋出供他人接手。
Reclaim 不同的工作者可接手被遺棄的任務,並完整繼承任務狀態與先前的部分輸出。
殭屍偵測 未標記任務完成即退出的工作者,會被自動封鎖以禁止認領新工作,避免死掉的身分在群中累積。
幻覺閘門 未通過閘門的輸出會將任務退回看板並註明原因,而非被標記為完成。
每任務 max_retries 對已知脆弱的任務覆寫預設的重試額度。
多專案看板 單一 Hermes home 可承載多個獨立看板。

Kanban 看板與 /goal(鎖定目標的 Ralph loop)在目標端自然搭配,並與既有的 delegate_task 工具在生成語意上配合無間。最終形成的群協作模式是:每個代理共用一份單一事實來源,清楚指出下一步該做什麼、由誰執行,以及哪裡卡住了。


Skills 系統

Skills 是代理可在需要時載入的隨選知識文件。它們遵循漸進式揭露(progressive disclosure)模式以盡量減少 token 用量,並相容於 agentskills.io 開放標準。11

所有 skills 皆位於 ~/.hermes/skills/ — 此為主要目錄與單一事實來源。全新安裝時,內建 skills 會從 repo 複製過來。透過 hub 安裝及由代理建立的 skills 也都置於此處。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

## 驗證
如何確認其運作正常。

條件式啟用

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

從線上登錄處瀏覽、搜尋、安裝及管理 skill:611

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(builtin 信任等級)
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 市集
claude-marketplace Claude 相容的外掛/市集資訊清單
lobehub LobeHub 代理程式目錄轉換

預設 GitHub tap(無需設定即可瀏覽):openai/skillsanthropics/skillsVoltAgent/awesome-agent-skillsgarrytan/gstack11

安全掃描

所有從 hub 安裝的 skill 都會經過安全掃描器,檢查資料外洩、提示注入、破壞性指令、供應鏈訊號及其他威脅。11

信任等級:11

等級 來源 政策
builtin 隨 Hermes 一同推出 永遠受信任
official 儲存庫中的 optional-skills/ builtin 信任等級,無第三方警告
trusted 受信任的登錄處(openai/skillsanthropics/skills) 較寬鬆的政策
community 其他所有來源 非危險的發現可透過 --force 覆寫;dangerous 判定仍會被封鎖

--force 可覆寫 community skill 的非危險政策封鎖。它不會覆寫 dangerous 的掃描判定。11

外部 Skill 目錄

您可以讓 Hermes 指向其他 skill 目錄,與本機目錄一同掃描:11

skills:
  external_dirs:
    - ~/.agents/skills
    - /home/shared/team-skills
    - ${SKILLS_REPO}/skills

路徑支援 ~ 展開及 ${VAR} 環境變數替換。外部目錄為唯讀——當代理程式建立或編輯 skill 時,一律寫入 ~/.hermes/skills/。若兩處都有相同 skill 名稱,以本機優先。11


持久性記憶

Hermes 擁有跨工作階段保留的有界、精選記憶。代理程式的記憶由兩個檔案組成,兩者皆儲存於 ~/.hermes/memories/:12

檔案 用途 字元上限
MEMORY.md 代理程式的個人筆記——環境事實、慣例、學到的事物 2,200 字元(約 800 token)
USER.md 使用者個人檔案——偏好、溝通風格、期望 1,375 字元(約 500 token)

兩者都會在工作階段開始時以凍結快照形式注入系統提示中。代理程式透過 memory 工具管理自己的記憶——addreplaceremove12

凍結快照模式:系統提示注入在工作階段開始時擷取一次,且不會在工作階段中途變更。這是刻意的設計——可保留 LLM 的前綴快取以維持效能。工作階段中所做的變更會立即持久化到磁碟,但要到下一個工作階段才會出現在系統提示中。12

該儲存什麼

儲存這些(代理程式會主動進行):12 - 使用者偏好:「我偏好 TypeScript 勝過 JavaScript」→ user - 環境事實:「此伺服器執行 Debian 12 並搭配 PostgreSQL 16」→ memory - 修正:「不要對 Docker 指令使用 sudo,使用者已在 docker 群組中」→ memory - 慣例:「專案使用 tab、120 字元行寬、Google 風格 docstring」→ memory - 已完成的工作:「於 2026 年 1 月 15 日將資料庫從 MySQL 遷移至 PostgreSQL」→ memory

跳過這些:12 - 瑣碎/顯而易見的資訊 - 容易重新發現的事實 - 原始資料傾印(對記憶而言過大) - 工作階段特有的短暫資訊 - 已存在於上下文檔案中的資訊

工作階段搜尋

除了 MEMORY.mdUSER.md 之外,代理程式還可透過 session_search 工具搜尋過往對話。所有 CLI 與訊息工作階段都儲存在 SQLite(~/.hermes/state.db)中,並具備 FTS5 全文搜尋功能。查詢會傳回相關的過往對話,並以 Gemini Flash 進行摘要。12

功能 持久性記憶 工作階段搜尋
容量 總計約 1,300 token 無上限(所有工作階段)
速度 即時(於系統提示中) 需要搜尋 + LLM 摘要
使用情境 永遠可用的關鍵事實 尋找特定的過往對話
管理方式 由代理程式手動精選 自動——所有工作階段皆儲存
Token 成本 每個工作階段固定(約 1,300 token) 依需求

外部記憶提供者

對於超越 MEMORY.mdUSER.md 的更深度持久性記憶,Hermes 隨附八個外部記憶提供者外掛:Honcho、OpenViking、Mem0、Hindsight、Holographic、RetainDB、ByteRover 及 Supermemory12

外部提供者會與內建記憶並行運作(絕不取代),並新增知識圖譜、語意搜尋、自動事實擷取及跨工作階段使用者建模等功能: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)

同一時間僅能啟用一個外部提供者。內建記憶永遠處於啟用狀態。6

工作階段自動恢復(v0.13.0+)

v0.13.0 讓代理程式中斷後得以延續。gateway 在重啟後會自動恢復中斷的工作階段;/update 重啟可在升級過程中保留工作階段狀態;開發過程中的原始檔重新載入會讓進行中的工作階段保持存活,而非強制建立新的工作階段。18 實際效果:長時間執行的 gateway 工作及 cron 驅動的任務,在程序重啟時不再重設其上下文視窗。

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(或自訂設定檔的$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.md13

內建個性

Hermes內建多種個性,可以透過/personality切換:13

名稱 描述
helpful 友善的通用型助理
concise 簡潔扼要的回應
technical 詳盡準確的技術專家
creative 創新跳脫框架的思維
teacher 耐心的教育者,提供清晰範例
kawaii 可愛的表達方式、閃亮符號、滿滿熱情
catgirl 帶有貓咪表情的Neko-chan
pirate Captain 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-04-16)開始,付費的Nous Portal訂閱者可透過現有的Portal憑證,獲得對精選工具集的託管存取權限——無需額外管理API金鑰。20Hermes CLI本身仍維持MIT授權並完全開源。改變的是您的Portal驗證現在不只解鎖模型推論。

Gateway包含哪些工具

工具 提供者 使用情境
網頁搜尋 Firecrawl 為需要新鮮資訊的代理提供檢索功能
圖像生成 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 subscribehermes login --portal命令。訂閱狀態會自動從您hermes auth中現有的Portal OAuth憑證偵測。

定價與存取權

定價與方案名稱發布在Nous Portal定價頁面(https://portal.nousresearch.com/pricing)。本指南不列舉方案層級,因為這是Portal產品的責任,而非Hermes CLI的責任,且方案會獨立於Hermes版本變動。請至https://portal.nousresearch.com/註冊,並查看定價頁面取得當前方案資訊。

棄用通知

  • HERMES_ENABLE_NOUS_MANAGED_TOOLS環境變數在v0.10.0中已移除。託管工具現在透過逐工具的use_gateway設定欄位啟用,並由您的Portal訂閱狀態控制。20

定位:這個版本不是什麼

Hermes Agent CLI並未被訂閱機制鎖住。專案仍維持MIT授權,所有核心功能(CLI、skills、記憶、訊息gateway、cron、MCP、本地儀表板、針對每個提供者的BYOK)都能完整運作,無需付費給任何人。v0.10.0為已付費訂閱Nous Portal的使用者新增了便捷路徑——它並未從免費路徑中移除任何功能。


訊息Gateway

Hermes可以作為長時間執行的gateway程序運行,在單一gateway程序中連接20個訊息平台:Telegram、Discord、Slack、WhatsApp、Signal、SMS、Email、Home Assistant、Mattermost、Matrix、DingTalk、Feishu/Lark、WeCom、Weixin(WeChat)、BlueBubbles(iMessage)、QQBot、Microsoft Teams、Tencent Yuanbao、Google Chat,以及通用的Webhook適配器。3191718v0.9.0透過BlueBubbles新增iMessage支援(自動webhook註冊、設定精靈、當機韌性),並透過iLink Bot API新增原生WeChat支援,搭配企業應用的WeCom回呼模式。16v0.11.0新增QQBot。19v0.12.0新增Microsoft Teams與Tencent Yuanbao。17v0.13.0新增Google Chat,成為第20個平台,沿用相同的可插拔適配器架構;IRC與Microsoft Teams也已遷移至新的適配器模式,搭配通用的env_enablement_fn / cron_deliver_env_var外掛掛鉤。18

設定

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

使用者授權與配對

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


排程任務(Cron)

Hermes擁有一流的cron系統,任務本身是代理任務,而非shell命令。每個排程任務都會透過全新的AIAgent執行,搭配設定好的提示、選擇性附加的skills,並將結果傳遞至任何平台: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


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

或於 config.yaml 中手動設定:14

mcp_servers:
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"

作為伺服器 — 將 Hermes 對話開放給其他代理使用:

hermes mcp serve
hermes mcp serve -v    # Verbose

上下文壓縮

Hermes 會自動壓縮較長的對話,使其維持在模型上下文視窗的範圍內。壓縮摘要器是獨立的 LLM 呼叫 — 您可將其指向任一供應商或端點。4

compression:
  enabled: true
  threshold: 0.50                           # Compress at this % of context limit
  target_ratio: 0.20                        # Fraction to preserve as recent tail
  protect_last_n: 20                        # Min recent messages to keep uncompressed
  summary_model: "google/gemini-3-flash-preview"
  summary_provider: "auto"                  # "auto", "openrouter", "nous", "codex", "main", etc.
  summary_base_url: null                    # Custom OpenAI-compatible endpoint

供應商選項:4

summary_provider summary_base_url 結果
auto (預設) 未設定 自動偵測最佳可用供應商
nous / openrouter / 其他 未設定 強制使用該供應商,並採用其驗證
任意 已設定 直接使用自訂端點(忽略供應商設定)

summary_model 所支援的上下文長度至少須與主模型相當,因為它會接收對話中段的完整內容進行壓縮。4

預算壓力警告

當代理執行包含眾多工具呼叫的複雜任務時,可能在不知不覺中耗盡其迭代預算(預設:90 輪)。預算壓力機制會自動向模型發出警告:4

門檻 等級 模型看到的內容
70% 注意 [BUDGET: 63/90. 27 iterations left. Start consolidating.]
90% 警告 [BUDGET WARNING: 81/90. Only 9 left. Respond NOW.]

串流逾時

LLM 串流連線有兩層逾時設定,並會針對本地供應商(localhost、LAN IP)自動調整:4

逾時類型 預設值 本地供應商 環境變數
Socket 讀取逾時 120 秒 自動提高至 1800 秒 HERMES_STREAM_READ_TIMEOUT
串流停滯偵測 180 秒 自動停用 HERMES_STREAM_STALE_TIMEOUT
API 呼叫(非串流) 1800 秒 不變 HERMES_API_TIMEOUT

Socket 讀取逾時對本地端點提高至 30 分鐘,因為本地 LLM 在大型上下文上產生第一個 token 之前,可能需要花費數分鐘進行 prefill。4


本地網頁儀表板 (v0.9.0+)

一個瀏覽器介面的儀表板,可在本地端管理您的 Hermes Agent。無須觸碰設定檔或終端機,即可設定組態、監控工作階段、瀏覽 skills,以及管理 gateway。16 透過 hermes dashboard 啟動。對於偏好 GUI 的新使用者而言,這是最便捷的入門途徑。

背景程序監控 (v0.9.0+)

watch_patterns 讓您可設定模式以監控背景程序的輸出,並在符合條件時即時收到通知。16 不論是監控錯誤、等待特定事件(如「listening on port」),或觀察建置記錄 — 全程無須輪詢。再結合 v0.8.0 的 notify_on_complete(於背景任務完成時發出通知),Hermes 現已具備完整的背景程序可觀測性層。15

可插拔上下文引擎 (v0.9.0+)

上下文管理現已透過 hermes plugins 成為可插拔的擴充點。您可換用自訂的 context engine,以掌控代理在每一輪所看到的內容 — 包括過濾、摘要,或注入特定領域的上下文。16 這項機制將上下文策略與核心代理迴圈解耦,讓上下文得以依專案或領域進行客製化。

備份與還原 (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

修復 變更內容
密鑰遮蔽預設啟用 先前為選擇性啟用。日誌與 hermes debug share 上傳內容除非明確停用,否則會自動遮蔽密鑰。v0.12.0 因應載荷損毀回報而預設停用遮蔽;v0.13.0 將其重新啟用,作為較安全的基準。
Discord 跨公會 DM 繞過(CVSS 8.1) Discord 角色允許清單現以公會為範圍,封堵了原本可讓某公會的使用者角色取得跨公會 DM 授權的途徑。
WhatsApp 預設限制 WhatsApp 介面卡預設拒絕陌生人,且絕不在自我聊天中回應。
MCP OAuth TOCTOU 窗口 修補了 MCP OAuth 流程中憑證儲存期間的競態條件。
CLI auth.json TOCTOU 修補了 CLI 驗證儲存區憑證寫入器中類似的 TOCTOU 窗口。
瀏覽器 SSRF 底線 混合路由對嘗試存取 169.254.169.254 及同類位址的請求,強制執行雲端中繼資料 SSRF 防護底線。
Cron 提示注入掃描 組合好的提示(包含已載入的 skill 內容)會在 cron 任務執行前先進行提示注入掃描。
hermes debug share 遮蔽 Debug 分享上傳會在上傳當下遮蔽日誌內容,而不僅是在寫入時遮蔽。

若您維運的是 Hermes 部署,請將 v0.13.0 視為與安全相關的升級,而非單純的功能更新。Discord 跨公會繞過與兩項 TOCTOU 窗口在先前版本中皆可被利用。


給實踐者的架構說明

本節適合想了解底層運作機制的讀者,以便進行除錯、擴充或推理效能。內容整合自上游架構文件。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.yamltoolsets: 區段中明確啟用——例如訊息平台轉接器、瀏覽器自動化、較重的爬蟲工具等。註冊總數代表「可用的項目」;橫幅數字則代表「目前 profile 中已啟用的項目」。可使用 hermes tools --list 檢查目前啟用的 toolset,並透過 ~/.hermes/config.yaml 中的 toolsets: 區塊啟用或停用個別 toolset(或在執行中的工作階段內使用 /tools list / /tools enable <name> / /tools disable <name> ——移除某個工具會觸發工作階段重置,讓代理重新建構工具清單)。

三種 API 模式

Hermes 將提供者之間的差異抽象為三種 API 模式,並於執行時自動選擇:3

API mode Used by
chat_completions OpenRouter、z.ai、Kimi、MiniMax、DeepSeek、Alibaba、多數自訂端點,以及任何 OpenAI 相容伺服器
codex_responses OpenAI Codex(透過 ChatGPT OAuth)
anthropic_messages Anthropic API(原生)、Anthropic OAuth、Anthropic 相容代理

runtime_provider.py 解析器會將 (provider, model) 元組對應為 (api_mode, api_key, base_url),支援 18 個以上的提供者,並處理 OAuth 流程、憑證池與別名解析。3

CLI 工作階段中的資料流

User input  HermesCLI.process_input()
   AIAgent.run_conversation()
     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

  1. SOUL.md(代理身份——若無法取得,則使用內建備援)
  2. 工具感知行為指引
  3. 記憶/使用者脈絡(MEMORY.mdUSER.md)
  4. Skills 指引
  5. 脈絡檔案(AGENTS.md.cursorrules)
  6. 時間戳記
  7. 平台特定的格式化提示
  8. 選擇性系統提示覆寫,例如 /personality

SOUL.md 是基石——其他一切都建構於其上。13

工作階段儲存

以 SQLite 為基礎的工作階段儲存,搭配 FTS5 全文搜尋。工作階段具備血統追蹤(壓縮過程中的父子關係)、依平台隔離,以及具有競爭處理機制的原子寫入。3

外掛系統

三種發現來源:~/.hermes/plugins/(使用者)、.hermes/plugins/(專案),以及 pip entry points。外掛透過脈絡 API 註冊工具、掛鉤(hooks)與 CLI 命令。記憶提供者屬於特化的外掛類型,位於 plugins/memory/3

hermes plugins                       # Interactive enable/disable UI
hermes plugins install <repo>        # Install from Git URL or owner/repo
hermes plugins enable <name>
hermes plugins disable <name>
hermes plugins list

設計原則

引自上游架構頁面:3

原則 實務上的意義
提示穩定性 系統提示不會在對話中途變動。除了明確的使用者操作(如 /model)外,不會有破壞快取的變更
可觀察的執行 每次工具呼叫都會透過回呼讓使用者看見。進度更新會出現在 CLI(轉圈圖示)與 gateway(聊天訊息)中
可中斷 API 呼叫與工具執行可由使用者輸入或訊號在執行中途取消
平台無關的核心 同一個 AIAgent 類別同時服務 CLI、gateway、ACP、batch 與 API server。平台差異留在進入點處理
鬆耦合 選擇性子系統(MCP、外掛、記憶提供者、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 目錄),並寫入 ~/.hermes6

直接匯入(30 個以上類別):SOUL.mdMEMORY.mdUSER.mdAGENTS.md、來自 4 個來源目錄的 skills、預設模型、自訂提供者、MCP 伺服器、訊息平台權杖與許可清單(Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost)、代理預設值(推理強度、壓縮、人類延遲、時區、沙箱)、工作階段重置政策、核准規則、TTS 設定、瀏覽器設定、工具設定、exec 逾時、命令許可清單、gateway 設定,以及來自 3 個來源的 API 金鑰。6

封存以供手動檢閱:cron 作業、外掛、hooks/webhooks、記憶後端(QMD)、skills 註冊表設定、UI/身份、日誌、多代理設定、頻道繫結、IDENTITY.mdTOOLS.mdHEARTBEAT.mdBOOTSTRAP.md6

API 金鑰解析會依優先順序檢查三個來源:設定值 → ~/.openclaw/.envauth-profiles.json6


疑難排解

「API key not set」

執行 hermes model 以互動方式設定供應商,或執行 hermes config set OPENROUTER_API_KEY your_keyhermes doctor 指令會明確告訴您缺少哪些金鑰。7

啟動時出現「Context limit: 2048 tokens」(本地模型)

Hermes 會自動從伺服器的 /v1/models 端點偵測上下文長度,但許多本地伺服器回報的預設值偏低。請在 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

  1. 輸出上限過低(max_tokens)——SGLang 預設每次回應 128 個 token。請在伺服器設定 --default-max-tokens,或在 config.yaml 中設定 model.max_tokens
  2. 上下文耗盡——模型已填滿其上下文視窗。請增加 model.context_length 或在 Hermes 中啟用上下文壓縮。

從 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

各項資源在哪裡?

hermes statushermes 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 訊息閘道,這是 Claude Code 所沒有的。

我可以用 Anthropic API 金鑰搭配 Hermes 嗎?

可以。有三種方式:2

  1. ~/.hermes/.env 中設定 ANTHROPIC_API_KEY,然後執行 hermes chat --provider anthropic --model claude-sonnet-4-6
  2. 執行 hermes model 並選擇 Anthropic——可用時 Hermes 會使用 Claude Code 的憑證儲存區
  3. 設定手動 ANTHROPIC_TOKEN(setup-token 或 OAuth token)作為備援

如果您已在同一台機器上使用 Claude Code,建議採用選項 2——這樣可保留可重新整理的 Claude 憑證之重新整理能力。

如何在不遺失對話的情況下切換供應商?

在工作階段中使用 /model provider:model。對話歷史、記憶與技能皆會延續:9

/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5

我設定了 Anthropic,但視覺/網頁/壓縮功能無法運作

您遇到的是輔助模型備援問題。視覺、網頁摘要、壓縮等附屬任務使用獨立的輔助 LLM——預設透過自動偵測使用 Gemini Flash(OpenRouter → Nous → Codex)。若以上皆未設定且您僅設定了 Anthropic,這些功能會無聲降級。4

修復方式:可選擇加入 OPENROUTER_API_KEY 供輔助任務使用,或重新設定輔助插槽改用主供應商。請注意,上下文壓縮位於獨立的頂層 compression: 區塊,使用 summary_provider,而非 auxiliary.compression.provider——auxiliary.compression 插槽僅暴露 timeout。完整修復如下:

auxiliary:
  vision:      { provider: "main" }
  web_extract: { provider: "main" }

compression:
  summary_provider: "main"

SOUL.md 與 AGENTS.md 有什麼差別?

SOUL.md 是您代理的身分——語氣、風格、溝通預設。它位於 ~/.hermes/SOUL.md 並隨您走遍各處。AGENTS.md 則是專案專屬——架構、慣例、指令、路徑——位於您的專案目錄中。13 若該設定應隨您走遍各處,使用 SOUL.md;若屬於某專案,使用 AGENTS.md

如何同時執行多個 Hermes 實例?

使用 profile。每個 profile 都有自己的 HERMES_HOME、設定、記憶、工作階段與閘道 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 各伺服器的設定方式請參閱 Custom & Self-Hosted Endpoints

為什麼我的啟動橫幅顯示的工具數量比指南所述的少?

指南引用上游架構註冊表的 47 個工具 / 20 個 toolset——這是 Hermes 在所有 toolset 中所提供原始碼的工具總數。您執行中的安裝會在橫幅中顯示較小的數字(本指南所用的參考安裝回報 28 個工具),因為 Hermes 啟動時只會啟用預設的 toolset 集合。許多 toolset 屬於選用性質:訊息閘道介接器、瀏覽器自動化、較重型的爬蟲堆疊,以及多個專門整合,都必須在 ~/.hermes/config.yamltoolsets: 下明確列出後才會載入。註冊表總數 =「啟用後可使用的工具」。橫幅總數 =「您目前 profile 實際載入的工具」。請使用 hermes tools --list 查看哪些 toolset 處於啟用狀態,以及哪些可用但已停用。可在執行階段以 /tools enable <name>/tools disable <name> 切換個別 toolset(停用會觸發工作階段重置,讓代理以新的形態重建工具清單)。

主供應商失敗時 Hermes 如何處理模型備援?

請在 config.yaml 中設定 fallback_model 區塊:2

fallback_model:
  provider: openrouter
  model: anthropic/claude-sonnet-4

當主供應商失敗(速率限制、伺服器錯誤、驗證失敗)時,Hermes 會在工作階段中途切換至備援,且不會遺失對話歷史。每個工作階段最多觸發一次。

代理可以隨時間自我改進技能嗎?

可以——這正是 Hermes Agent 的「自我改進」之處。代理可透過 skill_manage 工具建立、更新與刪除 skill。當它摸索出非顯而易見的工作流程時,會將該方法儲存為 skill 以供日後重用。11 代理會在以下情況建立 skill:完成複雜任務後(5 次以上工具呼叫)、遇到錯誤並找到可行路徑時、您糾正其方法時,或它發現非顯而易見的工作流程時。

是否有 IDE 整合?

有——Hermes 可作為 ACP(Agent Client Protocol)伺服器運行,支援 VS Code、Zed 與 JetBrains:6

pip install -e '.[acp]'
hermes acp

變更日誌

日期 變更 來源
2026-05-07 指南 v1.5:新增 v0.13.0(2026年5月7日)— Tenacity 版本。頭條:可持久運作的多代理 Kanban 看板(heartbeat、reclaim、zombie 偵測、幻覺閘門、每任務 max_retries、多專案看板),將群集化為一級基本要素,而非僅是委派模式。/goal 指令讓代理跨多輪鎖定目標(將 Ralph-loop 模式化為斜線指令)。新增 video_analyze 工具,以 Gemini 為主並支援可擴充的相容模型。xAI Custom Voices TTS 提供者搭配語音複製功能。7 種語言 i18n(zh-Hans、ja、de、es、fr、uk、tr)支援 CLI 與 gateway 訊息;文件僅提供 zh-Hans。Google Chat 成為第 20 個訊息平台,採用可插拔轉接器模式;IRC 與 Microsoft Teams 也移植至同一模式。ProviderProfile ABC + plugins/model-providers/ 支援可插拔的第三方提供者,無需更動核心。Session 自動恢復橫跨 gateway 重啟、/update 與來源檔案重新載入。Checkpoints v2 重寫採單一儲存設計、實質清理機制以及磁碟防護線。八項 P0 安全性修補:預設啟用機密遮蔽、Discord 跨伺服器 DM 繞過漏洞(CVSS 8.1)、WhatsApp 陌生人拒絕 + 自我聊天靜音、MCP OAuth TOCTOU、CLI auth.json TOCTOU、瀏覽器 SSRF 防護線、cron 提示注入掃描、hermes debug share 遮蔽。寫入後 linting 涵蓋 Python/JSON/YAML/TOML、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 天週期),依評分標準對技能庫進行評分、清除無用技能、整合相關技能,並撰寫每次執行的報告 — Hermes 在使用者離線期間能自我維護。自我改進迴圈升級為基於評分標準的評等、主動更新偏向、適當的執行時繼承,以及限制於記憶體與技能的範圍化 toolset。四個新推論提供者:GMI Cloud、Azure AI Foundry、MiniMax OAuth 與 Tencent Tokenhub。LM Studio 升級為一級支援。遠端模型目錄資訊清單現可自動更新,無需發布版本。兩個新訊息平台:Microsoft Teams(第 19 個,透過可插拔 gateway 架構)以及 Tencent Yuanbao(第 18 個,原生文字 + 媒體)。原生 Spotify 透過 PKCE OAuth 並隨附技能;Google Meet 外掛支援通話與轉錄;Piper 本地 TTS 提供者。ComfyUI v5 + TouchDesigner-MCP 從可選改為預設隨附。新技能:Humanizer、claude-design、design-md、airtable。CLI 新增功能:hermes -z 一次性模式、hermes update --check 預檢、/reload-skills 斜線指令、可插拔的忙碌指示器樣式。透過 lazy agent 初始化與延遲匯入,可見的 TUI 冷啟動時間縮短約 57%。安全性:機密遮蔽預設停用以防止 payload 損毀;不可恢復指令採硬性封鎖清單。統計:1,096 次提交、550 個合併 PR、213 位社群貢獻者。 17
2026-04-25 指南 v1.3:新增 v0.11.0(2026年4月23日)— Interface 版本。互動式 TUI 全面以 React/Ink 重寫,搭配 Python JSON-RPC 後端(tui_gateway);固定式撰寫區、即時串流並支援 OSC-52 剪貼簿、穩定的選擇器按鍵、含每輪計時器與 git 分支的狀態列、/clear 確認、淺色主題預設、子代理生成可觀察性疊加層。可插拔傳輸架構 — 格式轉換與 HTTP 傳輸已抽取至 agent/transports/,讓提供者管線更加簡潔。原生 AWS Bedrock 透過 Converse API。五個新推論路徑:NVIDIA NIM、Arcee AI、Step Plan、Google Gemini CLI OAuth 與 Vercel ai-gateway。透過 Codex OAuth 使用 GPT-5.5 — 新的 OpenAI 旗艦模型現可透過 ChatGPT Codex OAuth 取得,無需另外的 API 金鑰。QQBot(第 17 個訊息平台),支援 QR 掃描設定與串流。外掛介面擴展:斜線指令、工具調度、執行封鎖、結果轉換。/steer <prompt> — 執行中的代理輕推,在下一次工具呼叫之後注入提示,代理可看到此提示,而不會中斷該輪或破壞提示快取。Shell 鉤子將腳本連接為生命週期鉤子,無需 Python 外掛。Webhook 直送模式將 payload 直接轉送至平台聊天,繞過代理以實現散播。更聰明的委派搭配協調者角色、可設定的生成深度與檔案協調。儀表板新增外掛系統、即時主題切換、i18n 與行動裝置響應式設計。自 v0.9.0 起的統計數據:1,556 次提交、761 個合併 PR、1,314 個變更檔案、224,174 行新增、29 位社群貢獻者。 19
2026-04-16 指南 v1.2:新增 v0.10.0 — Nous Tool Gateway。付費 Nous Portal 訂閱者現可使用代管工具(Firecrawl 網路搜尋、FAL / FLUX 2 Pro 影像生成、OpenAI TTS、Browser Use 瀏覽器自動化),無需額外的 API 金鑰。透過新的 use_gateway 設定欄位逐項工具啟用。執行時若同時設定 gateway 與直接 API 金鑰,優先採用 gateway。已移除 HERMES_ENABLE_NOUS_MANAGED_TOOLS 環境變數。Hermes Agent CLI 仍採 MIT 授權且完全免費。 20
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、斜線指令、工具、技能、記憶體、gateway、cron、MCP、壓縮、架構、OpenClaw 遷移、疑難排解、常見問題。

參考資料


  1. Nous Research,GitHub 上的 “Hermes Agent” 專案 README。產品描述(自我改進代理、多供應商、訊息閘道、終端後端、技能演進、cron 排程器、委派)以及 “Quick Install” 一行式安裝指令的主要來源。 

  2. Nous Research,Hermes Agent 文件中的 “AI Providers”。完整供應商清單的主要來源,包括各供應商的驗證方式(Nous Portal OAuth、Codex 裝置碼、GitHub Copilot 權杖類型、Anthropic 三種驗證方式、中國 AI 供應商、Hugging Face 路由、自訂端點)、三種驗證路徑(.env 中的 API 金鑰、透過 hermes model 的 OAuth、config.yaml 中的自訂端點)、/model 斜線指令語法(包含 custom:name:model)、Ollama/vLLM/SGLang/llama.cpp/LM Studio 設定範本、WSL2 網路設定說明、上下文長度偵測鏈、後備模型設定、智慧模型路由,以及具名自訂供應商。本文中所有供應商專屬的環境變數名稱、權杖類型、基礎 URL 覆寫和模型識別碼皆來自此頁面。 

  3. Nous Research,Hermes Agent 開發者指南中的 “Architecture”。系統概覽圖、目錄結構、透過 CLI session 與閘道訊息路徑的資料流、三種 API 模式(chat_completionscodex_responsesanthropic_messages)、透過 runtime_provider.py 的供應商解析、透過 SQLite + FTS5 的 session 持久化、訊息閘道平台清單、外掛系統探索來源、設定檔隔離,以及六項設計原則的主要來源。 

  4. Nous Research,Hermes Agent 使用者指南中的 “Configuration”。設定檔目錄結構、config.yaml.env 規則(「非機密設定以 config.yaml 為準」)、設定優先順序鏈(CLI 引數 → 環境變數 → config.yaml → .env → 預設值)、上下文壓縮設定(compression.* 區塊內含 thresholdtarget_ratioprotect_last_nsummary_modelsummary_providersummary_base_url)、預算壓力閾值(70% 注意、90% 警告)、本地供應商自動調整的串流逾時設定,以及完整的輔助模型設定區塊(auxiliary: 內含 visionweb_extractapprovalcompressionsession_searchskills_hubmcpflush_memories 槽位)的主要來源。"main" 供應商限制於 auxiliary/compression/fallback 槽位的規則亦來自此頁面。 

  5. Nous Research,Hermes Agent 指南中的 “Migrate from OpenClaw”。OpenClaw → Hermes 遷移流程的來源。 

  6. Nous Research,Hermes Agent 參考文件中的 “CLI Commands Reference”。本文中所有頂層 CLI 指令的主要來源,包括 hermes chathermes modelhermes gatewayhermes setuphermes authhermes statushermes cronhermes webhookhermes doctorhermes dumphermes logshermes confighermes pairinghermes skillshermes honchohermes memoryhermes acphermes mcphermes pluginshermes toolshermes sessionshermes insightshermes clawhermes profilehermes completionhermes update,以及 hermes uninstall。本文中所有子指令旗標、選項說明、憑證池行為、日誌過濾語法、OpenClaw 遷移旗標、設定檔管理指令,以及服務安裝指令皆來自此頁面。 

  7. Nous Research,Hermes Agent 入門指南中的 “Installation”。一行式安裝指令、安裝程式行為(先決條件、平台支援、Termux 自動偵測、Windows/WSL2 需求)、選用附加項目表、手動安裝步驟,以及驗證指令的主要來源。 

  8. Nous Research,“CLI Commands Reference” — 特別參閱 hermes dump 段落,描述指令的輸出格式(標頭、環境、身分、模型、終端、API 金鑰、功能、服務、工作負載、設定覆寫)以及用於分享診斷資訊的用途。 

  9. Nous Research,Hermes Agent 參考文件中的 “Slash Commands Reference”。本文列出的所有斜線指令、COMMAND_REGISTRY 架構、CLI 與訊息分流、動態技能斜線指令、config.yaml 中的快速指令、字首匹配行為,以及僅限訊息平台的指令(/status/sethome/approve/deny/update/commands)的主要來源。 

  10. Nous Research,Hermes Agent 使用者指南中的 “Tools & Toolsets”。工具類別概覽、toolset 使用指令、六種終端後端(local、docker、ssh、singularity、modal、daytona)、容器設定(cpu、memory、disk、persistent)、容器安全強化、背景程序管理 API,以及 sudo 支援的主要來源。 

  11. Nous Research,Hermes Agent 使用者指南中的 “Skills System”。漸進式揭露、SKILL.md 格式、平台專屬技能、條件啟用(fallback_for_toolsetsrequires_toolsetsfallback_for_toolsrequires_tools)、透過 skill_manage 的代理管理技能、技能中樞指令與來源清單(officialskills-shwell-knowngithubclawhubclaude-marketplacelobehub)、安全掃描與信任等級,以及外部技能目錄的主要來源。 

  12. Nous Research,Hermes Agent 使用者指南中的 “Persistent Memory”MEMORY.md / USER.md 字元限制、凍結快照模式、記憶工具動作(addreplaceremove)、應儲存與略過的內容、記憶與 session 搜尋的比較,以及八個外部記憶供應商清單(Honcho、OpenViking、Mem0、Hindsight、Holographic、RetainDB、ByteRover、Supermemory)的主要來源。 

  13. Nous Research,Hermes Agent 使用者指南中的 “Personality & SOUL.md”SOUL.md 行為(位於 HERMES_HOME、永不覆寫、系統提示中的第 1 號槽位、納入前經安全掃描)、SOUL.md 與 AGENTS.md 的差異、內建人格清單(從 helpfulhype 共 14 種人格)、config.yaml 中的自訂人格、/personality 覆蓋模式,以及完整提示堆疊組合順序的主要來源。 

  14. Nous Research,Hermes Agent 指南與參考中的 “Use MCP with Hermes”MCP Config Referenceconfig.yamlmcp_servers: 設定格式(含 commandargsenv 欄位)的來源。 

  15. 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、集中式日誌、外掛系統擴充。 

  16. Hermes Agent v0.9.0 Release Notes。2026 年 4 月 13 日。本地網頁儀表板、Fast Mode(/fast)、透過 BlueBubbles 的 iMessage、WeChat + WeCom、Termux/Android、背景程序監控(watch_patterns)、xAI + Xiaomi MiMo 原生供應商、可插拔的 context engine、統一代理支援、安全強化(路徑遍歷、shell 注入、SSRF、RCE 修復)、hermes backup/hermes import/debug + hermes debug share、16 個支援平台。487 commits、269 merged PRs、24 位貢獻者。 

  17. Hermes Agent v0.12.0 Release Notes。2026 年 4 月 30 日。「The Curator release」。自主背景 Curator 以 7 天預設週期評分、修剪並整合技能庫,並在閘道的 cron ticker 上執行。自我改進迴圈升級:基於評分標準的評分、主動更新偏向、適當的執行時繼承、限制於記憶與技能的範圍化 toolset。四個新推論供應商:GMI Cloud、Azure AI Foundry、MiniMax OAuth、Tencent Tokenhub。LM Studio 升級為一級支援。遠端模型目錄資訊清單無需發布即可自動更新。兩個新訊息平台:Microsoft Teams(第 19 個,透過可插拔閘道架構)和 Tencent Yuanbao(第 18 個,原生文字 + 媒體)。透過 PKCE OAuth 的原生 Spotify 並附帶內建技能;用於通話與轉錄的 Google Meet 外掛;Piper 本地 TTS 供應商。預設內建 ComfyUI v5 + TouchDesigner-MCP。新技能:Humanizer、claude-design、design-md、airtable。CLI:hermes -z 一次性模式、hermes update --check 預檢、/reload-skills 斜線指令、可插拔的忙碌指示器樣式。透過延遲初始化將 TUI 冷啟動時間減少約 57%。安全性:預設停用機密遮蔽;針對無法復原指令的硬性封鎖清單。自 v0.11.0 以來的統計:1,096 commits、550 merged PRs、213 位社群貢獻者。另請參閱:v2026.4.30 release tag。 

  18. Hermes Agent v0.13.0 Release Notes。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 + 閘道訊息;文件僅 zh-Hans)。Google Chat 作為第 20 個訊息平台,透過可插拔轉接器模式並搭配通用 env_enablement_fn / cron_deliver_env_var 外掛掛勾;IRC 與 Microsoft Teams 已遷移至同一模式。ProviderProfile ABC + plugins/model-providers/ 用於可插拔的第三方供應商。Session 自動恢復跨越閘道重啟、/update,以及原始檔重新載入。Checkpoints v2 單一儲存重寫,具備真正的修剪、磁碟防護,以及無孤立的影子儲存庫。八項 P0 安全性修補:機密遮蔽預設啟用、Discord 跨伺服器 DM 繞過(CVSS 8.1,角色允許清單以伺服器為範圍)、WhatsApp 預設拒絕陌生人 + 永不在自己對話中回應、MCP OAuth 憑證儲存 TOCTOU、CLI 憑證寫入器中的 auth.json TOCTOU、混合路由中瀏覽器雲端中繼資料 SSRF 底線、cron 組合提示掃描(包括技能內容)以防範提示注入、hermes debug share 上傳時的日誌內容遮蔽。其他值得關注的項目:Python/JSON/YAML/TOML 的寫入後 linting、cron no_agent 純腳本看門狗模式、Slack/Telegram/Mattermost/Matrix/DingTalk 的平台允許清單、MCP 增強功能(SSE 傳輸、OAuth 轉送、影像結果作為 MEDIA 標籤)。自 v0.12.0 以來的統計:864 commits、588 merged PRs、829 個檔案變更、295 位社群貢獻者、282 個議題關閉(13 個 P0、36 個 P1)。 

  19. Hermes Agent v0.11.0 Release Notes。2026 年 4 月 23 日。「The Interface release」— 互動式 CLI 完整以 React/Ink 重寫,並搭配 Python JSON-RPC 後端(tui_gateway);可插拔傳輸架構(agent/transports/);透過 Converse API 的原生 AWS Bedrock;五個新推論路徑(NVIDIA NIM、Arcee AI、Step Plan、Google Gemini CLI OAuth、Vercel ai-gateway);透過 Codex OAuth 的 GPT-5.5;QQBot 作為第 17 個訊息平台,以 QR 碼掃描設定;擴充的外掛介面(斜線指令、工具派送、執行封鎖、結果轉換);/steer <prompt> 用於執行中代理推進,在下一個工具呼叫後注入上下文且不破壞提示快取;shell 掛勾用於生命週期事件而無需 Python 外掛;webhook 直接傳遞模式,將 payload 直接轉發至平台對話;更智慧的委派,具備協調者角色 + 可設定的衍生深度 + 檔案協調;儀表板外掛系統、即時主題切換、i18n、行動裝置響應式設計。自 v0.9.0 以來的統計:1,556 commits · 761 merged PRs · 1,314 個檔案變更 · 224,174 行新增 · 29 位社群貢獻者。另請參閱:Hermes Agent v0.11.0 GitHub release tag。 

  20. Hermes Agent v0.10.0 Release Notes。2026 年 4 月 16 日。「The Tool Gateway Release」。為付費 Nous Portal 訂閱者整合 Nous Tool Gateway — 受管存取 Firecrawl 網頁搜尋、FAL / FLUX 2 Pro 影像生成、OpenAI TTS,以及 Browser Use 瀏覽器自動化,無需額外 API 金鑰。透過新的 use_gateway 設定欄位逐工具選用。當兩者皆設定時,執行時優先採用閘道而非直接 API 金鑰。完整整合至 hermes toolshermes status。取代已棄用的 HERMES_ENABLE_NOUS_MANAGED_TOOLS 環境變數。由 @jquesnelle(emozilla)實作。Hermes Agent CLI 維持 MIT 授權並完全開放原始碼;閘道是與既有 Portal 訂閱產品的整合,而非 CLI 上的付費牆。另請參閱:Nous Portal 的訂閱定價與註冊。 

NORMAL hermes.md EOF