跳到主要內容

配置文件:運行多個 Agent

在同一臺機器上運行多個獨立的 Hermes Agent —— 每個 Agent 擁有自己的配置、API 密鑰、記憶、會話、技能和網關。

什麼是配置文件?

配置文件是一個完全隔離的 Hermes 環境。每個配置文件都有自己的目錄,包含獨立的 config.yaml.envSOUL.md、記憶、會話、技能、定時任務和狀態數據庫。配置文件讓你可以為不同用途運行獨立的 Agent —— 例如代碼助手、個人機器人、研究 Agent —— 而不會產生任何相互干擾。

當你創建一個配置文件時,它會自動成為一個獨立的命令。創建名為 coder 的配置文件後,你立即擁有 coder chatcoder setupcoder 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.envSOUL.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 記憶 + 配置文件

當啟用 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 本身。無需遷移 —— 現有安裝可完全兼容。