跳到主要內容

Hermes Agent

使用及擴展 Hermes Agent 的完整指南 — CLI 用法、設置、配置、生成額外代理實例、網關平臺、技能、語音、工具、配置文件,以及簡潔的貢獻者參考。在幫助用戶配置 Hermes、排查問題、生成代理實例或進行代碼貢獻時,加載此技能。

技能元數據

來源捆綁(默認安裝)
路徑skills/autonomous-ai-agents/hermes-agent
版本2.0.0
作者Hermes Agent + Teknium
許可證MIT
標籤hermes, setup, configuration, multi-agent, spawning, cli, gateway, development
相關技能claude-code, codex, opencode

參考:完整 SKILL.md

信息

以下是 Hermes 在此技能被觸發時加載的完整技能定義。這是技能激活時代理所看到的指令。

Hermes Agent

Hermes Agent 是由 Nous Research 開發的開源 AI 代理框架,運行於你的終端、消息平臺和 IDE 中。它與 Claude Code (Anthropic)、Codex (OpenAI) 和 OpenClaw 屬於同一類別——即利用工具調用來與系統交互的自主編碼和任務執行代理。Hermes 兼容任何 LLM 提供商(OpenRouter、Anthropic、OpenAI、DeepSeek、本地模型以及其他 15+ 種),並可在 Linux、macOS 和 WSL 上運行。

Hermes 的獨特之處:

  • 通過技能自我改進 — Hermes 通過將可複用的過程保存為技能來從經驗中學習。當它解決複雜問題、發現工作流或被糾正時,可以將這些知識持久化為技能文檔,以便在未來的會話中加載。技能隨時間積累,使代理更擅長處理你的特定任務和環境。
  • 跨會話持久記憶 — 記住你是誰、你的偏好、環境細節以及學到的經驗教訓。可插拔的記憶後端(內置、Honcho、Mem0 等)讓你可以選擇記憶的工作方式。
  • 多平臺網關 — 同一個代理可運行於 Telegram、Discord、Slack、WhatsApp、Signal、Matrix、電子郵件以及 10+ 其他平臺,擁有完整的工具訪問權限,而不僅僅是聊天。
  • 提供商無關性 — 在工作流中途切換模型和提供商,無需更改其他任何內容。憑證池會在多個 API 密鑰之間自動輪換。
  • 配置文件 (Profiles) — 運行多個獨立的 Hermes 實例,各自擁有隔離的配置、會話、技能和記憶。
  • 可擴展性 — 插件、MCP 服務器、自定義工具、Webhook 觸發器、Cron 調度以及完整的 Python 生態系統。

人們使用 Hermes 進行軟件開發、研究、系統管理、數據分析、內容創作、家庭自動化,以及任何其他受益於具有持久上下文和完整系統訪問權限的 AI 代理的場景。

此技能幫助你高效使用 Hermes Agent — 包括設置、配置功能、生成額外代理實例、排查問題、查找正確的命令和設置,以及在需要擴展或貢獻時理解系統工作原理。

文檔: /docs/

快速開始

# Install
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

# Interactive chat (default)
hermes

# Single query
hermes chat -q "What is the capital of France?"

# Setup wizard
hermes setup

# Change model/provider
hermes model

# Check health
hermes doctor

CLI 參考

全局標誌

hermes [flags] [command]

--version, -V Show version
--resume, -r SESSION Resume session by ID or title
--continue, -c [NAME] Resume by name, or most recent session
--worktree, -w Isolated git worktree mode (parallel agents)
--skills, -s SKILL Preload skills (comma-separate or repeat)
--profile, -p NAME Use a named profile
--yolo Skip dangerous command approval
--pass-session-id Include session ID in system prompt

無子命令時默認為 chat

聊天

hermes chat [flags]
-q, --query TEXT Single query, non-interactive
-m, --model MODEL Model (e.g. anthropic/claude-sonnet-4)
-t, --toolsets LIST Comma-separated toolsets
--provider PROVIDER Force provider (openrouter, anthropic, nous, etc.)
-v, --verbose Verbose output
-Q, --quiet Suppress banner, spinner, tool previews
--checkpoints Enable filesystem checkpoints (/rollback)
--source TAG Session source tag (default: cli)

配置

hermes setup [section]      Interactive wizard (model|terminal|gateway|tools|agent)
hermes model Interactive model/provider picker
hermes config View current config
hermes config edit Open config.yaml in $EDITOR
hermes config set KEY VAL Set a config value
hermes config path Print config.yaml path
hermes config env-path Print .env path
hermes config check Check for missing/outdated config
hermes config migrate Update config with new options
hermes login [--provider P] OAuth login (nous, openai-codex)
hermes logout Clear stored auth
hermes doctor [--fix] Check dependencies and config
hermes status [--all] Show component status

工具與技能

hermes tools                Interactive tool enable/disable (curses UI)
hermes tools list Show all tools and status
hermes tools enable NAME Enable a toolset
hermes tools disable NAME Disable a toolset

hermes skills list List installed skills
hermes skills search QUERY Search the skills hub
hermes skills install ID Install a skill
hermes skills inspect ID Preview without installing
hermes skills config Enable/disable skills per platform
hermes skills check Check for updates
hermes skills update Update outdated skills
hermes skills uninstall N Remove a hub skill
hermes skills publish PATH Publish to registry
hermes skills browse Browse all available skills
hermes skills tap add REPO Add a GitHub repo as skill source

MCP 服務器

hermes mcp serve            Run Hermes as an MCP server
hermes mcp add NAME Add an MCP server (--url or --command)
hermes mcp remove NAME Remove an MCP server
hermes mcp list List configured servers
hermes mcp test NAME Test connection
hermes mcp configure NAME Toggle tool selection

網關(消息平臺)

hermes gateway run          Start gateway foreground
hermes gateway install Install as background service
hermes gateway start/stop Control the service
hermes gateway restart Restart the service
hermes gateway status Check status
hermes gateway setup Configure platforms

支持的平臺:Telegram、Discord、Slack、WhatsApp、Signal、電子郵件、SMS、Matrix、Mattermost、Home Assistant、釘釘、飛書、企業微信、BlueBubbles (iMessage)、微信 (WeChat)、API 服務器、Webhooks。Open WebUI 通過 API 服務器適配器連接。

平臺文檔:/docs/user-guide/messaging/

會話

hermes sessions list        List recent sessions
hermes sessions browse Interactive picker
hermes sessions export OUT Export to JSONL
hermes sessions rename ID T Rename a session
hermes sessions delete ID Delete a session
hermes sessions prune Clean up old sessions (--older-than N days)
hermes sessions stats Session store statistics

Cron 任務

hermes cron list            List jobs (--all for disabled)
hermes cron create SCHED Create: '30m', 'every 2h', '0 9 * * *'
hermes cron edit ID Edit schedule, prompt, delivery
hermes cron pause/resume ID Control job state
hermes cron run ID Trigger on next tick
hermes cron remove ID Delete a job
hermes cron status Scheduler status

Webhooks

hermes webhook subscribe N  Create route at /webhooks/<name>
hermes webhook list List subscriptions
hermes webhook remove NAME Remove a subscription
hermes webhook test NAME Send a test POST

配置文件 (Profiles)

hermes profile list         List all profiles
hermes profile create NAME Create (--clone, --clone-all, --clone-from)
hermes profile use NAME Set sticky default
hermes profile delete NAME Delete a profile
hermes profile show NAME Show details
hermes profile alias NAME Manage wrapper scripts
hermes profile rename A B Rename a profile
hermes profile export NAME Export to tar.gz
hermes profile import FILE Import from archive

憑證池

hermes auth add             Interactive credential wizard
hermes auth list [PROVIDER] List pooled credentials
hermes auth remove P INDEX Remove by provider + index
hermes auth reset PROVIDER Clear exhaustion status

其他

hermes insights [--days N]  Usage analytics
hermes update Update to latest version
hermes pairing list/approve/revoke DM authorization
hermes plugins list/install/remove Plugin management
hermes honcho setup/status Honcho memory integration (requires honcho plugin)
hermes memory setup/status/off Memory provider config
hermes completion bash|zsh Shell completions
hermes acp ACP server (IDE integration)
hermes claw migrate Migrate from OpenClaw
hermes uninstall Uninstall Hermes

Slash 命令(會話內)

在交互式聊天會話期間輸入這些命令。

會話控制

/new (/reset)        Fresh session
/clear Clear screen + new session (CLI)
/retry Resend last message
/undo Remove last exchange
/title [name] Name the session
/compress Manually compress context
/stop Kill background processes
/rollback [N] Restore filesystem checkpoint
/background <prompt> Run prompt in background
/queue <prompt> Queue for next turn
/resume [name] Resume a named session

配置

/config              Show config (CLI)
/model [name] Show or change model
/personality [name] Set personality
/reasoning [level] Set reasoning (none|minimal|low|medium|high|xhigh|show|hide)
/verbose Cycle: off → new → all → verbose
/voice [on|off|tts] Voice mode
/yolo Toggle approval bypass
/skin [name] Change theme (CLI)
/statusbar Toggle status bar (CLI)

工具與技能

/tools               Manage tools (CLI)
/toolsets List toolsets (CLI)
/skills Search/install skills (CLI)
/skill <name> Load a skill into session
/cron Manage cron jobs (CLI)
/reload-mcp Reload MCP servers
/plugins List plugins (CLI)

網關

/approve             Approve a pending command (gateway)
/deny Deny a pending command (gateway)
/restart Restart gateway (gateway)
/sethome Set current chat as home channel (gateway)
/update Update Hermes to latest (gateway)
/platforms (/gateway) Show platform connection status (gateway)

實用工具

/branch (/fork)      Branch the current session
/btw Ephemeral side question (doesn't interrupt main task)
/fast Toggle priority/fast processing
/browser Open CDP browser connection
/history Show conversation history (CLI)
/save Save conversation to file (CLI)
/paste Attach clipboard image (CLI)
/image Attach local image file (CLI)

信息

/help                Show commands
/commands [page] Browse all commands (gateway)
/usage Token usage
/insights [days] Usage analytics
/status Session info (gateway)
/profile Active profile info

退出

/quit (/exit, /q)    Exit CLI

關鍵路徑與配置

~/.hermes/config.yaml       Main configuration
~/.hermes/.env API keys and secrets
$HERMES_HOME/skills/ Installed skills
~/.hermes/sessions/ Session transcripts
~/.hermes/logs/ Gateway and error logs
~/.hermes/auth.json OAuth tokens and credential pools
~/.hermes/hermes-agent/ Source code (if git-installed)

配置文件使用 ~/.hermes/profiles/<name>/,佈局相同。

配置部分

使用 hermes config edithermes config set section.key value 進行編輯。

部分關鍵選項
modeldefault, provider, base_url, api_key, context_length
agentmax_turns (90), tool_use_enforcement
terminalbackend (local/docker/ssh/modal), cwd, timeout (180)
compressionenabled, threshold (0.50), target_ratio (0.20)
displayskin, tool_progress, show_reasoning, show_cost
sttenabled, provider (local/groq/openai/mistral)
ttsprovider (edge/elevenlabs/openai/minimax/mistral/neutts)
memorymemory_enabled, user_profile_enabled, provider
securitytirith_enabled, website_blocklist
delegationmodel, provider, base_url, api_key, max_iterations (50), reasoning_effort
checkpointsenabled, max_snapshots (50)

完整配置參考:/docs/user-guide/configuration

提供商

支持 20+ 提供商。通過 hermes modelhermes setup 設置。

提供商認證方式密鑰環境變量
OpenRouterAPI 密鑰OPENROUTER_API_KEY
AnthropicAPI 密鑰ANTHROPIC_API_KEY
Nous PortalOAuthhermes auth
OpenAI CodexOAuthhermes auth
GitHub CopilotTokenCOPILOT_GITHUB_TOKEN
Google GeminiAPI 密鑰GOOGLE_API_KEYGEMINI_API_KEY
DeepSeekAPI 密鑰DEEPSEEK_API_KEY
xAI / GrokAPI 密鑰XAI_API_KEY
Hugging FaceTokenHF_TOKEN
Z.AI / GLMAPI 密鑰GLM_API_KEY
MiniMaxAPI 密鑰MINIMAX_API_KEY
MiniMax CNAPI 密鑰MINIMAX_CN_API_KEY
Kimi / MoonshotAPI 密鑰KIMI_API_KEY
Alibaba / DashScopeAPI 密鑰DASHSCOPE_API_KEY
Xiaomi MiMoAPI 密鑰XIAOMI_API_KEY
Kilo CodeAPI 密鑰KILOCODE_API_KEY
AI Gateway (Vercel)API 密鑰AI_GATEWAY_API_KEY
OpenCode ZenAPI 密鑰OPENCODE_ZEN_API_KEY
OpenCode GoAPI 密鑰OPENCODE_GO_API_KEY
Qwen OAuthOAuthhermes login --provider qwen-oauth
自定義端點配置config.yaml 中的 model.base_url + model.api_key
GitHub Copilot ACP外部COPILOT_CLI_PATH 或 Copilot CLI

完整提供商文檔:/docs/integrations/providers

工具集

通過 hermes tools(交互式)或 hermes tools enable/disable NAME 啟用/禁用。

工具集提供功能
web網絡搜索和內容提取
browser瀏覽器自動化(Browserbase、Camofox 或本地 Chromium)
terminalShell 命令和進程管理
file文件讀取/寫入/搜索/修補
code_execution沙盒 Python 執行
vision圖像分析
image_genAI 圖像生成
tts文本轉語音
skills技能瀏覽和管理
memory持久化跨會話記憶
session_search搜索過往對話
delegation子代理任務委派
cronjob計劃任務管理
clarify向用戶提出澄清性問題
messaging跨平臺消息發送
search僅網絡搜索(web 的子集)
todo會話內任務規劃和跟蹤
rl強化學習工具(默認關閉)
moa混合代理(Mixture of Agents,默認關閉)
homeassistant智能家居控制(默認關閉)

工具更改在 /reset(新會話)時生效。它們不會在對話中途應用,以保留提示緩存。


語音與轉錄

STT(語音 → 文本)

來自消息平臺的語音消息會自動轉錄。

提供商優先級(自動檢測):

  1. Local faster-whisper — 免費,無需 API 密鑰:pip install faster-whisper
  2. Groq Whisper — 免費層級:設置 GROQ_API_KEY
  3. OpenAI Whisper — 付費:設置 VOICE_TOOLS_OPENAI_KEY
  4. Mistral Voxtral — 設置 MISTRAL_API_KEY

配置:

stt:
enabled: true
provider: local # local, groq, openai, mistral
local:
model: base # tiny, base, small, medium, large-v3

TTS(文本 → 語音)

提供商環境變量免費?
Edge TTS是(默認)
ElevenLabsELEVENLABS_API_KEY免費層級
OpenAIVOICE_TOOLS_OPENAI_KEY付費
MiniMaxMINIMAX_API_KEY付費
Mistral (Voxtral)MISTRAL_API_KEY付費
NeuTTS (本地)無(pip install neutts[all] + espeak-ng免費

語音命令:/voice on(語音對語音),/voice tts(始終語音),/voice off


啟動額外的 Hermes 實例

將額外的 Hermes 進程作為完全獨立的子進程運行 — 擁有獨立的會話、工具和環境。

何時使用此方式而非 delegate_task

delegate_task啟動 hermes 進程
隔離性獨立對話,共享進程完全獨立的進程
持續時間分鐘(受父循環限制)小時/天
工具訪問權限父級工具的子集完整工具訪問權限
交互性是(PTY 模式)
用例快速並行子任務長期自主任務

一次性模式

terminal(command="hermes chat -q 'Research GRPO papers and write summary to ~/research/grpo.md'", timeout=300)

# Background for long tasks:
terminal(command="hermes chat -q 'Set up CI/CD for ~/myapp'", background=true)

交互式 PTY 模式(通過 tmux)

Hermes 使用 prompt_toolkit,需要真實的終端。使用 tmux 進行交互式啟動:

# Start
terminal(command="tmux new-session -d -s agent1 -x 120 -y 40 'hermes'", timeout=10)

# Wait for startup, then send a message
terminal(command="sleep 8 && tmux send-keys -t agent1 'Build a FastAPI auth service' Enter", timeout=15)

# Read output
terminal(command="sleep 20 && tmux capture-pane -t agent1 -p", timeout=5)

# Send follow-up
terminal(command="tmux send-keys -t agent1 'Add rate limiting middleware' Enter", timeout=5)

# Exit
terminal(command="tmux send-keys -t agent1 '/exit' Enter && sleep 2 && tmux kill-session -t agent1", timeout=10)

多智能體協調

# Agent A: backend
terminal(command="tmux new-session -d -s backend -x 120 -y 40 'hermes -w'", timeout=10)
terminal(command="sleep 8 && tmux send-keys -t backend 'Build REST API for user management' Enter", timeout=15)

# Agent B: frontend
terminal(command="tmux new-session -d -s frontend -x 120 -y 40 'hermes -w'", timeout=10)
terminal(command="sleep 8 && tmux send-keys -t frontend 'Build React dashboard for user management' Enter", timeout=15)

# Check progress, relay context between them
terminal(command="tmux capture-pane -t backend -p | tail -30", timeout=5)
terminal(command="tmux send-keys -t frontend 'Here is the API schema from the backend agent: ...' Enter", timeout=5)

會話恢復

# Resume most recent session
terminal(command="tmux new-session -d -s resumed 'hermes --continue'", timeout=10)

# Resume specific session
terminal(command="tmux new-session -d -s resumed 'hermes --resume 20260225_143052_a1b2c3'", timeout=10)

提示

  • 對於快速子任務,優先使用 delegate_task — 比啟動完整進程的開銷更小
  • 在啟動編輯代碼的智能體時使用 -w(worktree 模式) — 防止 git 衝突
  • 為單次執行模式設置超時 — 複雜任務可能需要 5-10 分鐘
  • 使用 hermes chat -q 進行即發即棄操作 — 無需 PTY
  • 交互式會話使用 tmux — 原始 PTY 模式在處理 prompt_toolkit 時存在 \r\n 的問題
  • 對於計劃任務,使用 cronjob 工具而非啟動新進程 — 可處理交付和重試

故障排除

語音功能無效

  1. 檢查 config.yaml 中的 stt.enabled: true
  2. 驗證提供商:pip install faster-whisper 或設置 API 密鑰
  3. 在網關中:/restart。在 CLI 中:退出並重新啟動。

工具不可用

  1. hermes tools — 檢查工具集是否已為你的平臺啟用
  2. 某些工具需要環境變量(檢查 .env
  3. 啟用工具後執行 /reset

模型/提供商問題

  1. hermes doctor — 檢查配置和依賴項
  2. hermes login — 重新認證 OAuth 提供商
  3. 檢查 .env 是否包含正確的 API 密鑰
  4. Copilot 403 錯誤gh auth login 生成的令牌適用於 Copilot API。你必須通過 hermes model → GitHub Copilot 使用 Copilot 專用的 OAuth 設備代碼流程。

更改未生效

  • 工具/技能: /reset 會使用更新後的工具集啟動新會話
  • 配置更改: 在網關中:/restart。在 CLI 中:退出並重新啟動。
  • 代碼更改: 重啟 CLI 或網關進程

技能未顯示

  1. hermes skills list — 驗證是否已安裝
  2. hermes skills config — 檢查平臺啟用狀態
  3. 顯式加載:/skill namehermes -s name

網關問題

首先檢查日誌:

grep -i "failed to send\|error" ~/.hermes/logs/gateway.log | tail -20

常見網關問題:

  • SSH 註銷後網關停止運行:啟用 linger:sudo loginctl enable-linger $USER
  • 關閉 WSL2 後網關停止運行:WSL2 需要在 /etc/wsl.conf 中設置 systemd=true 才能使 systemd 服務正常工作。否則,網關會回退到 nohup(會話關閉時停止運行)。
  • 網關崩潰循環:重置失敗狀態:systemctl --user reset-failed hermes-gateway

平臺特定問題

  • Discord 機器人無響應:必須在 Bot → Privileged Gateway Intents 中啟用 Message Content Intent
  • Slack 機器人僅在私信中有效:必須訂閱 message.channels 事件。否則,機器人將忽略公共頻道。
  • Windows HTTP 400 "No models provided":配置文件編碼問題(BOM)。確保 config.yaml 保存為不帶 BOM 的 UTF-8 格式。

輔助模型無效

如果 auxiliary 任務(視覺、壓縮、會話搜索)靜默失敗,說明 auto 提供商找不到後端。請設置 OPENROUTER_API_KEYGOOGLE_API_KEY,或者顯式配置每個輔助任務的提供商:

hermes config set auxiliary.vision.provider <your_provider>
hermes config set auxiliary.vision.model <model_name>

資源查找指南

查找內容...位置
配置選項hermes config edit配置文檔
可用工具hermes tools list工具參考
斜槓命令會話中的 /help斜槓命令參考
技能目錄hermes skills browse技能目錄
提供商設置hermes model提供商指南
平臺設置hermes gateway setup消息傳遞文檔
MCP 服務器hermes mcp listMCP 指南
配置文件 (Profiles)hermes profile listProfiles 文檔
Cron 任務hermes cron listCron 文檔
記憶功能hermes memory status記憶文檔
環境變量hermes config env-path環境變量參考
CLI 命令hermes --helpCLI 參考
網關日誌~/.hermes/logs/gateway.log
會話文件~/.hermes/sessions/hermes sessions browse
源代碼~/.hermes/hermes-agent/

貢獻者快速參考

適用於偶爾貢獻者和 PR 作者。完整開發者文檔:/docs/developer-guide/

項目佈局

hermes-agent/
├── run_agent.py # AIAgent — core conversation loop
├── model_tools.py # Tool discovery and dispatch
├── toolsets.py # Toolset definitions
├── cli.py # Interactive CLI (HermesCLI)
├── hermes_state.py # SQLite session store
├── agent/ # Prompt builder, context compression, memory, model routing, credential pooling, skill dispatch
├── hermes_cli/ # CLI subcommands, config, setup, commands
│ ├── commands.py # Slash command registry (CommandDef)
│ ├── config.py # DEFAULT_CONFIG, env var definitions
│ └── main.py # CLI entry point and argparse
├── tools/ # One file per tool
│ └── registry.py # Central tool registry
├── gateway/ # Messaging gateway
│ └── platforms/ # Platform adapters (telegram, discord, etc.)
├── cron/ # Job scheduler
├── tests/ # ~3000 pytest tests
└── website/ # Docusaurus docs site

配置:~/.hermes/config.yaml(設置),~/.hermes/.env(API 密鑰)。

添加工具(3 個文件)

1. 創建 tools/your_tool.py

import json, os
from tools.registry import registry

def check_requirements() -> bool:
return bool(os.getenv("EXAMPLE_API_KEY"))

def example_tool(param: str, task_id: str = None) -> str:
return json.dumps({"success": True, "data": "..."})

registry.register(
name="example_tool",
toolset="example",
schema={"name": "example_tool", "description": "...", "parameters": {...}},
handler=lambda args, **kw: example_tool(
param=args.get("param", ""), task_id=kw.get("task_id")),
check_fn=check_requirements,
requires_env=["EXAMPLE_API_KEY"],
)

2. 添加到 toolsets.py_HERMES_CORE_TOOLS 列表。

自動發現:任何包含頂層 registry.register() 調用的 tools/*.py 文件都會被自動導入——無需手動列表。

所有處理程序必須返回 JSON 字符串。使用 get_hermes_home() 獲取路徑,切勿硬編碼 ~/.hermes

添加斜槓命令

  1. hermes_cli/commands.py 中將 CommandDef 添加到 COMMAND_REGISTRY
  2. cli.pyprocess_command() 中添加處理程序
  3. (可選)在 gateway/run.py 中添加網關處理程序

所有消費者(幫助文本、自動補全、Telegram 菜單、Slack 映射)均自動從中央註冊表派生。

Agent 循環(高層概述)

run_conversation():
1. Build system prompt
2. Loop while iterations < max:
a. Call LLM (OpenAI-format messages + tool schemas)
b. If tool_calls → dispatch each via handle_function_call() → append results → continue
c. If text response → return
3. Context compression triggers automatically near token limit

測試

python -m pytest tests/ -o 'addopts=' -q   # Full suite
python -m pytest tests/tools/ -q # Specific area
  • 測試會自動將 HERMES_HOME 重定向到臨時目錄——切勿觸碰真實的 ~/.hermes/
  • 在推送任何更改之前運行完整測試套件
  • 使用 -o 'addopts=' 清除任何內置的 pytest 標誌

提交規範

type: concise subject line

Optional body.

類型:fix:feat:refactor:docs:chore:

關鍵規則

  • 切勿破壞提示緩存——不要在對話過程中更改上下文、工具或系統提示
  • 消息角色交替——切勿連續出現兩條 assistant 消息或兩條 user 消息
  • 對所有路徑使用 hermes_constants 中的 get_hermes_home()(配置文件安全)
  • 配置值放入 config.yaml,機密信息放入 .env
  • 新工具需要 check_fn,以便僅在滿足要求時才顯示