H繁中版
Flows10 個真正重要的 Hermes Agent 設定
ConfigurationIntermediate5 分鐘閱讀by Tony
<!-- Source: https://hermesbible.com/flows/10-hermes-settings-that-matter -->

為什麼需要這份清單

網路上充斥著大量追逐流量的 Hermes「隱藏設定」——滿滿的環境變數,但這些在官方文件、config.yaml.env 或原始碼中根本不存在。拿它們去對照實際的 Hermes 代理和官方文件,你會發現完全對不上。

這份清單正好相反:真實的設定鍵值、真實的指令、真正有作用的設定。沒有 HERMES_MAKE_ME_SMARTER=1 這種胡扯。只有那些讓 Hermes 變得有用的基礎部分——身分、記憶體、設定檔、定時排程、gateway、MCP、技能、上下文檔案、委派和外掛。

簡單的真相:代理不會因為你更努力許願就變好。它會變好是因為你正確地設定了預設值。這是大多數人會跳過的部分,因為它不夠性感。但它也是真正有效的部分。

1. SOUL.md——賦予 Hermes 靈魂的檔案

檔案: ~/.hermes/SOUL.md

這是 Hermes 載入系統提示的第一個東西。它是身分層——不是附加元件,不是氣氛設定。如果你從來不碰它,當 Hermes 聽起來像一個禮貌但空洞的企業客服時,別感到意外。那不是模型的問題,是你的設定問題。

# Personality
You are pragmatic, direct, and unsentimental.
You optimize for truth, usefulness, and clean execution.

## Style
- Be concise unless depth is actually needed
- Push back when the request is sloppy
- Admit uncertainty plainly
- Don't do fake enthusiasm
- Don't pad answers to sound clever

## Technical posture
- Prefer simple systems over cute ones
- Treat edge cases like real design constraints
- Never invent facts to fill a gap
  • 之前: 通用助理的廢話。
  • 之後: Hermes 有了穩定的語氣和明確的操作合約。
  • 為什麼大家會忽略它: 他們還在找像 2023 年那樣的神秘提示技巧。Hermes 已經預設了一個 SOUL.md。去編輯它。

2. 記憶體設定——忘記一切是很尷尬的

檔案: ~/.hermes/config.yaml

Hermes 有內建的記憶體加上外部記憶體提供者。重要的設定鍵值是 memory.memory_enabledmemory.user_profile_enabledmemory.provider

memory:
  memory_enabled: true
  user_profile_enabled: true
  memory_char_limit: 3500
  user_char_limit: 2500
  provider: holographic
  flush_min_turns: 6
  nudge_interval: 10
  • 之前: 每次對話都從零開始。
  • 之後: Hermes 記得你的偏好、專案習慣和已經決定的事情,所以你不用重複自己。
  • 為什麼大家會忽略它: 記憶體不是一個開關,它是一個系統。如果 memory.provider 設錯了,或者你在遷移後從來沒檢查過設定,你會以為它在記憶,其實它只是在產生連續性的幻覺。

3. 設定檔——一個 Hermes 做所有事會變成一團亂

指令: hermes profile create

設定檔是隔離的 Hermes 空間:新的設定、新的 .env、新的 SOUL.md、新的記憶體、新的對話、新的技能、新的定時排程、新的 gateway 狀態。同一台機器,獨立的隔間。

hermes profile create writer --clone --clone-from default
writer setup
writer chat
  • 之前: 一個代理在同一堆東西裡做寫作、運營、研究和隨機瑣事。
  • 之後: 一個有寫作語氣的 writer 設定檔、一個有不同認證資訊的 ops 設定檔、一個不會被其他設定檔污染的研究設定檔。
  • 為什麼大家會忽略它: 他們以為設定檔是某種進階的多使用者噱頭。不是的。它們是防止代理把所有接觸到的東西混在一起的方法。

4. 定時排程搭配 --deliver——聊天變成運營

指令: hermes cron create

這個設定悄悄地把 Hermes 從一個聊天框變成一個在你沒看著的時候自動工作的東西。

hermes cron create "0 7 * * *" \
  --name "morning-briefing" \
  --deliver telegram \
  "Check my calendar, email, and project boards. Write a concise morning briefing."

--deliver 是重點。你可以把輸出送到 Telegram、Discord、本地或指定平台,這樣定時任務的結果會出現在你真正在的地方,而不是埋在你忘了的終端機裡。

  • 之前: 你記得要去問。
  • 之後: Hermes 記得要去跑。
  • 為什麼大家會忽略它: 他們一直把 Hermes 當成互動式助理。定時排程是代理從「等你下指令」變成「按自己的排程運作」的轉折點。

5. Gateway——你的代理不應該被困在終端機裡

指令: hermes gateway run

Hermes 透過 gateway 支援 Telegram、Discord、Slack、WhatsApp、Signal 等多個平台。文件清楚說明在前台運作是 WSL、Docker 和 Termux 的推薦模式。

hermes gateway setup
hermes gateway run
  • 之前: 你必須坐在電腦前才能跟它對話。
  • 之後: 你用手機傳訊息給它,它仍然能使用工具、保持對話記錄完整,並把工作成果送回你要求的地方。
  • 為什麼大家會忽略它: 他們從來沒完成設定,然後假裝 gateway 不存在。

6. MCP 伺服器——把 Hermes 接上你其他技術堆疊最乾淨的方式

檔案: ~/.hermes/config.yaml

如果你想讓 Hermes 使用 GitHub、資料庫、內部 API、檔案系統,或任何支援 Model Context Protocol 的東西,這是入口。

mcp_servers:
  hermes-vault:
    command: /home/tony/.local/bin/hermes-vault-mcp
    args: []
    enabled: true
    env:
      HERMES_VAULT_HOME: /home/tony/.hermes/hermes-vault-data
  • 之前: Hermes 只能使用它內建的工具。
  • 之後: Hermes 在啟動時載入外部工具,像使用原生功能一樣使用它們。
  • 為什麼大家會忽略它: MCP 聽起來像基礎設施術語,人們聽到術語就退縮了。這是整個技術堆疊中最強大的設定之一。

7. 技能——Hermes 不再從頭解決同樣問題的地方

指令: hermes skills install

技能是程式化的記憶。當 Hermes 學會一個可重複的工作流程時,它可以儲存起來以後重複使用。這才是真正的自我改進循環——不是感覺,不是魔法。

hermes skills install openai/skills/k8s
hermes skills install official/security/1password
hermes skills list --source hub

檔案路徑: ~/.hermes/skills/

  • 之前: 每個任務都從零開始。
  • 之後: 代理累積了經過驗證的流程,當同樣的模式再次出現時,它會自動採用。
  • 為什麼大家會忽略它: 他們不瀏覽自己的技能、不篩選它們,甚至常常不知道目錄裡有什麼。然後他們就納悶為什麼代理感覺很隨機。

8. 上下文檔案——專案不需要每次都從頭解釋

檔案: .hermes.mdHERMES.mdAGENTS.mdCLAUDE.md.cursorrules

Hermes 在這裡有一個明確的搜尋順序。第一個符合的檔案會作為專案指令,而 SOUL.md 則作為身分層獨立存在。

.hermes.md / HERMES.md
AGENTS.md
CLAUDE.md
.cursorrules
  • 之前: 你每次對話都要解釋這個程式碼庫、這些規範和那些奇怪的限制。
  • 之後: Hermes 打開專案就已經知道規則了。
  • 為什麼大家會忽略它: 這很無聊——只是檔案而已。但如果你想要一個進來就知道你的架構、慣例和不可妥協事項的代理,這就是做到的方法。而且,AGENTS.md 可以有層級結構,所以子目錄的指令是有意義的。

9. 子代理委派——讓一個代理感覺像五個的方法

工具: delegate_task

這是 Hermes 啟動隔離的子代理來做平行工作。每個子代理有自己的對話、終端機工作階段和工具集。這就是你如何把一次長時間的研究拆成多個同時進行的小型任務。

delegate_task(
    goal="Research the latest docs for Hermes profiles, gateway, and MCP",
    context="Return a concise summary with source paths and the exact commands or config keys.",
    toolsets=["web", "terminal"],
    role="orchestrator"
)

背後的真實設定:

delegation:
  max_concurrent_children: 3
  max_spawn_depth: 2
  orchestrator_enabled: true

這些才是真實的鍵值——delegation.max_concurrent_childrendelegation.max_spawn_depthdelegation.orchestrator_enabled

  • 之前: 一個代理循序漸進地完成工作。
  • 之後: Hermes 分配負載並綜合結果。
  • 為什麼大家會忽略它: 他們以為委派只是個方便的小功能。它是一個倍增器,特別是當工作涉及大量研究、審查或跨獨立線程的時候。

10. 外掛——擴展系統開始變得有趣的地方

指令: hermes plugins install

外掛系統是 Hermes 增加新工具、指令、鉤子和整合的方式,不需要核心團隊明天就幫你推出你要的功能。

hermes plugins install user/repo --enable
hermes plugins list
plugins:
  enabled:
    - disk-cleanup
  disabled:
    - noisy-plugin
  • 之前: 核心套件出什麼你就只能用什麼。
  • 之後: Hermes 能獲取新的運行時能力,由你決定什麼保留、什麼關閉。
  • 為什麼大家會忽略它: 他們把外掛跟一個單薄的擴展資料夾搞混了。通用外掛可以新增工具、鉤子、斜線指令和 CLI 指令。MCP 和記憶體提供者是獨立的介面。重點是掌控權。

真正的教訓

假的簡單仍然是假的。真正的 Hermes 不是某人為了名聲而編造的十個環境變數。它是 SOUL.md 中的身分、持久化的記憶體、隔離的設定檔、定時排程、gateway 傳遞、MCP、技能、專案上下文檔案、委派和外掛。

這就是系統。這就是把 Hermes 從一個聊天玩具變成真正能承擔工作的東西的方法。如果你想讓 Hermes 有所改變,停止追逐假的開關,開始接上真實的開關。

本文由 Tony 的 Hermes Agent 使用看板式的多工者(調查、規劃、撰寫、編輯和品管階段)共同撰寫,每個階段都對照過官方 Hermes Agent 文件進行驗證。