Hermes 有兩套斜線命令介面,皆由 hermes_cli/commands.py 中的中央 COMMAND_REGISTRY 驅動:
- 互動式 CLI 斜線命令 — 由
cli.py分派,支援從 registry 自動補全 - 訊息平台斜線命令 — 由
gateway/run.py分派,說明文字與平台選單從 registry 產生
已安裝的 Skills 也會在兩套介面上以動態斜線命令的形式暴露,包含內建 skill 如 /plan,它會開啟 plan mode 並將 markdown 計畫儲存在 .hermes/plans/(相對於工作空間/後端工作目錄)。
權限與 admin/user 分離
每個支援逐用戶允許名單的訊息平台(Telegram、Discord、Slack、Matrix、Mattermost、Signal…)都支援兩層斜線命令分離:管理員可使用所有已註冊命令,一般使用者只能使用你列在 user_allowed_commands 中的名稱(加上永遠允許的底線 /help 與 /whoami)。在 ~/.hermes/gateway-config.yaml 的平台 extra: 區塊中設定 allow_admin_from 與 user_allowed_commands(以及對應的群組設定 group_allow_admin_from / group_user_allowed_commands)。
各平台文件中有範例 — 結構在所有平台上一致:
若某個範圍未設定 allow_admin_from,該範圍會保持無限制的向後相容模式 — 所有允許的使用者都能執行所有命令。
互動式 CLI 斜線命令
在 CLI 中輸入 / 可開啟自動補全選單。內建命令不區分大小寫。
Session
| 命令 | 描述 |
|---|---|
/new [name](別名:/reset) | 開始新 session(新 session ID + 歷史)。可選的 [name] 設定初始 session 標題 — 例如 /new my-experiment 會開啟一個標題為 my-experiment 的全新 session,方便之後用 /resume 或 /sessions 找回。加上 now、--yes 或 -y 可跳過確認對話框 — 例如 /reset now、/new --yes my-experiment。 |
/clear | 清除畫面並開始新 session |
/history | 顯示對話歷史 |
/save | 儲存當前對話 |
/retry | 重試上一則訊息(重新發送給 agent) |
/undo | 移除最後一組 user/assistant 交換 |
/title | 設定當前 session 的標題(用法:/title My Session Name) |
/compress [here [N] | focus topic] | 手動壓縮對話上下文(清除記憶 + 摘要)。/compress here [N] 會摘要除最近 N 組交換外的所有內容(預設為 2),最近的交換保持原文 — 自行選擇壓縮邊界。focus topic 可限制完整摘要保留的範圍。 |
/rollback | 列出或還原檔案系統檢查點(用法:/rollback [number]) |
/snapshot [create|restore <id>|prune](別名:/snap) | 建立或還原 Hermes 設定/狀態的快照。create [label] 建立快照,restore <id> 還原到該快照,prune [N] 刪除舊快照,或不加參數列出所有快照。 |
/stop | 終止所有背景執行的程序 |
/queue <prompt>(別名:/q) | 將 prompt 排入下一輪(不中斷當前 agent 回應)。 |
/steer <prompt> | 注入一則中繼指令,會在下一次工具呼叫後到達 agent — 不中斷、不產生新的使用者回合。文字會在當前工具完成後附加到最後一次工具結果的內容,讓 agent 獲得新的上下文而不打斷當前的工具呼叫迴圈。用於在工作中途微調方向(例如在 agent 執行測試時「聚焦於 auth 模組」)。 |
/goal <text> | 設定一個持久目標,Hermes 會跨回合持續推進 — 我們對 Ralph 迴圈的實作。每回合後由輔助判斷模型決定目標是否完成;若未完成,Hermes 自動繼續。子命令:/goal status、/goal pause、/goal resume、/goal clear。預算預設為 20 回合(goals.max_turns);任何真實的使用者訊息會搶佔持續迴圈,狀態可跨 /resume 保留。參見 持久目標 完整說明。 |
/subgoal <text> | 在迴圈中追加使用者定義的標準到活躍目標。持續提示會將所有子目標原樣呈現給 agent,判斷模型會將它們納入 DONE/CONTINUE 判斷 — 因此目標只在原始目標與每個子目標都滿足時才會標記完成。子命令:/subgoal(列出)、/subgoal remove <N>、/subgoal clear。需要有活躍的 /goal。 |
/resume [name] | 恢復先前命名的 session |
/sessions(TUI 別名:/switch) | 經典 CLI:在互動式選擇器中瀏覽並恢復先前的 session。TUI:開啟即時 session 切換器,用於當前開啟的 TUI session。在 TUI 中使用 /sessions new 可立即開始另一個即時 session。 |
/redraw | 強制完整 UI 重繪(從 tmux 調整大小後的終端漂移、滑鼠選取殘影等問題中恢復) |
/status | 顯示 session 資訊 — 模型、供應商、profile、session ID、工作目錄、標題、建立/更新時間戳記、token 總量、agent 執行狀態 — 接著是本地的 Session 摘要區塊(近期 user/assistant 回合計數、工具結果計數、最常使用的工具、最近存取的檔案、最新使用者提示與最新助手回覆)。摘要由本地從記憶體中的對話計算,無 LLM 呫叫、無 prompt-cache 影響。 |
/agents(別名:/tasks) | 顯示當前 session 中的活躍 agent 與執行中的任務。 |
/background <prompt>(別名:/bg、/btw) | 在獨立的背景 session 中執行 prompt。agent 會獨立處理你的 prompt — 你的當前 session 繼續可用於其他工作。完成後結果以面板形式顯示。參見 CLI 背景 Session。 |
/branch [name](別名:/fork) | 分支當前 session(探索不同的路徑) |
/handoff <platform> | 僅限 CLI。 將當前 session 移交至訊息平台(Telegram、Discord、Slack、WhatsApp、Signal、Matrix)。gateway 會立即接管,在支援 thread 的平台建立新 thread(Telegram topics、Discord 文字頻道 thread、Slack 訊息錨定 thread),重新綁定目標到你的 CLI session_id 以便完整播放角色感知的對話記錄,並建立合成的使用者回合讓 agent 確認已在新位置工作。成功後 CLI 乾淨退出並提示 /resume;隨時可用 /resume <title> 在本地恢復。在回合中途拒絕。需要 gateway 運行中且目標平台已設定 home channel(在目標聊天中使用 /sethome)。參見 跨平台移交。 |
Configuration
| 命令 | 描述 |
|---|---|
/config | 顯示當前設定 |
/model [model-name] | 顯示或切換當前模型。支援:/model claude-sonnet-4、/model provider:model(切換供應商)、/model custom:model(自訂端點)、/model custom:name:model(命名自訂供應商)、/model custom(從端點自動偵測),以及使用者定義的別名(/model fav、/model grok — 參見 自訂模型別名)。使用 --global 可將變更持久化到 config.yaml。注意: /model 只能在已設定的供應商之間切換。要新增供應商,請離開 session 並在終端機中執行 hermes model。 |
/codex-runtime [auto|codex_app_server|on|off] | 切換可選的 Codex app-server runtime,用於 OpenAI/Codex 模型。auto(預設)使用 Hermes 的標準 chat completions;codex_app_server 將回合交給 codex app-server 子程序以取得原生 shell、apply_patch、ChatGPT 訂閱驗證及遷移的 Codex 外掛。於下次 session 生效。 |
/personality | 設定預定義的人格特質 |
/verbose | 循環切換工具進度顯示:off → new → all → verbose。可透過設定在訊息平台中啟用。 |
/fast [normal|fast|status] | 切換快速模式 — OpenAI Priority Processing / Anthropic Fast Mode。選項:normal、fast、status。 |
/reasoning | 管理推理努力程度與顯示(用法:/reasoning [level|show|hide]) |
/skin | 顯示或切換顯示外觀/主題 |
/statusbar(別名:/sb) | 開啟或關閉上下文/模型狀態列 |
/voice [on|off|tts|status] | 切換 CLI 語音模式與語音播放。錄音使用 voice.record_key(預設:Ctrl+B)。 |
/yolo | 切換 YOLO 模式 — 跳過所有危險命令的確認提示。 |
/footer [on|off|status] | 切換最終回覆的 gateway 運行時元資料頁尾(顯示模型、上下文 % 與 cwd)。 |
/busy [queue|steer|interrupt|status] | 僅限 CLI:控制在 Hermes 工作時按下 Enter 的行為 — 排入新訊息、中繼轉向、或立即中斷。 |
/indicator [kaomoji|emoji|unicode|ascii] | 僅限 CLI:選擇 TUI 忙碌指示器樣式。 |
Tools & Skills
| 命令 | 描述 |
|---|---|
/tools [list|disable|enable] [name...] | 管理工具:列出可用工具,或停用/啟用當前 session 的特定工具。停用工具會將其從 agent 的工具集中移除並觸發 session 重設。 |
/toolsets | 列出可用的工具組 |
/browser [connect|disconnect|status] | 管理本地 Chromium 系列 CDP 連線。connect 將瀏覽器工具附加到運行中的 Chrome、Brave、Chromium 或 Edge 實例(預設:http://127.0.0.1:9222)。disconnect 中斷連線。status 顯示當前連線。若未偵測到除錯器,會自動啟動支援的 Chromium 系列瀏覽器。 |
/skills | 搜尋、安裝、檢視或管理來自線上註冊表的 skills。也是 skill 寫入審核閘道的審核介面:/skills pending、/skills diff <id>、/skills approve <id>、/skills reject <id>、/skills approval on|off。參見 控管 agent skill 寫入。 |
/memory [pending|approve|reject|approval] | 審核由寫入審核閘道(memory.write_approval)暫存的待處理記憶寫入,並切換閘道。參見 控管記憶寫入。 |
/bundles | 列出已設定的 skill 組合 — /<name> 斜線別名可一次預載多個 skill。在 ~/.hermes/config.yaml 的 bundles: 下設定。參見 Skill 組合。 |
/cron | 管理排程任務(list、add/create、edit、pause、resume、run、remove) |
/curator | 背景 skill 維護 — status、run、pin、archive。參見 Curator。 |
/kanban <action> | 在不離開聊天的情況下操作多 profile、多專案的協作看板。完整的 hermes kanban 介面均可使用:/kanban list、/kanban show t_abc、/kanban create "title" --assignee X、/kanban comment t_abc "text"、/kanban unblock t_abc、/kanban dispatch 等。支援多看板:/kanban boards list、/kanban boards create <slug>、/kanban boards switch <slug>、/kanban --board <slug> <action>。參見 Kanban 斜線命令。 |
/reload-mcp(別名:/reload_mcp) | 從 config.yaml 重新載入 MCP 伺服器 |
/reload-skills(別名:/reload_skills) | 重新掃描 ~/.hermes/skills/ 以偵測新安裝或已移除的 skills |
/reload | 將 .env 變數重新載入到執行中的 session(無需重啟即可取得新的 API 金鑰) |
/plugins | 列出已安裝的外掛及其狀態 |
Info
| 命令 | 描述 |
|---|---|
/help | 顯示此說明訊息 |
/version | 顯示 Hermes Agent 版本、組建與環境資訊。 |
/usage | 顯示 token 使用量、成本明細、session 時長,以及 — 當活躍供應商提供時 — 包含從供應商 API 即時拉取的剩餘配額/額度/方案使用量的帳戶限制區塊。 |
/insights | 顯示使用量洞察與分析(最近 30 天) |
/platforms(別名:/gateway) | 顯示 gateway/訊息平台狀態(僅限 CLI 摘要視圖)。 |
/platform <list|pause|resume> [name] | 操作運行中的 gateway 平台。/platform list 列出所有適配器及其狀態(running、paused-by-breaker、manually-paused);/platform pause <name> 停止向該適配器分派新訊息但不卸載;/platform resume <name> 重新啟用。gateway 也會在電路斷路器因重複可重試失敗(網路/速率限制/5xx)跳閘時自動暫停適配器 — 在上游恢復後使用 /platform resume <name> 清除斷路器。在可連線到 gateway 的任何地方可用(CLI session、Telegram、Discord…)。 |
/paste | 附加剪貼簿圖片 |
/copy [number] | 將最後一個助手回應複製到剪貼簿(或第 N 個回應)。僅限 CLI。 |
/image <path> | 附加本機圖片檔案供下一個 prompt 使用。 |
/debug | 上傳除錯報告(系統資訊 + 日誌)並取得可分享的連結。在訊息平台也可用。 |
/profile | 顯示活躍 profile 名稱與主目錄 |
/gquota | 顯示 Google Gemini Code Assist 配額使用量及進度條(僅在 google-gemini-cli 供應商啟動時可用)。 |
Exit
| 命令 | 描述 |
|---|---|
/quit | 退出 CLI(也可用 /exit)。 |
Dynamic CLI slash commands
| 命令 | 描述 |
|---|---|
/<skill-name> | 將任何已安裝的 skill 載入為按需命令。例如:/gif-search、/github-pr-workflow、/excalidraw。 |
/skills ... | 從註冊表和官方可選 skill 目錄搜尋、瀏覽、檢視、安裝、稽核、發布和設定 skills。 |
Quick Commands
使用者定義的快速命令將短斜線命令對應到 shell 命令或另一個斜線命令。在 ~/.hermes/config.yaml 中設定:
quick_commands:
status:
type: exec
command: systemctl status hermes-agent
deploy:
type: exec
command: scripts/deploy.sh
inbox:
type: alias
target: /gmail unread
然後在 CLI 或訊息平台中輸入 /status、/deploy 或 /inbox。快速命令在分派時解析,可能不會出現在每個內建自動補全/說明表中。
不支援純字串提示捷徑作為快速命令。將較長的可重複使用提示放在 skill 中,或使用 type: alias 指向現有斜線命令。
Custom model aliases
為你常用的模型定義自己的短名稱,然後在 CLI 或任何訊息平台中透過 /model <alias> 使用它們。別名在兩者中行為一致,支援僅限 session(預設)和 --global 切換。
支援兩種設定格式:
完整形式 — 指定精確的模型、供應商和可選的 base URL。放在 ~/.hermes/config.yaml 中:
model_aliases:
fav:
model: claude-sonnet-4.6
provider: anthropic
grok:
model: grok-4
provider: x-ai
ollama-qwen:
model: qwen3-coder:30b
provider: custom
base_url: http://localhost:11434/v1
簡短形式 — 以一個字串表示 provider/model。從 shell 設定,無需編輯 YAML:
hermes config set model.aliases.fav anthropic/claude-opus-4.6
hermes config set model.aliases.grok x-ai/grok-4
然後在聊天中:
/model fav # 僅限 session
/model grok --global # 同時將當前模型變更持久化到 config.yaml
使用者別名優先於內建短名稱,因此將別名命名為 sonnet、kimi、opus 等會遮蔽內建名稱。別名名稱不區分大小寫。
Alias Resolution
命令支援前綴匹配:輸入 /h 會解析為 /help,/mod 會解析為 /model。當前綴模糊(匹配多個命令)時,registry 順序中的第一個匹配勝出。完整命令名稱和已註冊別名始終優先於前綴匹配。
Messaging slash commands
訊息 gateway 支援以下內建命令,可在 Telegram、Discord、Slack、WhatsApp、Signal、Email、Home Assistant 和 Teams 聊天中使用:
| 命令 | 描述 |
|---|---|
/start | 平台協議命令。許多聊天平台(Telegram、Discord…)會在使用者第一次開啟機器人對話時自動發送 /start。Hermes 會靜默確認 — 不產生 agent 回覆、不消耗 session — 以便首次接觸的握手不會浪費回合。你也可以手動發送以確認 gateway 可達。 |
/new | 開始新對話。 |
/reset | 重設對話歷史。 |
/status | 顯示 session 資訊,接著是本地的 Session 摘要區塊(近期回合計數、最常使用的工具、存取的檔案、最新提示 + 回覆)。 |
/stop | 終止所有背景執行的程序並中斷正在執行的 agent。 |
/model [provider:model] | 顯示或切換模型。支援供應商切換(/model zai:glm-5)、自訂端點(/model custom:model)、命名自訂供應商(/model custom:local:qwen)、自動偵測(/model custom)及使用者定義的別名(/model fav、/model grok — 參見 自訂模型別名)。使用 --global 可將變更持久化到 config.yaml。注意: /model 只能在已設定的供應商之間切換。要新增供應商或設定 API 金鑰,請在終端機中使用 hermes model(在聊天 session 之外)。 |
/codex-runtime [auto|codex_app_server|on|off] | 切換可選的 Codex app-server runtime。持久化到 config.yaml 的 model.openai_runtime 並驅逐快取的 agent,以便下一則訊息使用新的 runtime。於下次 session 生效。 |
/personality [name] | 設定 session 的人格覆蓋。 |
/fast [normal|fast|status] | 切換快速模式 — OpenAI Priority Processing / Anthropic Fast Mode。 |
/retry | 重試上一則訊息。 |
/undo | 移除最後一組交換。 |
/sethome(別名:/set-home) | 將當前聊天標記為該平台的 home channel,用於訊息投遞。 |
/compress [here [N] | focus topic] | 手動壓縮對話上下文。/compress here [N] 保留最近 N 組交換(預設為 2)原文並摘要其餘。focus topic 可限制完整摘要保留的範圍。 |
/topic [off|help|session-id] | 僅限 Telegram 私訊。 管理使用者管理的多 session topic 模式。/topic 啟用或顯示狀態;/topic off 停用並清除綁定;/topic help 顯示用法;在 topic 中使用 /topic <session-id> 可恢復先前的 session。參見 多 session 私訊模式。 |
/title [name] | 設定或顯示 session 標題。 |
/resume [name] | 恢復先前命名的 session。 |
/usage | 顯示 token 使用量、估計成本明細(輸入/輸出)、上下文視窗狀態、session 時長,以及 — 當活躍供應商提供時 — 包含從供應商 API 即時拉取的剩餘配額/額度的帳戶限制區塊。 |
/insights [days] | 顯示使用量分析。 |
/reasoning [level|show|hide] | 變更推理努力程度或切換推理顯示。 |
/voice [on|off|tts|join|channel|leave|status] | 控制聊天中的語音回覆。join/channel/leave 管理 Discord 語音頻道模式。 |
/rollback [number] | 列出或還原檔案系統檢查點。 |
/background <prompt> | 在獨立的背景 session 中執行 prompt。完成後結果會回傳到同一個聊天。參見 訊息平台背景 Session。 |
/queue <prompt>(別名:/q) | 將 prompt 排入下一輪,不中斷當前回合。 |
/steer <prompt> | 在下一次工具呼叫後注入訊息,不中斷 — 模型會在下一次迭代中拾取,而非作為新回合。 |
/goal <text> | 設定一個持久目標,Hermes 會跨回合持續推進 — 我們對 Ralph 迴圈的實作。判斷模型每回合後檢查;若未完成,Hermes 自動繼續直到完成、你暫停/清除它、或達到回合預設上限(20)。子命令:/goal status、/goal pause、/goal resume、/goal clear。在 agent 執行中安全執行 status/pause/clear;設定新目標需要先 /stop。參見 持久目標。 |
/footer [on|off|status] | 切換最終回覆的運行時元資料頁尾(顯示模型、上下文 % 與 cwd)。 |
/curator [status|run|pin|archive] | 背景 skill 維護控制。 |
/memory [pending|approve|reject|approval] | 審核由寫入審核閘道(memory.write_approval)暫存的待處理記憶寫入 — 直接在聊天中批准或拒絕 — 並使用 /memory approval on|off 切換閘道。參見 控管記憶寫入。 |
/skills [pending|approve|reject|diff|approval] | 審核由寫入審核閘道(skills.write_approval)暫存的待處理 skill 寫入。每次暫存寫入顯示一行摘要;/skills diff <id> 在聊天中被截斷 — 完整差異可在 CLI 或 ~/.hermes/pending/skills/<id>.json 中查看。僅在閘道開啟時(或仍有暫存寫入時)出現;搜尋/安裝仍僅限 CLI。 |
/kanban <action> | 從聊天操作多 profile、多專案的協作看板 — 與 CLI 完全相同的參數介面。可繞過執行中 agent 的守護,因此 /kanban unblock t_abc、/kanban comment t_abc "…"、/kanban list --mine、/kanban boards switch <slug> 等可在回合中途執行。/kanban create … 會自動將來源聊天訂閱到新任務的終端事件。參見 Kanban 斜線命令。 |
/reload-mcp(別名:/reload_mcp) | 從設定重新載入 MCP 伺服器。 |
/yolo | 切換 YOLO 模式 — 跳過所有危險命令的確認提示。 |
/commands [page] | 瀏覽所有命令和 skills(分頁)。 |
/approve [session|always] | 批准並執行待處理的危險命令。session 僅批准本次 session;always 加入永久允許名單。 |
/deny | 拒絕待處理的危險命令。 |
/update | 將 Hermes Agent 更新至最新版本。 |
/restart | 在排空活躍執行後優雅重啟 gateway。當 gateway 恢復上線時,會向請求者的聊天/thread 發送確認訊息。 |
/debug | 上傳除錯報告(系統資訊 + 日誌)並取得可分享的連結。 |
/help | 顯示訊息平台說明。 |
/<skill-name> | 透過名稱呼叫任何已安裝的 skill。 |
Notes
/skin、/snapshot、/gquota、/reload、/tools、/toolsets、/browser、/config、/cron、/platforms、/paste、/image、/statusbar、/plugins、/busy、/indicator、/redraw、/clear、/history、/save、/copy、/handoff和/quit是僅限 CLI 的命令。/skills在 search/browse/install 方面僅限 CLI;其寫入審核子命令(pending、approve、reject、diff、approval)在skills.write_approval開啟時也可在訊息平台上使用。/memory在兩套介面上都可使用。/verbose預設僅限 CLI,但可透過在config.yaml中設定display.tool_progress_command: true在訊息平台上啟用。啟用後,它會循環切換display.tool_progress模式並儲存到設定中。/sethome、/update、/restart、/approve、/deny、/topic和/commands是僅限訊息平台的命令。/status、/version、/background、/queue、/steer、/voice、/reload-mcp、/reload-skills、/rollback、/debug、/fast、/footer、/curator、/kanban、/sessions和/yolo在 CLI 和訊息 gateway 中都可使用。/voice join、/voice channel和/voice leave僅在 Discord 上有意義。- 在 TUI 中,
/sessions顯示當前 TUI 程序中的即時 session。使用/resume [name]或hermes --tui --resume <id-or-title>來恢復已儲存或已關閉的對話記錄。
破壞性命令的確認提示
CLI 在執行會丟棄未儲存 session 狀態的斜線命令前會提示確認。目前的破壞性命令集如下:
| 命令 | 會銷毀什麼 |
|---|---|
/clear | 清除畫面並開始全新 session — 當前 session ID 與記憶體中的歷史都會消失。 |
/new / /reset | 開始全新 session(新 session ID + 空歷史)。 |
/undo | 從歷史中移除最後一組 user/assistant 交換。 |
/exit --delete / /quit --delete | 退出並永久刪除當前 session 的 SQLite 歷史和磁碟上的對話記錄。 |
對每個命令,CLI 會開啟一個三選一對話框:批准一次(本次繼續)、永遠批准(繼續並持久化 approvals.destructive_slash_confirm: false,以便未來的破壞性命令無需提示即可執行)或取消。
內聯跳過: 加上 now、--yes 或 -y 可為單次執行跳過對話框 — 例如 /reset now、/new --yes my-session、/clear -y、/undo -y。當對話框在你的終端機上顯示不正確時很有用(參見 issue #30768 關於原生 Windows PowerShell 的情況),或在對 CLI 寫腳本時使用。
在 ~/.hermes/config.yaml 中設定 approvals.destructive_slash_confirm: false 可全域停用提示;設回 true 可重新啟用。參見 安全性 — 破壞性斜線命令確認 了解更多背景。