H繁中版
文件參考手冊cli commands
<!-- Source: https://hermesbible.com/docs/reference/cli-commands -->

本頁面介紹從終端機執行的命令列指令

關於聊天中的斜線指令,請參閱斜線指令參考

全域入口

hermes [global-options] <command> [subcommand/options]

全域選項

選項說明
--version, -V顯示版本並離開。
--profile <name>, -p <name>選擇本次執行使用的 Hermes 設定檔。覆蓋由 hermes profile use 設定的預設值。
--resume <session>, -r <session>透過 ID 或標題恢復先前的對話。
--continue [name], -c [name]恢復最近一次對話,或符合指定標題的最近一次對話。
--worktree, -w在隔離的 git worktree 中啟動,適用於多代理並行工作流程。
--yolo跳過危險指令的確認提示。
--pass-session-id在代理的系統提示中包含 session ID。
--ignore-user-config忽略 ~/.hermes/config.yaml 並回退至內建預設值。.env 中的憑證仍會載入。
--ignore-rules跳過自動注入 AGENTS.mdSOUL.md.cursorrules、記憶及預載技能。
--tui啟動 TUI 而非經典 CLI。等同於 HERMES_TUI=1。優先於 display.interface
--cli強制使用經典 prompt_toolkit REPL。用於在單次執行中覆蓋 display.interface: tui
--dev搭配 --tui:直接透過 tsx 執行 TypeScript 原始碼而非預編譯套件(供 TUI 貢獻者使用)。

頂層指令

指令用途
hermes chat與代理進行互動式或一次性對話。
hermes model互動式選擇預設供應商和模型。
hermes fallback管理當主要模型發生錯誤時嘗試的備用供應商。
hermes gateway執行或管理訊息閘道服務。
hermes proxy本機 OpenAI 相容代理,附加 OAuth 供應商憑證。參閱訂閱代理
hermes lsp管理 Language Server Protocol 整合(write_file/patch 的語義診斷)。
hermes setup互動式設定精靈,用於設定全部或部分配置。
hermes whatsapp設定並配對 WhatsApp 橋接器。
hermes slackSlack 輔助工具(目前:產生將每個命令註冊為原生斜線指令的 app manifest)。
hermes auth管理憑證 — 新增、列出、移除、重置、設定策略。處理 Codex/Nous/Anthropic 的 OAuth 流程。
hermes login / logout已棄用 — 請改用 hermes auth
hermes send將一次性訊息传送至已設定的訊息平台(Telegram、Discack、Slack、Signal、SMS、…)。適用於 shell 腳本、排程任務、CI hook 和監控守護行程 — 無代理迴圈、無 LLM。
hermes secrets管理外部密鑰來源(目前為 Bitwarden Secrets Manager),用於在程式啟動時拉取 API 金鑰,而非從 ~/.hermes/.env 讀取。
hermes migrate診斷並(選擇性地)重寫 config.yaml,替換已淘汰模型或已棄用設定的引用(例如 migrate xai)。
hermes status顯示代理、認證和平台狀態。
hermes cron檢視並觸發排程器。
hermes kanban多設定檔協作看板(任務、連結、分派器)。
hermes webhook管理事件驅動觸發的動態 webhook 訂閱。
hermes hooks檢視、核准或移除在 config.yaml 中宣告的 shell 腳本 hook。
hermes doctor診斷配置和相依性問題。
hermes security audit按需供應鏈審計(OSV.dev),涵蓋 venv、外掛需求和鎖定的 MCP 伺服器。
hermes dump可複製貼上的設定摘要,用於支援/除錯。
hermes prompt-size顯示系統提示 + 工具 schema(技能索引、記憶、設定檔)的位元組數分布。離線執行。
hermes debug除錯工具 — 上傳日誌和系統資訊以取得支援。
hermes backup將 Hermes 主目錄備份為 zip 檔案。
hermes checkpoints檢視/修剪/清除 ~/.hermes/checkpoints//rollback 使用的影子儲存)。無參數執行時顯示狀態概覽。
hermes import從 zip 檔案還原 Hermes 備份。
hermes logs檢視、追蹤和篩選代理/閘道/錯誤日誌檔案。
hermes config顯示、編輯、遷移和查詢設定檔。
hermes pairing核准或撤銷訊息配對碼。
hermes skills瀏覽、安裝、發佈、審計和設定技能。
hermes bundles將多個技能組合在單一 /<name> 斜線指令下。參閱技能套件
hermes curator背景技能維護 — 狀態、執行、暫停、釘選。參閱Curator
hermes memory設定外部記憶供應商。外掛專屬子指令(例如 hermes honcho)會在其供應商啟用時自動註冊。
hermes acp將 Hermes 作為 ACP 伺服器執行以整合編輯器。
hermes mcp管理 MCP 伺服器設定並將 Hermes 作為 MCP 伺服器執行。
hermes plugins管理 Hermes Agent 外掛(安裝、啟用、停用、移除)。
hermes portalNous Portal 狀態、訂閱連結和 Tool Gateway 路由。參閱 Tool Gateway
hermes tools設定每個平台的已啟用工具。
hermes computer-use安裝或檢查 cua-driver 後端(macOS Computer Use)。
hermes sessions瀏覽、匯出、修剪、重新命名和刪除對話。
hermes insights顯示 token/成本/活動分析。
hermes clawOpenClaw 遷移輔助工具。
hermes dashboard啟動用於管理設定、API 金鑰和對話的網頁控制面板。
hermes profile管理設定檔 — 多個隔離的 Hermes 實例。
hermes completion列出 shell 自動完成腳本(bash/zsh/fish)。
hermes version顯示版本資訊。
hermes update拉取最新程式碼並重新安裝相依性(git 安裝),或檢查 PyPI 並執行 pip install --upgrade(pip 安裝)。--check 預覽但不安裝;--backup 在拉取前快取 HERMES_HOME
hermes uninstall從系統中移除 Hermes。

hermes chat

hermes chat [options]

常用選項:

選項說明
-q, --query "..."一次性、非互動式提示。
-m, --model <model>覆蓋本次執行的模型。
-t, --toolsets <csv>啟用逗號分隔的工具集。
--provider <provider>強制指定供應商:autoopenrouternousopenai-codexcopilot-acpcopilotanthropicgeminigoogle-gemini-clihuggingfacenovita(別名 novita-ainovitaai)、openai-apizaikimi-codingkimi-coding-cnminimaxminimax-cnminimax-oauthkilocodexiaomiarceegmialibabaalibaba-coding-plan(別名 alibaba_coding)、deepseeknvidiaollama-cloudxai(別名 grok)、xai-oauth(別名 grok-oauth)、qwen-oauthbedrockopencode-zenopencode-goazure-foundrylmstudiostepfuntencent-tokenhub(別名 tencenttokenhub)。
-s, --skills <name>預載一個或多個技能至對話中(可重複或逗號分隔)。
-v, --verbose詳細輸出。
-Q, --quiet程式化模式:隱藏橫幅/旋轉提示/工具預覽。
--image <path>附加本機圖片至單次查詢。
--resume <session> / --continue [name]直接從 chat 恢復對話。
--worktree為本次執行建立隔離的 git worktree。
--checkpoints在破壞性檔案變更前啟用檔案系統檢查點。
--yolo跳過確認提示。
--pass-session-id將 session ID 傳入系統提示。
--ignore-user-config忽略 ~/.hermes/config.yaml 並使用內建預設值。.env 中的憑證仍會載入。適用於隔離的 CI 執行、可重現的錯誤報告和第三方整合。
--ignore-rules跳過自動注入 AGENTS.mdSOUL.md.cursorrules、持久記憶和預載技能。搭配 --ignore-user-config 可實現完全隔離的執行。
--safe-mode除錯模式:停用所有自訂設定 — 使用者配置、規則/記憶注入、外掛和 MCP 伺服器(隱含 --ignore-user-config--ignore-rules)。用於隔離問題是來自你的設定還是 Hermes 本身。
--source <tag>對話來源標籤,用於篩選(預設:cli)。第三方整合請使用 tool,避免出現在使用者對話列表中。
--max-turns <N>每個對話回合的最大工具呼叫迭代次數(預設:90,或設定中的 agent.max_turns)。

範例:

hermes
hermes chat -q "Summarize the latest PRs"
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills
hermes chat --quiet -q "Return only JSON"
hermes chat --worktree -q "Review this repo and open a PR"
hermes chat --ignore-user-config --ignore-rules -q "Repro without my personal setup"
hermes chat --safe-mode -q "Is this bug mine or Hermes'?"

hermes -z <prompt> — 腳本化一次性執行

對於程式化呼叫者(shell 腳本、CI、排程任務、父程序管道輸入提示),hermes -z 是最純粹的一次性入口點:單一提示輸入,最終回應文字輸出,stdout 或 stderr 上沒有其他內容。 沒有橫幅、沒有旋轉提示、沒有工具預覽、沒有 Session: 行 — 只有代理的最終回覆純文字。

hermes -z "What's the capital of France?"
# → Paris.

# Parent scripts can cleanly capture the response:
answer=$(hermes -z "summarize this" < /path/to/file.txt)

每次執行的覆蓋選項(不修改 ~/.hermes/config.yaml):

標記對應環境變數用途
-m / --model <model>HERMES_INFERENCE_MODEL覆蓋本次執行的模型
--provider <provider>(無)覆蓋本次執行的供應商
hermes -z "…" --provider openrouter --model openai/gpt-5.5
# 或:
HERMES_INFERENCE_MODEL=anthropic/claude-sonnet-4.6 hermes -z "…"

相同的代理、相同的工具、相同的技能 — 只是移除了所有互動/裝飾層。如果需要在對話記錄中也包含工具輸出,請改用 hermes chat -q-z 明確用於「我只需要最終答案」。

hermes model

互動式供應商 + 模型選擇器。這是新增供應商、設定 API 金鑰和執行 OAuth 流程的指令。 從你的終端機執行 — 而非在活躍的 Hermes 聊天對話中執行。

hermes model

適用於以下情境:

  • 新增供應商(OpenRouter、Anthropic、Copilot、DeepSeek、自訂等)
  • 登入支援 OAuth 的供應商(Anthropic、Copilot、Codex、Nous Portal)
  • 輸入或更新 API 金鑰
  • 從供應商專屬模型清單中選擇
  • 設定自訂/自架端點
  • 將新的預設值儲存至設定檔

注意 — hermes model 與 /model 的差異

hermes model(從你的終端機執行,在任何 Hermes 對話之外)是完整的供應商設定精靈。它可以新增供應商、執行 OAuth 流程、提示輸入 API 金鑰,並設定端點。

/model(在活躍的 Hermes 聊天對話中輸入)只能在你已設定的供應商和模型之間切換。它無法新增供應商、執行 OAuth 或提示輸入 API 金鑰。

如果需要新增供應商: 先退出你的 Hermes 對話(Ctrl+C/quit),然後從終端機提示中執行 hermes model

/model 斜線指令(對話中)

在不離開對話的情況下切換已設定的模型:

/model                              # 顯示目前模型和可用選項
/model claude-sonnet-4              # 切換模型(自動偵測供應商)
/model zai:glm-5                    # 切換供應商和模型
/model custom:qwen-2.5              # 使用自訂端點上的模型
/model custom                       # 從自訂端點自動偵測模型
/model custom:local:qwen-2.5        # 使用命名的自訂供應商
/model openrouter:anthropic/claude-sonnet-4  # 切換回雲端

預設情況下,/model 的變更僅適用於目前對話。加上 --global 可將變更持久化至 config.yaml

/model claude-sonnet-4 --global     # 切換並儲存為新預設值

資訊 — 如果只看到 OpenRouter 模型怎麼辦?

如果你只設定了 OpenRouter,/model 只會顯示 OpenRouter 模型。要新增其他供應商(Anthropic、DeepSeek、Copilot 等),請退出對話並從終端機執行 hermes model

供應商和 base URL 的變更會自動持久化至 config.yaml。切換離開自訂端點時,過時的 base URL 會被清除以防止洩漏到其他供應商。

hermes gateway

hermes gateway <subcommand>

子指令:

子指令說明
run在前景執行閘道。建議用於 WSL、Docker 和 Termux。
start啟動已安裝的 systemd/launchd 背景服務。
stop停止服務(或前景程序)。
restart重啟服務。
status顯示服務狀態。
list列出所有設定檔及其閘道是否正在執行(如有 PID 則一併顯示)。適用於並行執行多個設定檔時查看概覽。
install安裝為 systemd(Linux)或 launchd(macOS)背景服務。
uninstall移除已安裝的服務。
setup互動式訊息平台設定。

選項:

選項說明
--allstart / restart / stop:作用於所有設定檔的閘道,而非僅限活躍的 HERMES_HOME。適用於並行執行多個設定檔時,想在 hermes update 後全部重啟。
--no-superviserun:在 s6-overlay Docker 映像中,選擇不使用自動監控而採用 pre-s6 前景語義 — 閘道作為容器主程序執行,不會自動重啟。在 s6 映像外無效。等同於設定 HERMES_GATEWAY_NO_SUPERVISE=1

提示 — WSL 使用者

請使用 hermes gateway run 而非 hermes gateway start — WSL 的 systemd 支援不穩定。用 tmux 包裝以確保持久性:tmux new -s hermes 'hermes gateway run'。詳見 WSL FAQ

hermes lsp

hermes lsp <subcommand>

管理 Language Server Protocol 整合。LSP 在背景執行真正的 語言伺服器(pyright、gopls、rust-analyzer、…),並將其診斷資訊 餵入 write_filepatch 使用的寫入後檢查。 受 git 工作區偵測限制 — LSP 僅在 cwd 或編輯的檔案位於 git worktree 內時才執行。

子指令:

子指令說明
status顯示服務狀態、已設定的伺服器、安裝狀態。
list列出支援的伺服器登錄。加上 --installed-only 可跳過未安裝的伺服器。
install <id>主動安裝一個伺服器的二進位檔案。
install-all安裝所有已知自動安裝配方的伺服器。
restart關閉執行中的客戶端以便下次編輯重新產生。
which <id>列出一個伺服器的已解析二進位路徑。

參閱 LSP — 語義診斷 以取得完整指南、支援語言和設定選項。

hermes setup

hermes setup [model|tts|terminal|gateway|tools|agent] [--non-interactive] [--reset] [--quick] [--reconfigure] [--portal]

最簡路徑: hermes setup --portal — 透過 OAuth 登入 Nous Portal 並加入 Tool Gateway,一步完成。

首次執行: 啟動初次設定精靈。

回訪使用者(已設定): 直接進入完整重新設定精靈 — 每個提示顯示你目前的值作為預設值,按 Enter 保留或輸入新值。沒有選單。

直接跳入特定區段而非完整精靈:

區段說明
model供應商和模型設定。
terminal終端後端和沙箱設定。
gateway訊息平台設定。
tools按平台啟用/停用工具。
agent代理行為設定。

選項:

選項說明
--quick在回訪使用者執行時:僅提示缺少或未設定的項目。跳過你已設定的項目。
--non-interactive使用預設值/環境變數,不顯示提示。
--reset設定前將配置重置為預設值。
--reconfigure向後相容的別名 — 在已安裝的環境中直接執行 hermes setup 現在預設執行此操作。
--portal一次性 Nous Portal 設定:透過 OAuth 登入、設定 Nous 為推論供應商,並加入 Tool Gateway。跳過精靈的其他部分。

hermes portal

hermes portal [status|open|tools]

檢視 Nous Portal 認證、Tool Gateway 路由,並前往訂閱頁面。不帶子指令時執行 status

子指令說明
status(預設)Portal 認證狀態 + 每個工具的 Tool Gateway 路由摘要。未給子指令時也會顯示。
open在你的預設瀏覽器中開啟 portal.nousresearch.com/manage-subscription
tools列出所有 Tool Gateway 合作夥伴(Firecrawl、FAL、OpenAI TTS、Browser Use、Modal)以及哪些透過 Nous 路由。

閘道本身的設定請參閱 Tool Gateway。一次性設定路徑請參閱上方的 hermes setup --portal

hermes whatsapp

hermes whatsapp

執行 WhatsApp 配對/設定流程,包括模式選擇和 QR 碼配對。

hermes slack

hermes slack manifest              # 將 manifest 輸出至 stdout
hermes slack manifest --write      # 寫入 ~/.hermes/slack-manifest.json
hermes slack manifest --slashes-only  # 僅輸出 features.slash_commands 陣列

產生一個 Slack app manifest,將 COMMAND_REGISTRY 中的每個閘道命令 (/btw/stop/model、…)註冊為一等的 Slack 斜線指令 — 與 Discord 和 Telegram 功能對等。將 輸出貼到你的 Slack app 設定中, https://api.slack.com/apps → 你的 app → Features → App Manifest → Edit,然後 Save。如果範圍或斜線指令有變更, Slack 會提示重新安裝。

標記預設值用途
--write [PATH]stdout寫入檔案而非 stdout。裸 --write 寫入 $HERMES_HOME/slack-manifest.json
--name NAMEHermesSlack 中的機器人顯示名稱。
--description DESC預設描述在 Slack app 目錄中顯示的機器人描述。
--slashes-only關閉僅輸出 features.slash_commands,用於合併至手動維護的 manifest。

hermes update 後重新執行 hermes slack manifest --write 以 取得任何新命令。

hermes send

hermes send --to <target> "message text"
hermes send --to <target> --file <path>
echo "message" | hermes send --to <target>
hermes send --list [platform]

將一次性訊息傳送至已設定的訊息平台,無需啟動代理或閘道迴圈。重用閘道已設定的憑證(~/.hermes/.env + ~/.hermes/config.yaml),因此作業腳本、排程任務、CI hook 和監控守護行程可以發送狀態更新,無需重新實作每個平台的 REST 客戶端。

對於使用 bot-token 的平台(Telegram、Discord、Slack、Signal、SMS、WhatsApp-CloudAPI),無需執行中的閘道 — hermes send 直接與平台的 REST 端點通訊。需要持久適配器的外掛平台仍需要活躍的閘道。

選項說明
-t, --to <TARGET>傳送目標。格式:platform(使用主頻道)、platform:chat_idplatform:chat_id:thread_id,或 platform:#channel-name。範例:telegramtelegram:-1001234567890discord:#opsslack:C0123ABCDsignal:+15551234567
-f, --file <PATH>PATH 讀取訊息內文(僅限文字檔案 — 日誌、報告、markdown)。傳入 - 強制從 stdin 讀取。要傳送圖片或其他二進位檔案,請使用 MEDIA:<path>(見下方)。
-s, --subject <LINE>在訊息內文前加上主旨/標題行。
-l, --list [platform]列出所有平台的已設定目標(或僅列出指定平台)。
-q, --quiet成功時隱藏 stdout — 適用於腳本中(僅依賴退出碼)。
--json輸出原始 JSON 結果而非人類可讀的輸出。

如果既未提供位置參數 message 也未提供 --filehermes send 會在非 TTY 時從 stdin 讀取。退出碼:成功為 0,傳送/後端失敗為 1,使用錯誤為 2

傳送圖片和其他媒體

--file 僅用於文字內文。要以原生平台附件形式傳送圖片、文件、視訊或音訊檔案,請在訊息文字中使用 MEDIA:<本地路徑> 指令引用:

hermes send --to telegram "MEDIA:/tmp/screenshot.png"
hermes send --to telegram "Build chart for today MEDIA:/tmp/chart.png"   # 附帶說明
hermes send --to discord:#ops "MEDIA:/tmp/report.pdf"

預設情況下,圖片檔案會以照片形式傳送(Telegram 等平台會重新壓縮)。在訊息中加上 [[as_document]] 可改為以未壓縮的檔案附件形式傳送:

hermes send --to telegram "[[as_document]] MEDIA:/tmp/screenshot.png"

範例:

hermes send --to telegram "deploy finished"
echo "RAM 92%" | hermes send --to telegram:-1001234567890
hermes send --to discord:#ops --file /tmp/report.md
hermes send --to slack:#eng --subject "[CI]" --file build.log
hermes send --list                  # 所有平台
hermes send --list telegram         # 按平台篩選

hermes secrets

hermes secrets bitwarden <subcommand>
hermes secrets bw <subcommand>          # 短別名

在程式啟動時從外部密鑰管理器拉取 API 金鑰,而非儲存在 ~/.hermes/.env 中。目前支援 Bitwarden Secrets Manager。完整指南請參閱:Bitwarden 整合

bitwarden(別名 bw)子指令:

子指令說明
setup互動式精靈:安裝鎖定的 bws 二進位檔案、儲存存取權杖並選擇專案。支援 --project-id--access-token--server-url 用於非互動式使用。
status顯示目前設定、二進位路徑/版本和上次拉取資訊。
sync立即拉取密鑰並報告變更。加上 --apply 可實際將密鑰匯出至當前 shell 的環境(預設為試跑模式)。
install下載並驗證鎖定的 bws 二進位檔案。--force 即使已存在管理副本也會重新下載。
disable關閉 Bitwarden 整合。

hermes migrate

hermes migrate <type>

診斷並(選擇性地)重寫活躍的 config.yaml,替換已淘汰模型或已棄用設定的引用。重寫前會對原始 config.yaml 進行帶時間戳的備份(使用 --no-backup 可跳過)。

子指令說明
xai掃描 config.yaml 中引用的 xAI 模型(計劃於 2026 年 5 月 15 日淘汰),並(使用 --apply)根據 xAI 遷移指南就地重寫為官方替換方案。預設為試跑模式。

遷移子指令的通用標記:

標記說明
--apply就地重寫 config.yaml(預設:試跑,不寫入)。
--no-backup套用時跳過 config.yaml 的帶時間戳備份。

請勿與 hermes claw migrate(一次性將 OpenClaw 設定匯入 Hermes)混淆 — hermes migrate 是頂層的配置重寫指令。

hermes proxy

hermes proxy <subcommand>

執行一個本機 OpenAI 相容 HTTP 伺服器,將請求轉發至 OAuth 認證的上游供應商(例如 Nous Portal、xAI)。外部應用可指向該代理並使用任何 bearer token;代理會在轉發時附加你真實的 OAuth 憑證。完整指南請參閱訂閱代理

子指令說明
start在前景執行代理。標記:--provider <nous|xai>(預設 nous)、--host <addr>(預設 127.0.0.1;使用 0.0.0.0 可在區域網路暴露)、--port <int>(預設 8645)。
status顯示哪些代理上游已就緒(憑證存在、OAuth 有效)。
providers列出可用的代理上游供應商。

hermes security

hermes security <subcommand>

按需掃描 OSV.dev 漏洞。涵蓋 Hermes venv(已安裝的 PyPI 發行版)、~/.hermes/plugins/ 下外掛宣告的 Python 相依性,以及 config.yaml 中鎖定的 npx/uvx MCP 伺服器。掃描全域安裝的套件或編輯器/瀏覽器擴充套件。

子指令說明
audit執行一次性供應鏈審計。

audit 標記:

標記預設值說明
--json關閉輸出機器可讀的 JSON 而非人類可讀的文字。
--fail-on <level>critical當任何發現達到此嚴重程度時以非零退出(lowmoderatehighcritical)。
--skip-venv關閉跳過掃描 Hermes Python venv。
--skip-plugins關閉跳過掃描外掛需求檔案。
--skip-mcp關閉跳過掃描 config.yaml 中鎖定的 MCP 伺服器。

hermes login / hermes logout (已棄用)

注意

hermes login 已被移除。請使用 hermes auth 管理 OAuth 憑證,使用 hermes model 選擇供應商,或使用 hermes setup 進行完整的互動式設定。

hermes auth

管理同供應商金鑰輪替的憑證池。完整文件請參閱憑證池

hermes auth                                              # 互動式精靈
hermes auth list                                         # 顯示所有池
hermes auth list openrouter                              # 顯示特定供應商
hermes auth add openrouter --api-key sk-or-v1-xxx        # 新增 API 金鑰
hermes auth add anthropic --type oauth                   # 新增 OAuth 憑證
hermes auth remove openrouter 2                          # 按索引移除
hermes auth reset openrouter                             # 清除冷卻期
hermes auth status anthropic                             # 顯示供應商的認證狀態
hermes auth logout anthropic                             # 登出並清除已儲存的認證狀態
hermes auth spotify                                      # 透過 PKCE 認證 Hermes 與 Spotify

子指令:addlistremoveresetstatuslogoutspotify。不帶子指令呼叫時,啟動互動式管理精靈。

hermes status

hermes status [--all] [--deep]
選項說明
--all以可分享的遮蔽格式顯示所有詳細資訊。
--deep執行更深層的檢查,可能需要較長時間。

hermes cron

hermes cron <list|create|edit|pause|resume|run|remove|status|tick>
子指令說明
list顯示已排程的工作。
create / add從提示建立排程工作,可選擇透過重複 --skill 附加一個或多個技能。
edit更新工作的排程、提示、名稱、傳送方式、重複次數或附加的技能。支援 --clear-skills--add-skill--remove-skill
pause暫停工作但不刪除。
resume恢復已暫停的工作並計算其下次執行時間。
run在下次排程器 tick 時觸發工作。
remove刪除排程工作。
status檢查排程器是否正在執行。
tick執行到期的工作一次後離開。

hermes kanban

hermes kanban [--board <slug>] <action> [options]

多設定檔、多專案協作看板。每個安裝可承載多個看板(每個專案、儲存庫或領域一個);每個看板是一個獨立的佇列,有自己的 SQLite 資料庫和分派器範圍。新安裝會建立一個名為 default 的看板,其資料庫為 ~/.hermes/kanban.db(向後相容);額外的看板位於 ~/.hermes/kanban/boards/<slug>/kanban.db。閘道內建的分派器每次 tick 會掃描所有看板。

全域標記(適用於以下所有操作):

標記用途
--board <slug>操作特定看板。預設為目前看板(透過 hermes kanban boards switchHERMES_KANBAN_BOARD 環境變數或 default 設定)。

這是人類/腳本化操作介面。 分派器產生的代理工作者透過專屬的 kanban_* 工具集kanban_showkanban_completekanban_blockkanban_createkanban_linkkanban_commentkanban_heartbeat;協調器設定檔還會有 kanban_listkanban_unblock)驅動看板,而非透過 shell 執行 hermes kanban。工作者的環境中釘選了 HERMES_KANBAN_BOARD,因此它們實際上無法看到其他看板。

操作用途
init建立 kanban.db(如不存在)。幂等。
boards list / boards ls列出所有看板及任務計數。--json--all(包含已封存)。
boards create <slug>建立新看板。標記:--name--description--icon--color--switch(設為活躍)。slug 為 kebab-case,自動轉小寫。
boards switch <slug> / boards use<slug> 持久化為活躍看板(寫入 ~/.hermes/kanban/current)。
boards show / boards current列出目前活躍看板的名稱、資料庫路徑和任務計數。
boards rename <slug> "<name>"變更看板的顯示名稱。slug 不可變。
boards rm <slug>封存(預設)或永久刪除看板。--delete 跳過封存步驟。封存的看板移至 boards/_archived/<slug>-<ts>/default 看板不允許此操作。
create "<title>"在活躍看板上建立新任務。標記:--body--assignee--parent(可重複)、--workspace scratch|worktree|dir:<path>--tenant--priority--triage--idempotency-key--max-runtime--max-retries--skill(可重複)。
list / ls列出活躍看板上的任務。使用 --mine--assignee--status--tenant--archived--json 篩選。
show <id>顯示任務的註解和事件。--json 輸出機器可讀格式。
assign <id> <profile>指派或重新指派。使用 none 取消指派。任務執行中拒絕操作。
link <parent> <child>新增依賴關係。偵測迴圈。兩個任務必須在同一看板上。
unlink <parent> <child>移除依賴關係。
claim <id>原子性地認領就緒的任務。列出已解析的工作區路徑。
comment <id> "<text>"附加註解。下一個認領該任務的工作者會在其 kanban_show() 回應中讀取。
complete <id>標記任務完成。標記:--result--summary--metadata
block <id> "<reason>"標記任務因需要人類輸入而阻塞。同時將原因作為註解附加。
schedule <id> "<reason>"將延時/後續工作停放至 scheduled,使其不會被顯示為人類阻塞。
unblock <id>將阻塞或已排程的任務返回就緒狀態(如果依賴仍未開啟則返回 todo)。
archive <id>從預設清單中隱藏。gc 會移除暫存工作區。
tail <id>追蹤任務的事件流。
dispatch在活躍看板上執行一次分派。標記:--dry-run--max N--failure-limit N--json
context <id>列出工作者會看到的完整上下文(標題 + 內文 + 父任務結果 + 註解)。
specify <id> / specify --all透過輔助 LLM 將分派欄任務具體化為規格(標題 + 內文含目標、方法、驗收標準),然後提升至 todo。標記:--tenant(將 --all 限定於一個租戶)、--author--json。在 config.yamlauxiliary.triage_specifier 下設定模型。
decompose <id> / decompose --all將分派欄任務展開為子任務圖,按描述路由至專業設定檔。當 LLM 判斷任務不適合展開時,回退為 specify 風格的單任務提升。標記與 specify 相同。在 config.yamlauxiliary.kanban_decomposer 下設定分解器模型;kanban.orchestrator_profile 僅控制展開後根/協調任務的所有者。當 kanban.auto_decompose: true(預設)時,每次分派 tick 也會自動執行。參閱自動 vs 手動協調
gc移除已封存任務的暫存工作區。

範例:

# 建立第二個看板並在其上建立任務,無需切換。
hermes kanban boards create atm10-server --name "ATM10 Server" --icon 🎮
hermes kanban --board atm10-server create "Restart server" --assignee ops

# 為後續呼叫切換活躍看板。
hermes kanban boards switch atm10-server
hermes kanban list                  # 顯示 atm10-server 的任務

# 封存看板(可恢復)或永久刪除。
hermes kanban boards rm atm10-server
hermes kanban boards rm atm10-server --delete

看板解析順序(最高優先度在前):--board <slug> 標記 → HERMES_KANBAN_BOARD 環境變數 → ~/.hermes/kanban/current 檔案 → default

所有操作也可在閘道中作為斜線指令使用(/kanban …),具有相同的操作介面 — 包括 boards 子指令和 --board 標記。

完整設計 — 與 Cline Kanban / Paperclip / NanoClaw / Gemini Enterprise 的比較、八種協作模式、四個使用者故事、並行正確性證明 — 請參閱儲存庫中的 docs/hermes-kanban-v1-spec.pdfKanban 使用者指南

hermes webhook

hermes webhook <subscribe|list|remove|test>

管理事件驅動代理觸發的動態 webhook 訂閱。需要在設定中啟用 webhook 平台 — 如未設定,會顯示設定指示。

子指令說明
subscribe / add建立 webhook 路由。回傳 URL 和 HMAC 密鑰,用於在你的服務上設定。
list / ls顯示所有代理建立的訂閱。
remove / rm刪除動態訂閱。設定檔中的靜態路由不受影響。
test傳送測試 POST 以驗證訂閱是否正常運作。

hermes webhook subscribe

hermes webhook subscribe <name> [options]
選項說明
--prompt包含 {dot.notation} payload 引用的提示範本。
--events逗號分隔的事件類型(例如 issues,pull_request)。空值 = 全部。
--description人類可讀的描述。
--skills逗號分隔的技能名稱,用於代理執行時載入。
--deliver傳送目標:log(預設)、telegramdiscordslackgithub_comment
--deliver-chat-id跨平台傳送的目標聊天/頻道 ID。
--secret自訂 HMAC 密鑰。省略時自動產生。
--deliver-only跳過代理 — 將渲染後的 --prompt 作為字面訊息传送。零 LLM 成本,次秒級傳送。需要 --deliver 為真正的目標(非 log)。

訂閱持久化至 ~/.hermes/webhook_subscriptions.json,由 webhook 適配器熱重載,無需重啟閘道。

hermes doctor

hermes doctor [--fix]
選項說明
--fix嘗試自動修復。

hermes dump

hermes dump [--show-keys]

輸出你整個 Hermes 設定的精簡純文字摘要。設計用於在 Discord、GitHub issues 或 Telegram 中複製貼上以尋求支援 — 沒有 ANSI 顏色、沒有特殊格式,只有資料。

選項說明
--show-keys顯示遮蔽的 API 金鑰前綴(首尾各 4 個字元),而非僅顯示 set/not set

包含內容

區段詳細資訊
標頭Hermes 版本、發行日期、git commit hash
環境作業系統、Python 版本、OpenAI SDK 版本
身分活躍設定檔名稱、HERMES_HOME 路徑
模型已設定的預設模型和供應商
終端後端類型(local、docker、ssh 等)
API 金鑰所有 22 個供應商/工具 API 金鑰的存在性檢查
功能已啟用的工具集、MCP 伺服器數量、記憶供應商
服務閘道狀態、已設定的訊息平台
工作量排程工作數量、已安裝技能數量
設定覆蓋與預設值不同的設定值

範例輸出

--- hermes dump ---
version:          0.8.0 (2026.4.8) [af4abd2f]
os:               Linux 6.14.0-37-generic x86_64
python:           3.11.14
openai_sdk:       2.24.0
profile:          default
hermes_home:      ~/.hermes
model:            anthropic/claude-opus-4.6
provider:         openrouter
terminal:         local

api_keys:
  openrouter           set
  openai               not set
  anthropic            set
  nous                 not set
  firecrawl            set
  ...

features:
  toolsets:           all
  mcp_servers:        0
  memory_provider:    built-in
  gateway:            running (systemd)
  platforms:          telegram, discord
  cron_jobs:          3 active / 5 total
  skills:             42

config_overrides:
  agent.max_turns: 250
  compression.threshold: 0.85
  display.streaming: True
--- end dump ---

適用時機

  • 在 GitHub 上回報錯誤 — 將 dump 貼到你的 issue 中
  • 在 Discord 中尋求幫助 — 在程式碼區塊中分享
  • 將你的設定與他人比較
  • 當某些功能無法運作時快速健全性檢查

提示

hermes dump 專為分享而設計。互動式診斷請使用 hermes doctor。視覺化概覽請使用 hermes status

hermes debug

hermes debug share [options]

上傳除錯報告(系統資訊 + 近期日誌)至貼上服務並取得可分享的 URL。適用於快速支援請求 — 包含協助者診斷你的問題所需的一切。

選項說明
--lines <N>每個日誌檔案包含的日誌行數(預設:200)。
--expire <days>貼上過期天數(預設:7)。
--local在本機列印報告而非上傳。

報告包含系統資訊(作業系統、Python 版本、Hermes 版本)、近期代理和閘道日誌(每個檔案 512 KB 限制),以及遮蔽的 API 金鑰狀態。金鑰始終被遮蔽 — 不會上傳密鑰。

依序嘗試的貼上服務:paste.rs、dpaste.com。

範例

hermes debug share              # 上傳除錯報告,列印 URL
hermes debug share --lines 500  # 包含更多日誌行
hermes debug share --expire 30  # 保留貼上 30 天
hermes debug share --local      # 將報告列印到終端(不上傳)

hermes backup

hermes backup [options]

建立你 Hermes 設定、技能、對話和資料的 zip 壓縮檔。備份不包含 hermes-agent 程式碼本身。

選項說明
-o, --output <path>zip 檔案的輸出路徑(預設:~/hermes-backup-<timestamp>.zip)。
-q, --quick快速快照:僅包含關鍵狀態檔案(config.yaml、state.db、.env、auth、cron jobs)。比完整備份快得多。
-l, --label <name>快照標籤(僅與 --quick 一起使用)。

備份使用 SQLite 的 backup() API 進行安全複製,因此即使 Hermes 正在執行也能正確運作(WAL 模式安全)。

zip 中排除的內容:

  • *.db-wal*.db-shm*.db-journal — SQLite 的 WAL / 共用記憶體 / 日誌側車檔案。*.db 檔案已透過 sqlite3.backup() 取得一致快照;與其一起打包即時側車檔案會讓還原看到半提交的狀態。
  • checkpoints/ — 每個對話的軌跡快取。以雜湊鍵值化且每個對話重新產生;無法完整移殖到其他安裝。
  • hermes-agent 程式碼本身(這是使用者資料備份,不是儲存庫快照)。

範例

hermes backup                           # 完整備份至 ~/hermes-backup-*.zip
hermes backup -o /tmp/hermes.zip        # 完整備份至指定路徑
hermes backup --quick                   # 僅包含狀態的快速快照
hermes backup --quick --label "pre-upgrade"  # 帶標籤的快速快照

hermes checkpoints

hermes checkpoints [COMMAND]

檢視和管理 ~/.hermes/checkpoints/ 中的影子 git 儲存 — 這是對話中 /rollback 指令的儲存層。可隨時安全執行;不需要代理正在執行。

子指令說明
status(預設)顯示總大小、專案數量和每個專案的明細。裸 hermes checkpoints 等效。
liststatus 的別名。
prune強制執行清理 — 刪除孤立和過期的專案、GC 儲存、強制大小上限。忽略 24 小時幂等標記。
clear刪除整個 checkpoint 基底。不可逆;除非使用 -f 否則要求確認。
clear-legacy僅刪除 v1→v2 遷移產生的 legacy-<timestamp>/ 封存。

選項

選項子指令說明
--limit Nstatuslist最多列出的專案數(預設 20)。
--retention-days Nprune丟棄 last_touch 超過 N 天的專案(預設 7)。
--max-size-mb Nprune在孤立/過期掃描後,每個專案刪除最舊的提交直到總儲存大小 ≤ N MB(預設 500)。
--keep-orphansprune跳過刪除工作目錄已不存在的專案。
-f, --forceclearclear-legacy跳過確認提示。

範例

hermes checkpoints                                  # 狀態概覽
hermes checkpoints prune --retention-days 3         # 積極清理
hermes checkpoints prune --max-size-mb 200          # 一次性收緊大小上限
hermes checkpoints clear-legacy -f                  # 丟棄 v1 封存目錄
hermes checkpoints clear -f                         # 清除所有內容

完整架構和對話中指令請參閱 Checkpoints 和 /rollback

hermes import

hermes import <zipfile> [options]

將先前建立的 Hermes 備份還原到你的 Hermes 主目錄。壓縮檔中的所有檔案會覆蓋你 Hermes 主目錄中的現有檔案;--force 僅在目標已有 Hermes 安裝時跳過確認提示。

選項說明
-f, --force跳過已安裝的確認提示。

警告

匯入前請停止閘道,以避免與執行中的程序產生衝突。

範例

hermes import ~/hermes-backup-20260423.zip           # 匯入前提示是否覆蓋現有設定
hermes import ~/hermes-backup-20260423.zip --force   # 直接覆蓋不提示

hermes logs

hermes logs [log_name] [options]

檢視、追蹤和篩選 Hermes 日誌檔案。所有日誌儲存在 ~/.hermes/logs/(非預設設定檔為 <profile>/logs/)。

日誌檔案

名稱檔案記錄內容
agent(預設)agent.log所有代理活動 — API 呼叫、工具分派、對話生命週期(INFO 及以上)
errorserrors.log僅警告和錯誤 — agent.log 的篩選子集
gatewaygateway.log訊息閘道活動 — 平台連線、訊息分派、webhook 事件
guigui.log控制面板 / TUI 閘道 / PTY 橋接 / websocket 事件
desktopdesktop.logElectron 桌面應用 — 啟動、後端產出和近期 Python 追蹤

選項

選項說明
log_name要檢視的日誌:agent(預設)、errorsgateway,或 list 顯示可用檔案及大小。
-n, --lines <N>顯示的行數(預設:50)。
-f, --follow即時追蹤日誌,類似 tail -f。按 Ctrl+C 停止。
--level <LEVEL>顯示的最低日誌等級:DEBUGINFOWARNINGERRORCRITICAL
--session <ID>篩選包含 session ID 子字串的行。
--since <TIME>顯示從相對時間起的行:30m1h2d 等。支援 s(秒)、m(分)、h(時)、d(日)。
--component <NAME>按元件篩選:gatewayagenttoolsclicron

範例

# 檢視 agent.log 的最後 50 行(預設)
hermes logs

# 即時追蹤 agent.log
hermes logs -f

# 檢視 gateway.log 的最後 100 行
hermes logs gateway -n 100

# 僅顯示過去一小時的警告和錯誤
hermes logs --level WARNING --since 1h

# 按特定對話篩選
hermes logs --session abc123

# 從 30 分鐘前開始追蹤 errors.log
hermes logs errors --since 30m -f

# 列出所有日誌檔案及其大小
hermes logs list

篩選

篩選器可以組合使用。當多個篩選器啟用時,日誌行必須通過所有篩選器才會顯示:

# 過去 2 小時內包含 session "tg-12345" 的 WARNING+ 等級行
hermes logs --level WARNING --since 2h --session tg-12345

沒有可解析時間戳的行在 --since 啟用時會被包含(它們可能是多行日誌項目的延續行)。沒有可偵測等級的行在 --level 啟用時會被包含。

日誌輪替

Hermes 使用 Python 的 RotatingFileHandler。舊日誌會自動輪替 — 尋找 agent.log.1agent.log.2 等。hermes logs list 子指令顯示所有日誌檔案,包括已輪替的。

hermes prompt-size

hermes prompt-size [--platform <name>] [--json]

報告全新對話的固定提示預算 — 在任何對話內容之前,每次 API 呼叫都會發送的內容。適用於下游適配器或代理的提示預算比模型的上下文視窗更緊湊時,或想查看哪個區塊(技能索引、記憶、設定檔)佔比最大。

它會建立代理會使用的相同系統提示,然後進行分解:

  • 系統提示總計 — 完整組裝的提示(身分、指引、技能 索引、上下文檔案、記憶、設定檔、時間戳)。
  • 技能索引<available_skills> 區塊。當安裝了大量技能時, 這通常是最大的單一區塊。
  • 記憶使用者設定檔 — 你的 MEMORY.md / USER.md 快照。
  • 提示分層 — 穩定 / 上文 / 易變,對應 Hermes 為了快取友善性 而對提示進行的分層方式。
  • 工具 schema — 所有已啟用工具的 JSON(固定每次呼叫負載的另一半)。

完全離線執行 — 無需 API 呼叫,無需設定憑證即可運作。

# CLI 平台的人類可讀明細(預設)
hermes prompt-size

# 模擬訊息平台的提示(不同的平台提示)
hermes prompt-size --platform telegram

# 腳本用的機器可讀輸出
hermes prompt-size --json

提示

技能索引和工具 schema 會隨著你啟用的技能和工具數量而增加。 要縮減提示,請停用未使用的工具集(hermes tools)或 解除安裝不需要的技能(hermes skills)。你目前目錄中的上下文檔案(AGENTS.md、 .cursorrules)也計入總量。

hermes config

hermes config <subcommand>

子指令:

子指令說明
show顯示目前設定值。
edit在你的編輯器中開啟 config.yaml
set <key> <value>設定配置值。
path列出設定檔路徑。
env-path列出 .env 檔案路徑。
check檢查缺少或過時的設定。
migrate互動式新增新引入的選項。

hermes pairing

hermes pairing <list|approve|revoke|clear-pending>
子指令說明
list顯示待核准和已核准的使用者。
approve <platform> <code>核准配對碼。
revoke <platform> <user-id>撤銷使用者的存取權限。
clear-pending清除待處理的配對碼。

hermes skills

hermes skills <subcommand>

子指令:

子指令說明
browse技能登錄的分頁瀏覽器。
search搜尋技能登錄。
install安裝技能。
inspect預覽技能而不安裝。
list列出已安裝的技能。
check檢查已安裝的 hub 技能是否有上游更新。
update在有上游變更時重新安裝 hub 技能。
audit重新掃描已安裝的 hub 技能。
uninstall移除 hub 安裝的技能。
reset取消釘選被標記為 user_modified 的內建技能,清除其 manifest 項目。加上 --restore 也會將使用者副本替換回內建版本。
opt-out停止將內建技能植入活躍設定檔。寫入 .no-bundled-skills 標記,使安裝程式、hermes update 和任何同步操作都跳過內建技能植入。預設安全 — 不會修改磁碟上的任何內容。加上 --remove 也會刪除已存在且未修改的內建技能(使用者編輯的、hub 安裝的和手寫的技能永遠不會被移除;會先預覽並確認,--yes 跳過)。
opt-in透過移除 .no-bundled-skills 標記來撤銷 opt-out,使內建技能在下次 hermes update 時重新植入。加上 --sync 立即重新植入。
publish將技能發佈至登錄。
snapshot匯出/匯入技能設定。
tap管理自訂技能來源。
config按平台互動式設定技能的啟用/停用。

常用範例:

hermes skills browse
hermes skills browse --source official
hermes skills search react --source skills-sh
hermes skills search https://mintlify.com/docs --source well-known
hermes skills inspect official/security/1password
hermes skills inspect skills-sh/vercel-labs/json-render/json-render-react
hermes skills install official/migration/openclaw-migration
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills install https://sharethis.chat/SKILL.md                     # 直接 URL(單一檔案 SKILL.md)
hermes skills install https://example.com/SKILL.md --name my-skill        # frontmatter 沒有名稱時覆蓋名稱
hermes skills check
hermes skills update
hermes skills config
hermes skills reset google-workspace
hermes skills reset google-workspace --restore --yes
hermes skills opt-out                  # 停止未來的內建技能植入(不刪除任何內容)
hermes skills opt-out --remove --yes   # 同時刪除未修改的內建技能
hermes skills opt-in --sync            # 撤銷:移除標記並立即重新植入

備註:

  • --force 可覆蓋第三方/社群技能的非危險策略區塊。
  • --force 無法覆蓋 dangerous 的掃描結論。
  • --source skills-sh 搜尋公開的 skills.sh 目錄。
  • --source well-known 讓你將 Hermes 指向暴露 /.well-known/skills/index.json 的網站。
  • --source browse-sh 搜尋 browse.sh 的 200+ 網站專屬瀏覽器自動化技能目錄。識別碼格式如 browse-sh/airbnb.com/search-listings-ddgioa
  • 傳入 http(s)://…/*.md URL 會直接安裝單一檔案 SKILL.md。當 frontmatter 沒有 name: 且 URL slug 不是有效識別碼時,互動式終端會提示輸入名稱;非互動式介面(TUI 中的 /skills install、閘道平台)需要使用 --name <x>

hermes bundles

hermes bundles <subcommand>

技能套件將多個技能組合在單一 /<bundle-name> 斷線指令下。呼叫套件會將每個引用的技能載入單一組合的使用者訊息。儲存位置:~/.hermes/skill-bundles/<slug>.yaml。YAML 架構和行為請參閱技能套件

子指令:

子指令說明
list列出已安裝的套件(未給子指令時的預設行為)
show <name>顯示一個套件的名稱、描述、技能和檔案路徑
create <name>建立新套件。傳入 --skill <id>(可重複)或省略以進行互動式輸入。可用 --description--instruction--force
delete <name>移除套件檔案
reload重新掃描 ~/.hermes/skill-bundles/ 並報告新增/移除的套件

範例:

hermes bundles create backend-dev \
  --skill github-code-review \
  --skill test-driven-development \
  --skill github-pr-workflow \
  -d "Backend feature work"

hermes bundles list
hermes bundles show backend-dev
hermes bundles delete backend-dev

在聊天對話中,/bundles 列出已安裝的套件,/<bundle-name> 載入一個。

hermes curator

hermes curator <subcommand>

Curator 是一個輔助模型背景任務,定期檢視代理建立的技能、修剪過時的技能、整合重疊的部分,並封存過時的技能。內建和 hub 安裝的技能永遠不會被觸碰。封存是可恢復的;永遠不會自動刪除。

子指令說明
status顯示 curator 狀態和技能統計
run立即觸發一次 curator 審查(阻塞直到 LLM 擊次完成)
run --background在背景執行緒中啟動 LLM 擊次並立即回傳
run --dry-run僅預覽 — 產生審查報告但不進行變更
backup手動對 ~/.hermes/skills/ 進行 tar.gz 快照(curator 在每次實際執行前也會自動快照)
rollback從快照還原 ~/.hermes/skills/(預設使用最新的)
rollback --list列出可用的快照
rollback --id <ts>按 ID 還原特定快照
rollback -y跳過確認提示
pause暫停 curator 直到恢復
resume恢復已暫停的 curator
pin <skill>釘選技能使 curator 永遠不會自動轉換它
unpin <skill>取消釘選技能
restore <skill>還原已封存的技能
archive <skill>手動封存技能
prune手動修剪 curator 通常會清理的技能
list-archived列出已封存的技能(可透過 restore 恢復)

在全新安裝中,首次排程的擊次會延後一個完整的 interval_hours(預設 7 天)— 閘道不會在 hermes update 後的首次 tick 時立即進行整理。在此之前使用 hermes curator run --dry-run 預覽。

行為和設定請參閱 Curator

hermes fallback

hermes fallback <subcommand>

管理備用供應商鏈。當主要模型因速率限制、過載或連線錯誤而失敗時,依序嘗試備用供應商。

子指令說明
list(別名:ls顯示目前的備用鏈(未給子指令時的預設行為)
add選擇一個供應商 + 模型(與 hermes model 相同的選擇器)並追加到鏈中
remove(別名:rm選擇一個要從鏈中刪除的項目
clear移除所有備用項目

參閱備用供應商

hermes hooks

hermes hooks <subcommand>

檢視在 ~/.hermes/config.yaml 中宣告的 shell 腳本 hook,使用合成 payload 測試它們,並管理 ~/.hermes/shell-hooks-allowlist.json 中的首次使用同意白名單。

子指令說明
list(別名:ls列出已設定的 hook 及其匹配器、逾時和同意狀態
test <event>使用合成 payload 觸發所有匹配 <event> 的 hook
revoke(別名:removerm移除命令的白名單項目(下次重啟時生效)
doctor檢查每個已設定的 hook:exec 權限、白名單、mtime 漂移、JSON 有效性和合成執行計時

事件簽名和 payload 格式請參閱 Hooks

hermes memory

hermes memory <subcommand>

設定和管理外部記憶供應商外掛。可用供應商:honcho、openviking、mem0、hindsight、holographic、retaindb、byterover、supermemory。同一時間只能有一個外部供應商處於活躍狀態。內建記憶(MEMORY.md/USER.md)始終活躍。

子指令:

子指令說明
setup互動式供應商選擇和設定。
status顯示目前記憶供應商設定。
off停用外部供應商(僅保留內建)。

資訊 — 供應商專屬子指令

當外部記憶供應商處於活躍狀態時,它可能會註冊自己的頂層 hermes <provider> 指令用於供應商專屬管理(例如 Honcho 活躍時的 hermes honcho)。非活躍的供應商不會暴露其子指令。執行 hermes --help 查看目前有哪些指令。

hermes acp

hermes acp

將 Hermes 作為 ACP(Agent Client Protocol)stdio 伺服器啟動,用於編輯器整合。

相關入口:

hermes-acp
python -m acp_adapter

請先安裝支援:

pip install -e '.[acp]'

參閱 ACP 編輯器整合ACP 內部機制

hermes mcp

hermes mcp <subcommand>

管理 MCP(Model Context Protocol)伺服器設定,並將 Hermes 作為 MCP 伺服器執行。

子指令說明
(無)picker互動式目錄選擇器 — 瀏覽 Nous 核准的 MCP 並安裝/啟用/停用。
catalog列出 Nous 核准的 MCP(純文字,可腳本化)。
install <name>安裝目錄項目(例如 hermes mcp install n8n)。
serve [-v|--verbose]將 Hermes 作為 MCP 伺服器執行 — 對其他代理暴露對話。
add <name> [--url URL] [--command CMD] [--auth oauth|header] [--args ...]新增具有自動工具發現功能的自訂 MCP 伺服器。--args 將剩餘的 argv 傳給 stdio 命令,因此請放在最後。
remove <name>(別名:rm從設定中移除 MCP 伺服器。
list(別名:ls列出已設定的 MCP 伺服器。
test <name>測試與 MCP 伺服器的連線。
configure <name>(別名:config切換伺服器的工具選擇。
login <name>強制對基於 OAuth 的 MCP 伺服器重新認證。

參閱 MCP 設定參考在 Hermes 中使用 MCPMCP 伺服器模式

hermes plugins

hermes plugins [subcommand]

統一的外掛管理 — 一般外掛、記憶供應商和上下文引擎集中管理。不帶子指令執行 hermes plugins 會開啟一個組合互動畫面,包含兩個區段:

  • 一般外掛 — 多選複選框用於啟用/停用已安裝的外掛
  • 供應商外掛 — 記憶供應商和上下文引擎的單選設定。按 ENTER 開啟無線電選擇器。
子指令說明
(無)組合互動 UI — 一般外掛切換 + 供應商外掛設定。
install <identifier> [--force]從 Git URL 或 owner/repo 安裝外掛。
update <name>拉取已安裝外掛的最新變更。
remove <name>(別名:rmuninstall移除已安裝的外掛。
enable <name>啟用已停用的外掛。
disable <name>停用外掛但不移除。
list(別名:ls列出已安裝的外掛及其啟用/停用狀態。

供應商外掛選擇會儲存至 config.yaml

  • memory.provider — 活躍的記憶供應商(空值 = 僅內建)
  • context.engine — 活躍的上下文引擎("compressor" = 內建預設)

一般外掛停用清單儲存在 config.yamlplugins.disabled 下。

參閱外掛建立 Hermes 外掛

hermes tools

hermes tools [--summary]
選項說明
--summary列出目前已啟用工具的摘要後離開。

不帶 --summary 時,這會啟動互動式的按平台工具設定 UI。

hermes computer-use

hermes computer-use <subcommand>

子指令:

子指令說明
install執行上游 cua-driver 安裝程式(僅 macOS)。
install --upgrade即使 cua-driver 已在 PATH 上也重新執行安裝程式。上游腳本始終拉取最新版本,因此這會執行就地升級。
status列出 cua-driver 是否在 $PATH 上以及已安裝的版本。

hermes computer-use install 是安裝 cua-driver 二進位檔案的穩定入口點, 供 computer_use 工具集使用。它執行與 hermes tools 在你首次啟用 Computer Use 時呼叫的相同上游安裝程式,因此可以安全地 用於在工具集切換未觸發安裝時重新執行(例如在回訪使用者設定中)。

hermes update 會在更新結束時自動重新執行上游安裝程式(如果 cua-driver 在 PATH 上),因此大多數使用者不需要 手動呼叫 --upgrade。當上游發佈了你想要立即取得的修復而不想等待下一次 Hermes 更新時使用它。

hermes sessions

hermes sessions <subcommand>

子指令:

子指令說明
list列出近期對話。
browse互動式對話選擇器,支援搜尋和恢復。
export <output> [--session-id ID]將對話匯出為 JSONL。
delete <session-id>刪除一個對話。
prune刪除舊對話。
stats顯示對話儲存統計。
rename <session-id> <title>設定或變更對話標題。

hermes insights

hermes insights [--days N] [--source platform]
選項說明
--days <n>分析最近 n 天(預設:30)。
--source <platform>按來源篩選,例如 clitelegramdiscord

hermes claw

hermes claw migrate [options]

將你的 OpenClaw 設定遷移至 Hermes。從 ~/.openclaw(或自訂路徑)讀取並寫入 ~/.hermes。自動偵測舊版目錄名稱(~/.clawdbot~/.moltbot)和設定檔名稱(clawdbot.jsonmoltbot.json)。

選項說明
--dry-run預覽將被遷移的內容而不寫入任何內容。
--preset <name>遷移預設集:full(所有相容設定)或 user-data(排除基礎設施設定)。兩個預設集都不匯入密鑰 — 請明確傳入 --migrate-secrets
--overwrite衝突時覆蓋現有的 Hermes 檔案(預設:當計畫有衝突時拒絕套用)。
--migrate-secrets在遷移中包含 API 金鑰。即使在 --preset full 下也是必要的。
--no-backup跳過遷移前的 ~/.hermes/ zip 快照(預設在套用前會寫入一個還原點封存至 ~/.hermes/backups/pre-migration-*.zip;可透過 hermes import 還原)。
--source <path>自訂 OpenClaw 目錄(預設:~/.openclaw)。
--workspace-target <path>工作區指示(AGENTS.md)的目標目錄。
--skill-conflict <mode>處理技能名稱衝突:skip(預設)、overwriterename
--yes跳過確認提示。

遷移內容

遷移涵蓋 30+ 個類別,包括角色、記憶、技能、模型供應商、訊息平台、代理行為、對話策略、MCP 伺服器、TTS 等。項目會被直接匯入至 Hermes 對應項或封存以供手動審查。

直接匯入: SOUL.md、MEMORY.md、USER.md、AGENTS.md、技能(4 個來源目錄)、預設模型、自訂供應商、MCP 伺服器、訊息平台 token 和白名單(Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost)、代理預設值(推理強度、壓縮、人類延遲、時區、沙箱)、對話重置策略、核准規則、TTS 設定、瀏覽器設定、工具設定、exec 逾時、命令白名單、閘道設定,以及來自 3 個來源的 API 金鑰。

封存以供手動審查: 排程工作、外掛、hook/webhook、記憶後端(QMD)、技能登錄設定、UI/身分、日誌、多代理設定、頻道綁定、IDENTITY.md、TOOLS.md、HEARTBEAT.md、BOOTSTRAP.md。

API 金鑰解析按優先順序檢查三個來源:設定值 → ~/.openclaw/.envauth-profiles.json。所有 token 欄位支援純字串、env 範本(${VAR})和 SecretRef 物件。

完整設定對應、SecretRef 處理細節和遷移後清單,請參閱**完整遷移指南**。

範例

# 預覽將被遷移的內容
hermes claw migrate --dry-run

# 完整遷移(所有相容設定,不含密鑰)
hermes claw migrate --preset full

# 完整遷移包含 API 金鑰
hermes claw migrate --preset full --migrate-secrets

# 僅遷移使用者資料(不含密鑰),覆蓋衝突
hermes claw migrate --preset user-data --overwrite

# 從自訂 OpenClaw 路徑遷移
hermes claw migrate --source /home/user/old-openclaw

hermes dashboard

hermes dashboard [options]

啟動網頁控制面板 — 用於管理設定、API 金鑰和監控對話的瀏覽器 UI。需要 pip install hermes-agent[web](FastAPI + Uvicorn)。內建瀏覽器的聊天分頁始終可用,另外需要 pty 附加元件(pip install 'hermes-agent[web,pty]')以及 POSIX PTY 環境(如 Linux、macOS 或 WSL2)。完整文件請參閱網頁控制面板

選項預設值說明
--port9119Web 伺服器執行的連接埠
--host127.0.0.1綁定位址
--no-open不自動開啟瀏覽器
--insecure關閉允許綁定非 localhost 主機。在網路上暴露控制面板憑證;僅在可信網路控制後使用。
--isolated關閉從命名設定檔啟動時(worker dashboard),執行專屬的按設定檔伺服器而非路由至機器控制面板。
--stop停止執行中的 hermes dashboard 程序並離開。
--status列出執行中的 hermes dashboard 程序並離開。
# 預設 — 開啟瀏覽器至 http://127.0.0.1:9119
hermes dashboard

# 自訂連接埠,不開瀏覽器
hermes dashboard --port 8080 --no-open

# 從設定檔別名 — 路由至機器控制面板,在側邊欄切換器中
# 預選該設定檔(執行中則連線)
worker dashboard

hermes profile

hermes profile <subcommand>

管理設定檔 — 多個隔離的 Hermes 實例,每個都有自己的設定、對話、技能和主目錄。

子指令說明
list列出所有設定檔。
use <name>設定固定的預設設定檔。
create <name> [--clone] [--clone-all] [--clone-from <source>] [--no-alias]建立新設定檔。--clone 從活躍設定檔複製設定、.envSOUL.md 和技能。--clone-all 複製所有狀態。--clone-from 指定來源設定檔,隱含設定複製(除非搭配 --clone-all)。
delete <name> [-y]刪除設定檔。
show <name>顯示設定檔詳細資訊(主目錄、設定等)。
alias <name> [--remove] [--name NAME]管理用於快速存取設定檔的包裝腳本。
rename <old> <new>重新命名設定檔。
export <name> [-o FILE]將設定檔匯出為 .tar.gz 封存(本機備份)。
import <archive> [--name NAME].tar.gz 封存匯入設定檔(本機還原)。
install <source> [--name N] [--alias] [--force] [-y]從 git URL 或本機目錄安裝設定檔發行版。
update <name> [--force-config] [-y]重新拉取發行版;保留使用者資料(記憶、對話、認證)。
info <name>顯示設定檔的發行版 manifest(版本、需求、來源)。

範例:

hermes profile list
hermes profile create work --clone
hermes profile use work
hermes profile alias work --name h-work
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes profile install github.com/user/my-distro --alias
hermes profile update work
hermes -p work chat -q "Hello from work profile"

hermes completion

hermes completion [bash|zsh|fish]

將 shell 自動完成腳本列印至 stdout。在你的 shell 設定檔中 source 輸出以取得 Hermes 指令、子指令和設定檔名稱的 Tab 自動完成。

範例:

# Bash
hermes completion bash >> ~/.bashrc

# Zsh
hermes completion zsh >> ~/.zshrc

# Fish
hermes completion fish > ~/.config/fish/completions/hermes.fish

hermes update

hermes update [--gateway] [--check] [--no-backup] [--backup] [--yes]

拉取最新的 hermes-agent 程式碼並在你的 venv 中重新安裝相依性,然後重新執行安裝後 hook(MCP 伺服器、技能同步、完成安裝)。可在活躍安裝上安全執行。

pip 安裝: hermes update 會自動偵測基於 pip 的安裝 — 它向 PyPI 查詢最新發行版並執行 pip install --upgrade hermes-agent 而非 git pull。PyPI 發行版追蹤標籤版本(主要/次要發行版),而非 main 上的每個提交。使用 --check 查看是否有更新的 PyPI 發行版可用而不安裝。

git 安裝: hermes update 拉取設定的更新分支(預設:main)。如果你的 checkout 在另一個分支上,Hermes 可能在拉取前切換到更新分支。在更新前提交分支工作,如果你想將其保留在更新自動 stash 流程之外。

選項說明
--gateway訊息 /update 指令使用的內部模式。使用基於檔案的 IPC 進行提示和進度串流,而非從終端 stdin 讀取。不是閘道重啟標記。
--check檢查是否有可用更新,不拉取、不安裝相依性、不重啟任何東西。
--no-backup跳過本次執行的更新前備份,即使 config.yaml 中啟用了 updates.pre_update_backup
--backup在拉取前建立帶標籤的 HERMES_HOME 更新前快照(設定、認證、對話、技能、配對資料)。預設為關閉 — 之前的始終備份行為在大型主目錄上會增加數分鐘的更新時間。透過 config.yaml 中的 updates.pre_update_backup: true 永久開啟。
--yes, -y對互動式提示假設為是,例如設定遷移和 stash 還原。跳過 API 金鑰輸入;需要時另行執行 hermes config migrate

額外行為:

  • 閘道重啟。 成功更新後,Hermes 會嘗試自動重啟所有執行中的閘道設定檔以取得新程式碼。想要重啟閘道但不套用更新時,請使用 hermes gateway restart
  • 本機來源變更。 對於 git 安裝,分支切換或拉取前會自動 stash 有變更的已追蹤檔案和未追蹤檔案(git stash push --include-untracked)。互動式終端更新會在還原 stash 前詢問。非互動式更新預設會還原;僅在管理安裝上設定 updates.non_interactive_local_changes: discard,使本機來源編輯在成功拉取後被丟棄。如果 stash 還原衝突或拉取失敗,stash 會保留供手動恢復。
  • npm lockfile 變動。 在 stash 或切換分支前,Hermes 會盡最大努力清理 npm install/build 步驟產生的已追蹤 package-lock.json 差異。在執行 hermes update 前提交或手動 stash 有意的 lockfile 編輯。
  • 配對資料快照。 即使 --backup 關閉,hermes update 也會在 git pull 前對 ~/.hermes/pairing/ 和 Feishu 評論規則進行輕量級快照。如果拉取重寫了你正在編輯的檔案,你可以使用 hermes backup restore --state pre-update 還原。
  • 舊版 hermes.service 警告。 如果 Hermes 偵測到更名前的 hermes.service systemd 單元(而非目前的 hermes-gateway.service),它會顯示一次性的遷移提示以避免震盪迴圈問題。
  • 退出碼。 成功為 0,拉取/安裝/安裝後錯誤為 1,阻擋 git pull 的意外工作區變更為 2

維護指令

指令說明
hermes version列出版本資訊。
hermes update拉取最新變更並重新安裝相依性。
hermes postinstall內部引導程式。在 pip install hermes-agent(或 pip 安裝的 hermes update)後執行一次,安裝 pip 無法提供的非 Python 相依性 — Node.js 執行時、無頭瀏覽器、ripgrep、ffmpeg — 然後在設定檔尚未設定時觸發 hermes setup。可安全地以幂等方式重新執行。
hermes uninstall [--full] [--gui] [--yes]移除 Hermes,選擇性刪除所有設定/資料。--gui 僅移除桌面聊天 GUI,保留代理完整;--full 同時刪除設定/資料;--yes 跳過提示。

參見



斜線指令參考