配置文件:運行多個 Agent
在同一臺機器上運行多個獨立的 Hermes Agent —— 每個 Agent 擁有自己的配置、API 密鑰、記憶、會話、技能和網關。
什麼是配置文件?
配置文件是一個完全隔離的 Hermes 環境。每個配置文件都有自己的目錄,包含獨立的 config.yaml、.env、SOUL.md、記憶、會話、技能、定時任務和狀態數據庫。配置文件讓你可以為不同用途運行獨立的 Agent —— 例如代碼助手、個人機器人、研究 Agent —— 而不會產生任何相互干擾。
當你創建一個配置文件時,它會自動成為一個獨立的命令。創建名為 coder 的配置文件後,你立即擁有 coder chat、coder setup、coder gateway start 等命令。
快速入門
hermes profile create coder # 創建 profile + "coder" 命令別名
coder setup # 配置API鍵和model
coder chat # 開始聊天
完成。coder 現在是一個完全獨立的 Agent。它擁有自己的配置、自己的記憶、以及所有其他獨立資源。
創建配置文件
空配置文件
hermes profile create mybot
創建一個包含預置技能的全新配置文件。運行 mybot setup 來配置 API 密鑰、模型和網關令牌。
僅克隆配置(--clone)
hermes profile create work --clone
將當前配置文件的 config.yaml、.env 和 SOUL.md 複製到新配置文件中。使用相同的 API 密鑰和模型,但會話和記憶是全新的。編輯 ~/.hermes/profiles/work/.env 以使用不同的 API 密鑰,或編輯 ~/.hermes/profiles/work/SOUL.md 以設置不同的個性。
克隆全部內容(--clone-all)
hermes profile create backup --clone-all
複製 全部內容 —— 配置、API 密鑰、個性、所有記憶、完整的會話歷史、技能、定時任務、插件。這是一個完整的快照。適用於備份或複製一個已有上下文的 Agent。
從特定配置文件克隆
hermes profile create work --clone --clone-from coder
當啟用 Honcho 時,--clone 會自動為新配置文件創建一個專用的 AI 同伴,同時共享相同的用戶工作區。每個配置文件會構建自己的觀察和身份。詳情請參見 Honcho — 多 Agent / 配置文件。
使用配置文件
命令別名
每個配置文件都會自動在 ~/.local/bin/<name> 處獲得一個命令別名:
coder chat # 與編碼員 agent 聊天
coder setup # 配置編碼器的設置
coder gateway start # 啟動編碼器的gateway
coder doctor # 檢查編碼器的健康狀況
coder skills list # 列出編碼器的 skills
coder config set model.model anthropic/claude-sonnet-4
該別名支持所有 hermes 子命令 —— 其底層只是 hermes -p <name>。
-p 標誌
你也可以通過任意命令顯式指定配置文件:
hermes -p coder chat
hermes --profile=coder doctor
hermes chat -p coder -q "hello" # 在任何位置工作
設置默認配置文件(hermes profile use)
hermes profile use coder
hermes chat # 現在的目標是編碼員
hermes tools # 配置編碼器的tools
hermes profile use default # 切換回來
設置默認配置文件,使得普通的 hermes 命令默認指向該配置文件。類似於 kubectl config use-context。
知道當前所在位置
CLI 始終顯示當前激活的配置文件:
- 提示符:顯示為
coder ❯而非❯ - 啟動橫幅:顯示
Profile: coder hermes profile:顯示當前配置文件名稱、路徑、模型和網關狀態
運行網關
每個配置文件都以獨立進程運行自己的網關,並擁有獨立的機器人令牌:
coder gateway start # 啟動編碼器的 gateway
assistant gateway start # 啟動助手的gateway(單獨的進程)
不同的機器人令牌
每個配置文件都有自己的 .env 文件。在每個文件中配置不同的 Telegram/Discord/Slack 機器人令牌:
# 編輯編碼器的tokens
nano ~/.hermes/profiles/coder/.env
# 編輯助理的tokens
nano ~/.hermes/profiles/assistant/.env
安全性:令牌鎖定
如果兩個配置文件意外使用了相同的機器人令牌,第二個網關將被阻止,並顯示明確的錯誤信息,指出衝突的配置文件。支持 Telegram、Discord、Slack、WhatsApp 和 Signal。
持久化服務
coder gateway install # 創建hermes-gateway-編碼器系統d/launchd服務
assistant gateway install # 創建hermes-gateway-助理服務
每個配置文件都有自己的服務名稱。它們獨立運行。
配置文件配置
每個配置文件都有自己的:
config.yaml—— 模型、提供者、工具集、所有設置.env—— API 密鑰、機器人令牌SOUL.md—— 個性和指令
coder config set model.model anthropic/claude-sonnet-4
echo "You are a focused coding assistant." > ~/.hermes/profiles/coder/SOUL.md
更新
hermes update 僅拉取一次代碼(共享),並自動將新預置技能同步到 所有 配置文件:
hermes update
# → 代碼更新(12 次提交)
# → Skills 已同步:默認(最新)、編碼器(+2 個新)、助手(+2 個新)
用戶修改過的技能不會被覆蓋。
管理配置文件
hermes profile list # 顯示所有 profiles 的狀態
hermes profile show coder # 一臺 profile 的詳細信息
hermes profile rename coder dev-bot # 重命名(更新別名+服務)
hermes profile export coder # 導出到 coder.tar.gz
hermes profile import coder.tar.gz # 從存檔導入
刪除配置文件
hermes profile delete coder
這將停止網關、移除 systemd/launchd 服務、刪除命令別名,並刪除所有配置文件數據。系統會要求你輸入配置文件名稱以確認。
使用 --yes 可跳過確認:hermes profile delete coder --yes
你無法刪除默認配置文件(~/.hermes)。如需刪除全部內容,請使用 hermes uninstall。
Tab 補全
# Bash
eval "$(hermes completion bash)"
# Zsh
eval "$(hermes completion zsh)"
將該行添加到你的 ~/.bashrc 或 ~/.zshrc 中以實現持久補全。在 -p 後、配置文件子命令和頂層命令後均可補全配置文件名稱。
工作原理
配置文件使用 HERMES_HOME 環境變量。當你運行 coder chat 時,包裝腳本會在啟動 Hermes 前設置 HERMES_HOME=~/.hermes/profiles/coder。由於代碼庫中 119+ 個文件通過 get_hermes_home() 解析路徑,所有內容自動作用於配置文件目錄 —— 包括配置、會話、記憶、技能、狀態數據庫、網關 PID、日誌和定時任務。
默認配置文件就是 ~/.hermes 本身。無需遷移 —— 現有安裝可完全兼容。