hermes@agent:~/.hermes$ cat hermes.md

Hermes Agent:实践者参考指南(2026)

# v0.13 Tenacity 新增带心跳与僵尸检测的多智能体看板、/goal Ralph 循环锁定、video_analyze、xAI Custom Voices TTS、7 种语言 i18n、作为第 20 个平台的 Google Chat、ProviderProfile 可插拔提供方、会话自动恢复、Checkpoints v2 以及 8 项 P0 安全修复。

words: 3859 read_time: 42m updated: 2026-05-07 19:33
$ less hermes.md

TL;DR: Hermes Agent是Nous Research推出的开源自我改进型AI代理。它以CLI形式运行,同时作为多平台消息网关,在磁盘上存储持久身份和持久内存,聚合可随使用而改进的技能,并与任何兼容OpenAI的LLM提供商协作——Nous Portal、OpenRouter、Anthropic、GitHub Copilot、z.ai、Kimi、MiniMax、DeepSeek、Alibaba、Hugging Face、Google,或您自己自托管的端点。12 对大多数新用户而言,最困难的部分是提供商认证:Hermes支持约19个一级提供商及自定义端点,以及三种独立的认证路径(.env中的API密钥、通过hermes model的OAuth,或config.yaml中的自定义端点)。认证模型是首要学习的内容——其他一切都取决于解析出哪个提供商。

Hermes Agent作为完整的代理运行时运行,而非聊天封装器。它读取您的文件系统、在沙箱后端中执行命令、抓取网络、生成子代理、运行计划cron任务,通过单一网关进程与Telegram/Discord/Slack/WhatsApp/Signal/Email通信,并根据经验创建自己的技能。1 CLI是构建在run_agent.py对话循环之上的终端UI;网关是一个长时间运行的进程,通过同一对话循环路由来自消息平台的消息。3

普通用户与Hermes专家之间的差距取决于五大系统。 掌握这些,Hermes就会成为效能倍增器:

  1. 提供商解析:认证流程如何映射到API调用
  2. 配置层级:config.yaml + .env + auth.json + SOUL.md + AGENTS.md
  3. Tool + toolset系统:代理能做什么,按平台分级控制
  4. Skills系统:代理创建和演进的程序性记忆
  5. Gateway + cron + profile:让Hermes在您生活之处运行,而不仅仅是您当下所在之处

核心要点

  • 提供商认证有三条路径,而非一条。 .env中的API密钥、通过hermes model/hermes auth的OAuth,或config.yaml中的自定义端点。选择与您的提供商匹配的路径,而不是您熟悉的那条。
  • 切换提供商只需一个命令。 hermes model会以交互方式引导您完成每个受支持的提供商,包括OAuth登录,而/model provider:model可在不丢失历史记录的情况下进行会话中切换。2
  • 两个文件是用户可编辑的配置表面。 ~/.hermes/config.yaml保存设置,~/.hermes/.env保存密钥。auth.jsonSOUL.mdMEMORY.mdskills/由Hermes直接管理——您可以手动编辑SOUL.md,但其余文件由代理本身处理。4
  • Hermes是OpenClaw的继任者。 如果您正在迁移,hermes claw migrate会自动导入30多类状态。5
  • 服务质量取决于您的辅助模型。 视觉、网页摘要、压缩和内存刷新都使用独立的辅助LLM。默认情况下,通过自动检测使用Gemini Flash(OpenRouter → Nous → Codex)——如果上述都未配置,这些功能会静默降级,直到您将辅助槽位指向主提供商为止。4

下方每个章节均以上游文档hermes-agent.nousresearch.com/docs及源码树github.com/NousResearch/hermes-agent为依据。每个事实性论断都附有脚注,指向其来源的具体上游页面。

选择您的路径

您的需求 前往此处
安装Hermes Installation——一行安装命令或手动步骤
登录提供商 Authentication & Providers——您来此查阅的章节
会话中切换模型 The hermes auth CommandCustom & Self-Hosted Endpoints了解/model语法
运行本地LLM Custom & Self-Hosted Endpoints——Ollama、vLLM、SGLang、llama.cpp、LM Studio
连接消息平台 Messaging Gateway——Telegram、Discord、Slack、WhatsApp、Signal、Google Chat(共20个)
编写或安装技能 Skills System——渐进式披露 + 技能中心
每个CLI命令的深度参考 继续阅读——或直接跳转至CLI Commands

Hermes 工作原理:心智模型

Hermes 围绕一个统一的对话循环构建,任何入口点都可以调用该循环。入口点包括 CLI(cli.py)、消息网关(gateway/run.py)、用于编辑器集成的 ACP 适配器、批处理运行器,以及 API 服务器。3 它们最终都会调用 run_agent.py 中的 AIAgent.run_conversation(),该方法:

  1. 通过 prompt_builder.pySOUL.mdMEMORY.mdUSER.md、skills、上下文文件和工具指引中构建系统提示词3
  2. 通过 runtime_provider.py 解析运行时提供商——这一步决定了认证方式、基础 URL 和 API 模式3
  3. 使用三种 API 模式之一调用提供商:chat_completionscodex_responsesanthropic_messages3
  4. 通过 model_tools.py 和中央工具注册表(tools/registry.py)分发返回的工具调用3
  5. 持续循环直到模型生成最终响应,然后将会话持久化到支持 FTS5 的 SQLite 中3

理解这个循环至关重要,因为每个功能——个性、记忆、skills、压缩、降级回退——都挂载在其中某个阶段上。当您查看某个配置项想弄清它的作用时,答案通常是”它是上述循环中第 1、2、3 或 4 阶段的一个调节旋钮”。

平台无关的核心。 同一个 AIAgent 类服务于 CLI、网关、ACP、批处理和 API 服务器。平台差异体现在入口点,而非代理本身。3 这就是为什么相同的斜杠命令在终端和 Telegram 中都能使用——它们都从 hermes_cli/commands.py 中共享的 COMMAND_REGISTRY 进行分发。6

目录结构即系统。 Hermes 将所有内容存储在 ~/.hermes/ 下(非默认 profile 则使用 $HERMES_HOME):4

~/.hermes/
├── config.yaml        # Settings (model, terminal, TTS, compression, etc.)
├── .env               # API keys and secrets
├── auth.json          # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md            # Primary agent identity (slot #1 in system prompt)
├── memories/          # Persistent memory (MEMORY.md, USER.md)
├── skills/            # Bundled + agent-created + hub-installed skills
├── cron/              # Scheduled jobs
├── sessions/          # Gateway session state
└── logs/              # agent.log, gateway.log, errors.log (secrets auto-redacted)

以上每个文件都有明确的职责,彼此互不重叠。如果您想知道”Hermes 把某项数据存在哪里”,答案就在这些文件中。


安装

一键安装脚本适用于 95% 的用户。它会自动处理 Python、uv、Node.js、ripgrep、ffmpeg、仓库克隆、虚拟环境以及全局 hermes 命令的配置。7

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

支持 Linux、macOS、WSL2 和 Android/Termux(安装脚本会自动检测 Termux 并切换到经过测试的 Android 软件包)。7 原生 Windows 不受支持——请安装 WSL2 后在其中运行上述命令。7

安装完成后:

source ~/.bashrc    # or ~/.zshrc
hermes              # Start chatting

唯一的前置依赖是 git。安装脚本会通过 uv 自动配置 Python 3.11(无需 sudo)、Node.js v22(用于浏览器自动化和 WhatsApp 桥接)、ripgrep 以及 ffmpeg。7

验证安装

hermes version      # Check version
hermes doctor       # Diagnose config/dependency issues
hermes status       # Show current configuration + auth state
hermes dump         # Copy-pasteable setup summary for debugging

hermes doctor 会准确告知缺失的依赖及修复方法。7 hermes dump 是用于在 GitHub issue 或 Discord 帖子中寻求帮助时粘贴的诊断命令——它以纯文本形式汇总您的完整配置,敏感信息已自动脱敏。8

手动安装

如果需要完全掌控——自定义 Python 版本、特定扩展组件、Nix/NixOS 集成——手动安装流程已在上游安装指南中逐步记录。7 可通过 uv pip install -e ".[<extras>]" 组合安装以下可选扩展:

扩展 功能说明
all 包含以下所有扩展
messaging Telegram 和 Discord 网关
cron Cron 表达式解析
cli 设置向导的终端菜单界面
modal Modal 云执行后端
voice CLI 麦克风输入 + 音频播放
tts-premium ElevenLabs 高级语音
honcho AI 原生记忆(Honcho 集成)
mcp Model Context Protocol 支持
homeassistant Home Assistant 集成
acp ACP 编辑器集成支持
slack Slack 消息支持
pty PTY 终端支持(交互式 CLI 工具)
dev pytest 及测试工具
termux 经过测试的 Android 软件包(包含 croncliptymcphonchoacp

Termux 安装命令有所不同——使用的是带约束文件的 pip,而非 uv pip

python -m pip install -e ".[termux]" -c constraints-termux.txt

这是因为在 Android 上 .[all] 会通过 voice 扩展引入 faster-whisper,而该库依赖的 ctranslate2 wheels 并未发布 Android 版本。7


认证与提供商

Hermes 支持约 19 个一流提供商以及自定义端点,并提供三条不同的认证路径。以下是完整的认证体系,按路径组织,方便您找到与您手头资源匹配的方式。

三条认证路径

Hermes 中的每个提供商都遵循以下三种认证模式之一:

路径 1 — 在 .env 中配置 API key。 将密钥放入 ~/.hermes/.env,Hermes 会在启动时读取。适用于 OpenRouter、AI Gateway、z.ai/GLM、Kimi/Moonshot、MiniMax(含 MiniMax China)、阿里云/DashScope、Kilo Code、OpenCode Zen、OpenCode Go、DeepSeek、Hugging Face、Google/Gemini 以及大多数第三方提供商。2

路径 2 — 通过 hermes modelhermes auth 进行 OAuth。 启动设备代码流程,打开浏览器,将凭据存储在 ~/.hermes/auth.json 中(也可以从 Claude Code 或 Codex CLI 等工具导入现有凭据)。适用于 Nous Portal、OpenAI Codex(ChatGPT 账户)、GitHub Copilot 和 Anthropic(Claude Pro/Max)。2

路径 3 — 在 config.yaml 中配置自定义端点。 适用于任何兼容 OpenAI 的 API — Ollama、vLLM、SGLang、llama.cpp、LM Studio、LiteLLM 代理、Together AI、Groq、Azure OpenAI 或您自己自托管的服务器。通过 hermes model → Custom endpoint 一次性配置后,会持久化到 config.yaml2

完整提供商矩阵

以下是一流提供商的完整列表,以及每个提供商的具体配置流程。2

提供商 认证路径 配置方式
Nous Portal OAuth hermes model(OAuth 登录,订阅制)
OpenAI Codex OAuth hermes model(ChatGPT 设备代码,使用 Codex 模型)
GitHub Copilot OAuth 或 token hermes model(OAuth 设备代码),或 COPILOT_GITHUB_TOKEN / GH_TOKEN / gh auth token
GitHub Copilot ACP 本地子进程 hermes model(要求 PATH 中存在 copilot CLI 并已 copilot login
Anthropic OAuth 或 API key hermes model(优先使用 Claude Code 凭据),或 ANTHROPIC_API_KEY,或 ANTHROPIC_TOKEN setup-token
OpenRouter API key ~/.hermes/.env 中配置 OPENROUTER_API_KEY
AI Gateway (Vercel) API key ~/.hermes/.env 中配置 AI_GATEWAY_API_KEY(provider: ai-gateway
z.ai / GLM (智谱AI) API key ~/.hermes/.env 中配置 GLM_API_KEY(provider: zai
Kimi / Moonshot API key ~/.hermes/.env 中配置 KIMI_API_KEY(provider: kimi-coding
MiniMax(全球) API key ~/.hermes/.env 中配置 MINIMAX_API_KEY(provider: minimax
MiniMax China API key ~/.hermes/.env 中配置 MINIMAX_CN_API_KEY(provider: minimax-cn
阿里云(Qwen) API key ~/.hermes/.env 中配置 DASHSCOPE_API_KEY(provider: alibaba,别名:dashscopeqwen
Kilo Code API key ~/.hermes/.env 中配置 KILOCODE_API_KEY(provider: kilocode
OpenCode Zen API key ~/.hermes/.env 中配置 OPENCODE_ZEN_API_KEY(provider: opencode-zen
OpenCode Go API key ~/.hermes/.env 中配置 OPENCODE_GO_API_KEY(provider: opencode-go
DeepSeek API key ~/.hermes/.env 中配置 DEEPSEEK_API_KEY(provider: deepseek
Hugging Face API key ~/.hermes/.env 中配置 HF_TOKEN(provider: huggingface,别名:hf
Google / Gemini API key ~/.hermes/.env 中配置 GOOGLE_API_KEYGEMINI_API_KEY(provider: gemini
xAI (Grok) 原生提供商 一流提供商,直接访问 API 与模型目录(v0.9.0+)。通过 x-grok-conv-id 头自动启用提示缓存。216
xAI Custom Voices API key 支持声音克隆的 TTS 提供商。v0.13.0 新增;在 config.yamltts: 下配置,并在 .env 中提供 xAI 密钥。18
小米 MiMo 原生提供商 一流提供商,配备配置向导和模型目录。Nous Portal 上免费提供 MiMo v2 Pro 用于辅助任务(v0.9.0+)。1615
Google AI Studio API key ~/.hermes/.env 中配置 GOOGLE_API_KEYGEMINI_API_KEY。直接访问 Gemini,通过 models.dev 注册表自动检测上下文长度(v0.8.0+)。15
Qwen OAuth 支持 portal 请求的 OAuth 提供商(v0.8.0+)。15
自定义端点 config.yaml hermes model → “Custom endpoint”(保存到 config.yaml

Anthropic:三种认证方式

Anthropic 单独成节,因为 Hermes 支持三条不同的路径接入 Claude,选对方式很重要。引用上游文档:2

# Method 1: API key (pay-per-token)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6

# Method 2: OAuth through hermes model (preferred)
# Uses Claude Code's credential store when available
hermes model

# Method 3: Manual setup-token (fallback/legacy)
export ANTHROPIC_TOKEN=***
hermes chat --provider anthropic

# Auto-detect Claude Code credentials
hermes chat --provider anthropic   # reads Claude Code files automatically

当您通过 hermes model 选择 Anthropic OAuth 时,Hermes 优先使用 Claude Code 自身的凭据存储,而不是把 token 复制到 ~/.hermes/.env 中。这样可刷新的 Claude 凭据才能保持可刷新状态。2 如果您已经在同一台机器上使用 Claude Code,这是最干净的路径。

要在 config.yaml 中永久固定 Anthropic:

model:
  provider: "anthropic"
  default: "claude-sonnet-4-6"

--provider claude--provider claude-code 也可作为 --provider anthropic 的简写。2

GitHub Copilot:两种模式

Copilot 支持两种模式:直接 Copilot API(推荐)和 Copilot ACP(将本地 Copilot CLI 作为子进程启动)。2

# Direct Copilot API
hermes chat --provider copilot --model gpt-5.4

# Copilot ACP (requires the Copilot CLI in PATH + an existing copilot login)
hermes chat --provider copilot-acp --model copilot-acp

按上游文档,认证检查顺序如下:2 1. COPILOT_GITHUB_TOKEN 环境变量 2. GH_TOKEN 环境变量 3. GITHUB_TOKEN 环境变量 4. gh auth token CLI 回退 5. 通过 hermes model 进行 OAuth 设备代码登录

Token 类型很关键。 Copilot API 不支持经典个人访问令牌(ghp_*)。受支持的类型为 OAuth 令牌(gho_*)、细粒度 PAT(带 Copilot Requests 权限的 github_pat_*)以及 GitHub App 令牌(ghu_*)。如果您的 gh auth token 返回的是 ghp_* 令牌,请改用 hermes model 通过 OAuth 进行认证。2

中国 AI 提供商(一流支持)

Hermes 内置支持 z.ai/GLM、Kimi/Moonshot、MiniMax(全球 + 中国端点)和阿里云,使用专用的 provider ID。2

# z.ai / ZhipuAI GLM
hermes chat --provider zai --model glm-5                 # Requires: GLM_API_KEY

# Kimi / Moonshot AI
hermes chat --provider kimi-coding --model kimi-for-coding   # Requires: KIMI_API_KEY

# MiniMax (global)
hermes chat --provider minimax --model MiniMax-M2.7          # Requires: MINIMAX_API_KEY

# MiniMax (China)
hermes chat --provider minimax-cn --model MiniMax-M2.7       # Requires: MINIMAX_CN_API_KEY

# Alibaba Cloud / DashScope (Qwen)
hermes chat --provider alibaba --model qwen3.5-plus          # Requires: DASHSCOPE_API_KEY

可通过 GLM_BASE_URLKIMI_BASE_URLMINIMAX_BASE_URLMINIMAX_CN_BASE_URLDASHSCOPE_BASE_URL 环境变量覆盖基础 URL。2

Z.AI 自动检测端点。 使用 z.ai/GLM 提供商时,Hermes 会探测多个端点(全球版、中国版、coding 变体),找到能接受您 API key 的那一个。可用端点会自动缓存 — 大多数用户无需配置 GLM_BASE_URL2

xAI (Grok) 自动启用提示缓存。 当基础 URL 包含 x.ai 时,Hermes 会在每次请求中发送 x-grok-conv-id 头,将同一会话内的请求路由到同一台服务器,复用缓存的系统提示和历史。2 自动生效,无需配置。

hermes auth 命令

hermes auth 是用于凭据池和 OAuth 凭据的凭据管理命令。6

hermes auth                              # Interactive wizard
hermes auth list                         # Show all credential pools
hermes auth list openrouter              # Show one provider's pool
hermes auth add openrouter --api-key sk-or-v1-xxx
hermes auth add anthropic --type oauth
hermes auth remove openrouter 2          # Remove by index
hermes auth reset openrouter             # Clear cooldowns

凭据池用于为同一提供商轮换多个 API key 或 OAuth token — 便于在多个密钥之间分摊速率限制,无需修改代码。6 旧版的 hermes login / hermes logout 命令已移除,请改用 hermes auth6

自定义与自托管端点

Hermes 可与任何兼容 OpenAI 的 API 端点配合使用。只要服务器实现了 /v1/chat/completions,就可以让 Hermes 指向它。2

交互式配置(推荐):

hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name

手动编辑 config.yaml

model:
  default: your-model-name
  provider: custom
  base_url: http://localhost:8000/v1
  api_key: your-key-or-leave-empty-for-local

两种方式都会持久化到 config.yaml,它是主模型、提供商和 base URL 的唯一可信来源。2 旧版环境变量 OPENAI_BASE_URLLLM_MODEL 不再被读取用于主模型配置 — 请使用 hermes model 或直接编辑 config.yaml2OPENAI_BASE_URL + OPENAI_API_KEY 仍作为辅助 provider: "main" 路由路径的回退保留,因此如果您正在那里使用它们,请勿盲目删除。)4

会话中切换自定义端点:

/model custom:qwen-2.5             # Custom endpoint with explicit model
/model custom                      # Auto-detect the model from the endpoint
/model custom:local:qwen-2.5       # Named custom provider "local"
/model custom:work:llama3          # Named custom provider "work"
/model openrouter:claude-sonnet-4  # Back to a cloud provider

/model custom(不带模型名)会查询您端点的 /v1/models API,如果只加载了一个模型就会自动选中 — 适用于运行单个模型的本地服务器。2

本地 LLM 服务器(配置模板)

上游文档提供了 Ollama、vLLM、SGLang、llama.cpp 和 LM Studio 的完整配置指南。下面是您实际会用到的关键命令。每条命令都设计用于产生一个可工作的端点,供 Hermes 指向。2

Ollama — 最简单的本地路径,零配置:

ollama pull qwen2.5-coder:32b
OLLAMA_CONTEXT_LENGTH=32768 ollama serve   # Raise from 4k default
hermes model   # Custom endpoint → http://localhost:11434/v1 → qwen2.5-coder:32b

Ollama 关键陷阱: Ollama 默认上下文长度极低(24GB VRAM 下仅 4,096 tokens)。必须通过 OLLAMA_CONTEXT_LENGTH 或 Modelfile 提高 — 兼容 OpenAI 的 API 接受来自客户端的上下文长度,因此 Hermes 无法替您设置。2 用于 agent 时,至少设置 16k–32k。

vLLM — 高性能 GPU 服务:

pip install vllm
vllm serve meta-llama/Llama-3.1-70B-Instruct \
  --port 8000 \
  --max-model-len 65536 \
  --tensor-parallel-size 2 \
  --enable-auto-tool-choice \
  --tool-call-parser hermes

工具调用需要 --enable-auto-tool-choice--tool-call-parser <name>。受支持的解析器:hermes(Qwen 2.5、Hermes 2/3)、llama3_jsonmistraldeepseek_v3deepseek_v31xlampythonic。如果不加这些标志,工具调用会以纯文本形式返回。2

SGLang — 借助 RadixAttention 实现 KV 缓存复用的快速服务:

pip install "sglang[all]"
python -m sglang.launch_server \
  --model meta-llama/Llama-3.1-70B-Instruct \
  --port 30000 \
  --context-length 65536 \
  --tp 2 \
  --tool-call-parser qwen

SGLang 陷阱: 默认 max_tokens 为 128。如果回答被截断,请在服务器上设置 --default-max-tokens,或在 config.yaml 中配置 model.max_tokens2

llama.cpp / llama-server — 支持 CPU 和 Apple Silicon Metal:

./build/bin/llama-server \
  --jinja -fa \
  -c 32768 \
  -ngl 99 \
  -m models/qwen2.5-coder-32b-instruct-Q4_K_M.gguf \
  --port 8080 --host 0.0.0.0

--jinja 是工具调用所必需的。 没有它,llama-server 会完全忽略 tools 参数,模型会尝试在响应文本中通过写 JSON 来调用工具 — 但 Hermes 无法将其解析为真正的工具调用。2

LM Studio — 带图形界面的桌面应用:

从 LM Studio 应用启动服务器(Developer 标签 → Start Server),或通过 CLI:lms server start(在 1234 端口启动)和 lms load qwen2.5-coder --context-length 327682 然后将 hermes model 指向 http://localhost:1234/v1

LM Studio 关键陷阱: LM Studio 从模型元数据读取上下文长度,但许多 GGUF 模型默认报告 2048 或 4096。请始终在 LM Studio 的模型设置中显式设置上下文长度 — 点击模型选择器旁的齿轮图标,将”Context Length”设置为至少 16384(最好是 32768),然后重新加载模型。2

命名自定义提供商

如果您要使用多个自定义端点(例如本地开发服务器和远程 GPU 服务器),可在 config.yaml 中将其定义为命名自定义提供商:2

custom_providers:
  - name: local
    base_url: http://localhost:8080/v1
    # api_key omitted — Hermes uses "no-key-required" for keyless local servers
  - name: work
    base_url: https://gpu-server.internal.corp/v1
    api_key: corp-api-key
    api_mode: chat_completions      # optional, auto-detected from URL
  - name: anthropic-proxy
    base_url: https://proxy.example.com/anthropic
    api_key: proxy-key
    api_mode: anthropic_messages    # for Anthropic-compatible proxies

然后用三段式语法在会话中切换:

/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4

您也可以在交互式 hermes model 菜单中选择命名自定义提供商。2

可插拔提供商架构(v0.13.0+)

v0.13.0 引入了 ProviderProfile ABC 以及 plugins/model-providers/ 目录,让第三方推理提供商无需修改核心代码即可接入。18 如果某个提供商支持兼容 OpenAI、Anthropic 或 Codex 的 API 模式,您可以实现一个 ProviderProfile 子类,声明认证路径、base URL、模型目录和缓存头;Hermes 会通过与内置提供商相同的 runtime_provider.py 路径解析它。这就是 v0.13.0 提供商扩展背后的架构变化:不再需要修改核心代码来添加提供商,而是发布一个插件。

上下文长度检测

按上游文档的说法,有两个设置经常被混淆:2

  • context_length — 总上下文窗口(输入 + 输出 token 预算之和,例如 Claude Opus 4.7 为 1,000,000,Sonnet 4.6 为 200,000)。Hermes 用它来决定何时压缩历史。
  • model.max_tokens — 输出上限(模型在单次响应中可生成的最大 token 数)。与历史长度无关。

当自动检测得到的窗口大小不正确时,请设置 context_length

model:
  default: "qwen3.5:9b"
  base_url: "http://localhost:8080/v1"
  context_length: 131072      # tokens

Hermes 通过多源解析链来检测上下文窗口:config 覆盖 → 自定义提供商按模型 → 持久缓存 → 端点 /models → Anthropic /v1/models → OpenRouter API → Nous Portal → models.dev(社区维护的注册表,覆盖 3800+ 模型)→ 回退默认值(128K)。2 该系统是 provider-aware 的,因此同一个模型在不同服务方下可能有不同的上下文上限(例如 claude-opus-4.6 在 Anthropic direct 上是 1M,但在 GitHub Copilot 上是 128K)。2

提供商轮换与回退

凭据池。 当您为同一提供商持有多个 API key 时,可通过 hermes auth 配置轮换策略。这就是您在多个密钥之间分摊速率限制的方式。6

回退模型。 配置一个备用 provider:model,当主模型失败时(速率限制、服务器错误、认证失败),Hermes 会自动切换到它:2

fallback_model:
  provider: openrouter            # required
  model: anthropic/claude-sonnet-4  # required
  # base_url: http://localhost:8000/v1    # optional, for custom endpoints
  # api_key_env: MY_CUSTOM_KEY           # optional, env var name

回退会在会话进行中切换模型和提供商,不会丢失对话。每个会话最多触发一次。2 支持回退的提供商:openrouternousopenai-codexcopilotcopilot-acpanthropichuggingfacezaikimi-codingminimaxminimax-cndeepseekai-gatewayopencode-zenopencode-gokilocodealibabacustom2

辅助模型

Hermes 使用轻量级”辅助”模型处理边缘任务:图像分析、网页摘要、浏览器截图分析、危险命令审批分类、上下文压缩、会话搜索摘要、技能匹配、MCP 工具分发以及内存清理。4 默认情况下,这些任务通过自动检测使用 Gemini Flash(OpenRouter → Nous → Codex)。

您可以为每个辅助任务配置使用哪个模型和提供商。 每个辅助槽都使用相同的三个旋钮:providermodelbase_url4

auxiliary:
  vision:
    provider: "auto"                # "auto", "openrouter", "nous", "codex", "main", etc.
    model: ""                       # e.g. "openai/gpt-4o", "google/gemini-2.5-flash"
    base_url: ""                    # Custom OpenAI-compatible endpoint
    api_key: ""                     # Falls back to OPENAI_API_KEY
    timeout: 30
    download_timeout: 30
  web_extract:
    provider: "auto"
    model: ""
    timeout: 360
  approval:
    provider: "auto"
    model: ""
    timeout: 30
  compression:
    timeout: 120
  session_search: { provider: "auto", model: "", timeout: 30 }
  skills_hub:    { provider: "auto", model: "", timeout: 30 }
  mcp:           { provider: "auto", model: "", timeout: 30 }
  flush_memories:{ provider: "auto", model: "", timeout: 30 }

"main" 提供商选项的含义是”使用我主 agent 所用的提供商”——auxiliary:compression:fallback_model: 配置中有效。它在顶层 model.provider 设置中无效。如果您将兼容 OpenAI 的自定义端点用作主模型,请在 model: 部分设置 provider: custom4

为什么这一点很重要: 如果您只配置了 Anthropic OAuth(没有 OpenRouter 密钥),您的视觉、网页摘要和压缩功能会降级或失败,因为默认辅助回退链最先尝试 OpenRouter。请添加 OPENROUTER_API_KEY 用于辅助任务,或将每个辅助槽重新配置为使用您的主提供商:

auxiliary:
  vision:
    provider: "main"
  web_extract:
    provider: "main"

这是新 Hermes 用户最常遇到的”我的功能默默不工作”陷阱。

配置系统

Hermes采用分层配置系统。理解优先级至关重要,因为高层会覆盖低层,而其中一层是您在config.yaml中看不到的全局provider注册表。

配置文件布局

根据上游文档,以下文件构成一个Hermes配置:4

~/.hermes/
├── config.yaml       # All settings (model, terminal, TTS, compression, memory, toolsets, ...)
├── .env              # Secrets (API keys, bot tokens, passwords)
├── auth.json         # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md           # Primary agent identity (slot #1 in system prompt)
├── memories/         # Persistent memory (MEMORY.md, USER.md)
├── skills/           # Bundled + agent-created + hub-installed skills
├── cron/             # Scheduled jobs
├── sessions/         # Gateway session state
└── logs/             # agent.log, gateway.log, errors.log (secrets auto-redacted)

config.yaml.env——当两者都设置了同一项时,对于非密钥设置,config.yaml优先。4 规则是: - 密钥(API密钥、bot tokens、密码)→ .env - 其他所有内容(model、terminal backend、压缩设置、memory限制、toolset)→ config.yaml

可以在config.yaml中通过shell风格的插值引用密钥:4

auxiliary:
  vision:
    api_key: ${GOOGLE_API_KEY}
    base_url: ${CUSTOM_VISION_URL}
  delegation:
    api_key: ${DELEGATION_KEY}

管理配置

hermes config                # View current configuration
hermes config show           # Same as above
hermes config edit           # Open config.yaml in your editor
hermes config set KEY VAL    # Set a specific value
hermes config path           # Print the config file path
hermes config env-path       # Print the .env file path
hermes config check          # Check for missing options (after updates)
hermes config migrate        # Interactively add missing options

示例:4

hermes config set model anthropic/claude-opus-4
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-...   # Saves to .env

hermes config checkhermes config migrate是每次执行hermes update后应运行的命令——它们会检出您的文件中尚未包含的新增配置项。6

配置优先级

Hermes从多个来源加载配置。当多个来源设置了相同的值时,优先级较高的来源胜出:4

  1. CLI参数——hermes chat --model anthropic/claude-sonnet-4(单次调用覆盖)
  2. 环境变量——在进程启动时应用
  3. config.yaml——主要设置文件
  4. .env——仅用于密钥
  5. 内置默认值——当其他来源均未设置该值时应用

CLI标志在该次调用中始终胜出。config.yaml是长期权威来源。

本地化(v0.13.0+)

v0.13.0为CLI和gateway消息新增了7种语言:简体中文、日语、德语、西班牙语、法语、乌克兰语和土耳其语。18 目前文档仅本地化为zh-Hans。语言环境从LC_ALL/LANG环境变量或config.yaml中显式的locale:键解析。英语仍为默认语言,对于翻译尚未覆盖的任何字符串,英语为权威来源。

Profile——多个隔离的Hermes实例

Profile让您拥有多个隔离的Hermes实例,每个实例都有自己的配置、会话、skill、memory和gateway PID。这就是您并排运行”work Hermes”和”personal Hermes”而互不干扰彼此状态的方式。6

hermes profile list
hermes profile create work --clone                  # Clone from current profile
hermes profile use work                             # Set sticky default
hermes profile alias work --name h-work             # Create wrapper script
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes -p work chat -q "Hello from work profile"    # One-off without switching

每个profile拥有自己的HERMES_HOME(默认为~/.hermes-<name>/),因此多个profile可以并发运行gateway而互不冲突。63


CLI 命令

本节是顶层 CLI 命令的实践者参考手册。如需查看基于代码的权威参考,请参阅上游 CLI Commands Reference6

全局选项

hermes [global-options] <command> [subcommand/options]
选项 说明
--version, -V 显示版本号并退出
--profile <name>, -p <name> 选择要使用的 Hermes profile
--resume <session>, -r <session> 通过 ID 或标题恢复会话
--continue [name], -c [name] 恢复最近的会话(或按标题匹配)
--worktree, -w 在隔离的 git worktree 中启动
--yolo 跳过危险命令的审批提示
--pass-session-id 在代理的系统提示词中包含会话 ID

顶层命令

命令 用途
hermes chat 交互式或一次性对话
hermes model 交互式选择默认提供商和模型
hermes gateway 运行或管理消息网关
hermes setup 交互式设置向导
hermes auth 管理凭据——添加、列出、移除、重置、设置策略
hermes status 显示代理、认证和平台状态
hermes cron 查看并触发 cron 调度器
hermes webhook 管理动态 webhook 订阅
hermes doctor 诊断配置和依赖问题
hermes dump 生成可直接复制粘贴的设置摘要,用于支持/调试
hermes logs 查看、追踪和过滤代理/网关/错误日志
hermes config 显示、编辑、迁移、查询配置
hermes pairing 批准或撤销消息配对码
hermes skills 浏览、安装、发布、审计 skill
hermes honcho 管理 Honcho 跨会话记忆
hermes memory 配置外部记忆提供商
hermes acp 以 ACP 服务器模式运行 Hermes(编辑器集成)
hermes mcp 管理 MCP 服务器配置;以 MCP 服务器模式运行 Hermes
hermes plugins 管理插件
hermes tools 按平台配置启用的工具
hermes sessions 浏览、导出、清理、删除会话
hermes insights 显示令牌用量/成本/活动分析
hermes claw OpenClaw 迁移辅助工具
hermes profile 管理 profile(多个隔离实例)
hermes completion 输出 shell 补全脚本(bash/zsh)
hermes whatsapp 配置并配对 WhatsApp 桥接
hermes version 输出版本信息
hermes update 拉取最新代码并重新安装依赖
hermes uninstall 从系统中移除 Hermes(--full 同时删除配置/数据)
hermes backup 完整备份配置、会话、skill 和记忆(v0.9.0+)16
hermes import 从备份归档中恢复——可用于跨设备迁移或回滚(v0.9.0+)16
hermes dashboard 启动本地 Web 仪表板,通过浏览器管理代理(v0.9.0+)16
hermes debug share 上传完整调试报告至 pastebin,便于故障排查时分享(v0.9.0+)16

hermes chat——主入口

不带参数直接运行 hermes 即进入交互式对话。hermes chat 是带选项的显式形式:6

hermes chat -q "Summarize the latest PRs"           # One-shot, non-interactive
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills          # Enable specific toolsets
hermes chat --quiet -q "Return only JSON"           # Programmatic mode
hermes chat --worktree -q "Review repo and open a PR"

主要选项:

选项 说明
-q, --query "..." 一次性非交互式提示
-m, --model <model> 覆盖本次运行的模型
-t, --toolsets <csv> 启用逗号分隔的 toolset 集合
--provider <provider> 强制指定提供商(参见完整列表
-s, --skills <name> 为本次会话预加载一个或多个 skill
-v, --verbose 详细输出
-Q, --quiet 编程模式(无横幅、加载动画、预览)
--resume <session> 直接从 chat 恢复会话
--worktree 创建隔离的 git worktree
--checkpoints 在执行破坏性变更前启用文件系统检查点
--yolo 跳过审批提示
--source <tag> 会话来源标签(默认:cli;集成场景使用 tool
--max-turns <N> 每轮最大工具调用迭代次数(默认:90)

hermes setup——完整向导

运行完整设置向导,或直接跳转到某个部分:6

hermes setup                 # Full wizard
hermes setup model           # Provider and model only
hermes setup terminal        # Terminal backend only
hermes setup gateway         # Messaging platforms only
hermes setup tools           # Tool enable/disable per platform
hermes setup agent           # Agent behavior only
hermes setup --non-interactive
hermes setup --reset         # Reset config to defaults before setup

hermes logs——结构化日志查询

hermes logs 比直接对日志文件执行 tail -f 更强大,因为它支持同时按级别、会话 ID 和时间范围进行过滤。6

hermes logs                          # Last 50 lines of agent.log
hermes logs -f                       # Follow in real time
hermes logs gateway -n 100           # Last 100 lines of gateway.log
hermes logs --level WARNING --since 1h   # Warnings from the last hour
hermes logs --session abc123         # Filter by session ID substring
hermes logs errors --since 30m -f    # Follow errors.log from 30m ago
hermes logs list                     # List all log files with sizes

日志文件位于 ~/.hermes/logs/6 - agent.log——所有代理活动(API 调用、工具调度、会话生命周期,INFO 及以上) - errors.log——仅包含警告和错误(agent.log 的过滤子集) - gateway.log——消息网关活动(平台连接、消息分发、webhook)

日志轮转由 Python 的 RotatingFileHandler 自动处理——可查找 agent.log.1agent.log.2 等文件。6

hermes doctor——诊断工具

hermes doctor [--fix] 是出现问题时应首先运行的命令。它会检查配置有效性、依赖项是否存在、API 密钥可用性、服务状态,并可通过 --fix 尝试自动修复。6

如需将诊断信息分享给他人,使用 hermes dump——它会生成一份紧凑的纯文本摘要,其中 API 密钥已脱敏,可直接粘贴到 GitHub issue 或 Discord 讨论中。6


斜杠命令

斜杠命令在活动聊天会话(CLI或消息平台)内运行。它们由hermes_cli/commands.py中共享的COMMAND_REGISTRY分发,这就是为什么大多数命令在不同界面上的工作方式完全相同。9

会话控制

命令 描述
/new(别名/reset 开始新会话
/clear 清屏并开始新会话
/history 显示对话历史
/save 保存当前对话
/retry 重试上一条消息
/undo 移除上一次用户/助手交互
/title <name> 为当前会话设置标题
/compress 手动压缩对话上下文
/rollback [number] 列出或恢复文件系统checkpoint
/stop 终止所有正在运行的后台进程
/queue <prompt> 将提示词排队到下一轮。注意事项:/q同时被/queue/quit占用;最后一次注册胜出,实际上/q会解析为/quit——请始终明确输入/queue9
/resume [name] 恢复之前命名的会话
/statusbar(别名/sb 切换上下文/模型状态栏
/background <prompt>(别名/bg 在独立的后台会话中运行提示词
/btw <question> 临时旁支问题(无工具,不持久化)
/plan [request] 加载内置的plan技能以编写计划而不执行
/branch [name](别名/fork 分支当前会话
/goal <target> 将代理锁定在目标上,使其在多轮交互中保持专注。Ralph-loop模式作为一等公民原语。可配置轮次预算。v0.13.0新增。18

配置与模型

命令 描述
/config 显示当前配置
/model [model-name] 显示或更改当前模型
/provider 显示可用提供商和当前提供商
/personality [name] 设置个性叠加层
/verbose 循环切换工具进度显示
/reasoning 管理推理强度和显示
/skin 显示或更改显示皮肤/主题
/voice [on\|off\|tts\|status] 切换CLI语音模式
/yolo 切换YOLO模式(跳过审批提示)
/fast 切换Fast Mode——OpenAI和Anthropic模型的优先处理(v0.9.0+)16
/debug 跨所有平台的快速诊断(v0.9.0+)16

/model命令是会话中切换提供商的主力:9

/model                              # Show current model and options
/model claude-sonnet-4              # Switch model (auto-detect provider)
/model zai:glm-5                    # Switch provider:model
/model custom:qwen-2.5              # Use model on custom endpoint
/model custom                       # Auto-detect model from custom endpoint
/model custom:local:qwen-2.5        # Named custom provider
/model openrouter:anthropic/claude-sonnet-4   # Back to cloud

工具、技能与信息

命令 描述
/tools [list\|disable\|enable] [name...] 管理当前会话的工具
/toolsets 列出可用的toolset
/browser [connect\|disconnect\|status] 管理本地Chrome CDP连接
/skills 搜索、安装、检查或管理skill
/cron 管理计划任务
/reload-mcp 从config.yaml重新加载MCP服务器
/plugins 列出已安装的插件
/help 显示所有命令
/usage 显示token使用情况、成本、持续时间
/insights 显示使用情况分析(最近30天)
/platforms 显示消息平台状态
/profile 显示当前profile名称和主目录

动态技能斜杠命令

每个已安装的skill都会自动作为斜杠命令暴露:9

/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
/excalidraw       # Just the skill name loads it and lets the agent ask what you need

您还可以在config.yaml中定义快捷命令,将简短名称别名为更长的提示词:9

quick_commands:
  review: "Review my latest git diff and suggest improvements"
  deploy: "Run the deployment script at scripts/deploy.sh and verify the output"
  morning: "Check my calendar, unread emails, and summarize today's priorities"

然后在CLI中输入/review/deploy/morning

前缀匹配

命令支持前缀匹配:输入/h解析为/help/mod解析为/model。当前缀有歧义时,注册顺序中的第一个胜出。完整的命令名和已注册的别名始终优先于前缀匹配。9

消息平台专属命令

有些命令仅在消息平台上可用(Telegram、Discord、Slack、WhatsApp、Signal、Email、Home Assistant):9

  • /status——显示会话信息
  • /sethome(别名/set-home)——将当前聊天标记为平台主目录
  • /approve [session|always]——批准待处理的危险命令
  • /deny——拒绝待处理的危险命令
  • /update——将Hermes Agent更新至最新版本
  • /commands [page]——浏览所有命令和技能(分页显示)

还有一些是CLI专属:/skin/tools/toolsets/browser/config/cron/skills/platforms/paste/statusbar/plugins9

工具与工具集

Hermes 内置了广泛的工具注册表,涵盖网络搜索、浏览器自动化、终端执行、文件编辑、内存、委托、RL 训练、消息投递、Home Assistant 集成等。10 工具被组织为逻辑性的工具集(toolset),可按平台启用或禁用。

高层级类别

类别 示例 描述
Web web_searchweb_extract 搜索网络并提取页面内容
终端与文件 terminalprocessread_filepatch 执行命令并操作文件
浏览器 browser_navigatebrowser_snapshotbrowser_vision 通过文本和视觉进行交互式浏览器自动化
媒体 vision_analyzevideo_analyzeimage_generatetext_to_speech 多模态分析与生成。video_analyze 以 Gemini 优先,并可扩展支持兼容的多模态提供方(v0.13.0+)。18
智能体编排 todoclarifyexecute_codedelegate_task 规划、澄清、代码执行、子智能体委托
内存与回溯 memorysession_search 持久化内存 + 会话搜索
自动化与投递 cronjobsend_message 定时任务、对外消息发送
集成 ha_*、MCP tools、rl_* Home Assistant、MCP、RL 训练

常见的 toolset 名称包括 webterminalfilebrowservisionimage_genmoaskillsttstodomemorysession_searchcronjobcode_executiondelegationclarifyhomeassistantrl10

管理工具

hermes chat --toolsets "web,terminal"       # Use specific toolsets
hermes tools                                # Interactive per-platform tool config
hermes tools --summary                      # Print enabled-tools summary

工具也可以在会话进行中通过 /tools disable <name>/tools enable <name> 进行切换,这会重置会话以使新的工具集生效。9

终端后端

terminal 工具可在六种不同环境中执行命令:10

后端 使用场景
local 在您的机器上运行(默认)——开发、可信任务
docker 隔离容器——安全性、可复现性
ssh 远程服务器——沙箱化,让智能体远离自己的代码
singularity HPC 容器——集群计算、无需 root
modal 无服务器云端执行
daytona 云端沙箱工作区——持久化的远程开发环境

通过 hermes config set terminal.backend <name> 或在 config.yaml 中切换后端:

terminal:
  backend: docker      # or: local, ssh, singularity, modal, daytona
  cwd: "."             # Working directory
  timeout: 180         # Command timeout in seconds

SSH 后端(推荐用于安全场景——智能体无法修改自己的代码):10

terminal:
  backend: ssh
# In ~/.hermes/.env
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa

Docker 后端:

terminal:
  backend: docker
  docker_image: python:3.11-slim

容器资源(适用于 docker、singularity、modal、daytona):10

terminal:
  container_cpu: 1
  container_memory: 5120          # MB (default 5GB)
  container_disk: 51200           # MB (default 50GB)
  container_persistent: true      # Persist filesystem across sessions

设置 container_persistent: true 后,已安装的软件包、文件和配置可在多次会话间保留。10

所有容器后端均以安全加固方式运行:只读根文件系统(Docker)、丢弃除 DAC_OVERRIDECHOWNFOWNER 外的所有 Linux capabilities、禁止权限提升、PID 限制(256 个进程)、完整命名空间隔离、通过卷实现持久化工作区。10

后台进程

terminal 工具支持后台执行,并提供显式的进程管理:10

terminal(command="pytest -v tests/", background=true)
# Returns: {"session_id": "proc_abc123", "pid": 12345}

process(action="list")                            # Show all running processes
process(action="poll", session_id="proc_abc123")  # Check status
process(action="wait", session_id="proc_abc123")  # Block until done
process(action="log", session_id="proc_abc123")   # Full output
process(action="kill", session_id="proc_abc123")  # Terminate
process(action="write", session_id="proc_abc123", data="y")  # Send input

PTY 模式(pty=true)可启用 Codex 和 Claude Code 等交互式 CLI 工具。10

Sudo

如果某个命令需要 sudo,Hermes 会提示您输入密码(在该会话内缓存)。或者在 ~/.hermes/.env 中设置 SUDO_PASSWORD10


多智能体 Kanban(v0.13.0+)

v0.13.0 将多智能体协作变为一等原语:一个持久化的 Kanban 看板,跨智能体、跨重启地追踪任务、状态和工作者身份。18 正是这个看板让一群 Hermes worker 真正完成工作,而不是卡在断掉的交接上。

机制 作用
心跳(Heartbeats) 每个 worker 在持有任务期间持续脉冲。一旦心跳缺失,该 worker 会被标记为可疑,任务被释放以供回收。
回收(Reclaim) 另一个 worker 可以接手被遗弃的任务,并附带完整的任务状态和此前的部分输出。
僵尸检测 在未将任务标记为完成就退出的 worker 会被自动屏蔽,无法再领取新工作,避免 swarm 中堆积已死身份。
幻觉门控 未通过门控的输出会带着备注的原因被退回看板,而不是被标记为完成。
逐任务 max_retries 对已知脆弱的任务,可覆盖默认的重试预算。
多项目看板 一个 Hermes home 可承载多个独立看板。

Kanban 看板天然地与 /goal(锁定目标的 Ralph 循环)在目标侧配合,并与现有的 delegate_task 工具在生成语义上配合。最终形成的 swarm 模式,让每个智能体共享同一份关于”接下来做什么、谁在做、卡在哪里”的事实来源。


Skills 系统

Skills 是智能体可按需加载的按需知识文档。它们遵循渐进披露模式以最大限度减少 token 占用,并兼容 agentskills.io 开放标准。11

所有 skills 都位于 ~/.hermes/skills/——主目录与事实来源。全新安装时,捆绑的 skills 会从仓库复制过来。通过 hub 安装的 skills 和智能体创建的 skills 也都放在这里。11

渐进披露

Level 0: skills_list()            [{name, description, category}, ...]   (~3k tokens)
Level 1: skill_view(name)         Full content + metadata                 (varies)
Level 2: skill_view(name, path)   Specific reference file                 (varies)

智能体只在真正需要时才加载完整的 skill 内容。11

SKILL.md 格式

---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux]      # Optional — restrict to OS platforms
metadata:
  hermes:
    tags: [python, automation]
    category: devops
    fallback_for_toolsets: [web]     # Conditional activation
    requires_toolsets: [terminal]    # Conditional activation
    config:                          # Config.yaml settings
      - key: my.setting
        description: "What this controls"
        default: "value"
        prompt: "Prompt for setup"
---

# Skill Title

## When to Use
Trigger conditions for this skill.

## Procedure
1. Step one
2. Step two

## Pitfalls
- Known failure modes and fixes

## 验证
如何确认其生效。

条件激活

skill可以根据可用的工具来显示或隐藏自身。这对于回退skill最为有用——只在高级工具不可用时才出现的免费或本地替代方案:11

字段 行为
fallback_for_toolsets 当列出的toolset可用时隐藏skill
fallback_for_tools 同上,但检查的是单个工具
requires_toolsets 当列出的toolset不可用时隐藏skill
requires_tools 同上,但检查的是单个工具

示例:内置的duckduckgo-search skill使用fallback_for_toolsets: [web]。当您设置了FIRECRAWL_API_KEY时,web toolset可用,代理会使用web_search——DuckDuckGo skill保持隐藏。如果没有API密钥,DuckDuckGo skill会自动作为回退方案出现。11

代理管理的skill

代理可以通过skill_manage工具创建、更新和删除自己的skill。这是代理的程序性记忆——当它摸索出某个非平凡的工作流时,会将该方法保存为skill以便日后复用。11

代理创建skill的时机:11 - 成功完成一项复杂任务(5次以上工具调用)之后 - 遇到错误或死胡同后找到了可行路径时 - 用户纠正了它的方法时 - 发现了非平凡的工作流时

操作:11

操作 适用场景
create 从零开始创建新skill
patch 定向修复(首选——最节省token)
edit 大规模结构性重写
delete 完全移除某个skill
write_file 添加/更新支持文件
remove_file 移除支持文件

Skill Hub

从在线注册表浏览、搜索、安装和管理skill:611

hermes skills browse                          # Browse all hub skills
hermes skills browse --source official        # Browse official optional skills
hermes skills search kubernetes               # Search all sources
hermes skills search react --source skills-sh # Search skills.sh directory
hermes skills inspect openai/skills/k8s       # Preview before installing
hermes skills install openai/skills/k8s       # Install with security scan
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills check                           # Check for upstream updates
hermes skills update                          # Reinstall changed hub skills
hermes skills audit                           # Re-scan installed hub skills
hermes skills uninstall k8s
hermes skills publish skills/my-skill --to github --repo owner/repo
hermes skills tap add myorg/skills-repo       # Add custom GitHub source

集成的hub来源:11

来源 示例 备注
official official/security/1password 随Hermes一同发布的可选skill(builtin信任级别)
skills-sh skills-sh/vercel-labs/agent-skills/vercel-react-best-practices Vercel的公开skill目录
well-known well-known:https://mintlify.com/docs/.well-known/skills/mintlify 基于URL的发现机制,从发布/.well-known/skills/index.json的网站获取
github openai/skills/k8s 直接通过GitHub仓库/路径安装
clawhub 第三方skill市场
claude-marketplace 兼容Claude的插件/市场清单
lobehub LobeHub代理目录转换

默认GitHub tap(无需配置即可浏览):openai/skillsanthropics/skillsVoltAgent/awesome-agent-skillsgarrytan/gstack11

安全扫描

所有从hub安装的skill都会经过安全扫描器,检查数据外泄、提示注入、破坏性命令、供应链信号等威胁。11

信任级别:11

级别 来源 策略
builtin 随Hermes一起发布 始终受信任
official 仓库中的optional-skills/ builtin信任级别,无第三方警告
trusted 受信任的注册表(openai/skillsanthropics/skills) 更宽松的策略
community 其他所有来源 非危险性发现可通过--force覆盖;dangerous判定仍会被阻止

--force可以为社区skill覆盖非危险性策略阻止。但它能覆盖dangerous扫描判定。11

外部skill目录

您可以让Hermes扫描本地skill目录之外的其他skill目录:11

skills:
  external_dirs:
    - ~/.agents/skills
    - /home/shared/team-skills
    - ${SKILLS_REPO}/skills

路径支持~展开和${VAR}环境变量替换。外部目录是只读的——当代理创建或编辑skill时,始终写入~/.hermes/skills/。如果两处存在同名skill,本地优先生效。11


持久化记忆

Hermes拥有有界的、经过整理的记忆,可跨会话保留。代理的记忆由两个文件构成,均存储在~/.hermes/memories/中:12

文件 用途 字符上限
MEMORY.md 代理的个人笔记——环境事实、约定、所学知识 2,200字符(约800 token)
USER.md 用户档案——偏好、沟通风格、期望 1,375字符(约500 token)

两者都会作为会话开始时的冻结快照注入到系统提示中。代理通过memory工具管理自己的记忆——addreplaceremove12

冻结快照模式:系统提示注入在会话开始时捕获一次,在会话期间永不改变。这是有意为之——可保留LLM的前缀缓存以提升性能。会话期间所做的更改会立即持久化到磁盘,但要到下一次会话才会出现在系统提示中。12

应保存的内容

应保存这些(代理会主动执行):12 - 用户偏好: “I prefer TypeScript over JavaScript” → user - 环境事实: “This server runs Debian 12 with PostgreSQL 16” → memory - 纠正: “Don’t use sudo for Docker commands, user is in docker group” → memory - 约定: “Project uses tabs, 120-char line width, Google-style docstrings” → memory - 已完成的工作: “Migrated database from MySQL to PostgreSQL on 2026-01-15” → memory

应跳过这些:12 - 琐碎或显而易见的信息 - 容易重新发现的事实 - 原始数据转储(对记忆来说太大) - 仅与会话相关的临时信息 - 已存在于上下文文件中的信息

会话搜索

除了MEMORY.mdUSER.md,代理还可以使用session_search工具搜索过去的对话。所有CLI和消息会话都存储在SQLite(~/.hermes/state.db)中,并支持FTS5全文搜索。查询会返回相关的过往对话,并通过Gemini Flash进行摘要。12

特性 持久化记忆 会话搜索
容量 总计约1,300 token 无限制(所有会话)
速度 即时(在系统提示中) 需要搜索+LLM摘要
适用场景 始终可用的关键事实 查找特定的过往对话
管理方式 由代理手动整理 自动——所有会话都被存储
token开销 每会话固定(约1,300 token) 按需

外部记忆提供方

对于超出MEMORY.mdUSER.md范围的更深层持久化记忆,Hermes内置了八个外部记忆提供方插件:Honcho、OpenViking、Mem0、Hindsight、Holographic、RetainDB、ByteRover和Supermemory12

外部提供方与内置记忆并行运行(从不替代内置记忆),并增加了知识图谱、语义搜索、自动事实提取以及跨会话用户建模等能力:612

hermes memory setup         # Pick a provider and configure it
hermes memory status        # Check what's active
hermes memory off           # Disable external provider (built-in only)

同一时间只能激活一个外部提供方。内置记忆始终处于激活状态。6

会话自动恢复(v0.13.0+)

v0.13.0让代理中途被中断后能够幸存。gateway会在重启后自动恢复被中断的会话;/update重启会在升级过程中保留会话状态;开发期间的源文件重载会保持当前会话存活,而不是强制开启新会话。18 实际效果:长时间运行的gateway工作和cron驱动的任务不再因进程重启而重置其上下文窗口。

Checkpoints v2(v0.13.0+)

v0.13.0将状态持久化重写为单存储设计,具有真正的剪枝、磁盘防护和零孤立影子仓库18 之前的checkpoint系统会在长期运行的profile中持续在磁盘上累积状态;v2存储为本地checkpoint存储设置了硬性上限,并移除了导致此类增长的重复簿记。无需用户进行任何配置更改;下一次checkpoint写入即采用v2路径。

个性与SOUL.md

SOUL.md是Hermes实例的主要身份。它占据系统提示词中的第1槽位,取代硬编码的默认身份。13

Hermes会在~/.hermes/SOUL.md(或自定义profile使用$HERMES_HOME/SOUL.md)自动播种默认的SOUL.md。已存在的用户文件永远不会被覆盖。Hermes仅从HERMES_HOME加载SOUL.md——不会查找当前工作目录。这使得个性在跨项目时表现可预测。13

SOUL.md应包含什么

用于持久的语气和个性指引:13 - 语气 - 沟通风格 - 直率程度 - 默认交互方式 - 风格上需要避免的内容 - Hermes应如何处理不确定性、分歧与歧义

不太适合用于:13 - 一次性的项目指令 - 文件路径 - 仓库约定 - 临时性的工作流细节

这些内容属于AGENTS.md,而非SOUL.md

SOUL.md与AGENTS.md的区别

这是Hermes身份管理中最重要的区分:13

SOUL.md——身份、语气、风格、沟通默认值、个性层面的行为。

AGENTS.md——项目架构、编码约定、工具偏好、仓库特定的工作流、命令、端口、路径、部署说明。

一条实用的规则:如果某项内容应当跟随您到任何地方,它属于SOUL.md;如果它属于某个项目,则属于AGENTS.md13

内置个性

Hermes自带多种内置个性,您可以通过/personality切换:13

名称 描述
helpful 友好的通用助手
concise 简短切题的回复
technical 详尽准确的技术专家
creative 富有创新、跳脱常规的思考
teacher 耐心的教育者,提供清晰示例
kawaii 可爱的表达方式、闪光、热情洋溢
catgirl 带猫娘式表达的Neko-chan
pirate Captain Hermes,精通技术的海盗
shakespeare 富有戏剧色彩的吟游诗人散文
surfer 悠闲的冲浪兄弟氛围
noir 硬派侦探式的叙述
uwu 极致可爱的uwu式说话
philosopher 对每个问题都进行深刻思考
hype 最大能量

自定义个性写入config.yaml:13

agent:
  personalities:
    codereviewer: >
      You are a meticulous code reviewer. Identify bugs, security issues,
      performance concerns, and unclear design choices. Be precise and constructive.

然后通过/personality codereviewer切换。

SOUL.md与/personality的区别

SOUL.md是基线声音。/personality是会话级别的覆盖层。13建议保留一个务实的默认SOUL.md,然后在辅导对话中使用/personality teacher,或在头脑风暴时使用/personality creative


Nous Tool Gateway(v0.10.0+)

自Hermes Agent v0.10.0(2026-04-16)起,付费的Nous Portal订阅用户可通过其现有Portal凭证获得对一组精选工具的托管访问——无需额外管理API密钥。20 Hermes CLI本身仍保持MIT许可并完全开源。变化在于您的Portal认证现在不仅仅解锁模型推理。

gateway包含哪些内容

工具 提供方 用途
Web search Firecrawl 为需要新鲜信息的agent进行检索
图像生成 FAL / FLUX 2 Pro 内联生成图像,无需配置FAL密钥
文本转语音 OpenAI TTS 在消息gateway上进行语音输出
浏览器自动化 Browser Use 无头浏览与抓取

工作原理

gateway通过新的use_gateway配置字段实现按工具选择启用。如果您在hermes auth中拥有Portal凭证并且为某个工具启用了gateway,则该工具的调用会通过Portal路由。否则将使用您的直接API密钥(如有)。

# config.yaml — per-tool gateway opt-in
tools:
  web_search:
    provider: firecrawl
    use_gateway: true          # route via Nous Portal subscription
  image_generation:
    provider: fal
    use_gateway: true

运行时优先级:当gateway可用某个工具配置了use_gateway: true时,即使您同时配置了直接的API密钥,Hermes也会优先使用gateway。这一点对计费很关键——gateway调用从您的Portal订阅中扣除,而不是从直接API密钥的余额中扣除。

启用gateway

hermes model                      # select Nous Portal (OAuth flow)
hermes tools                      # per-platform tool picker integrates gateway tools
hermes status                     # confirms gateway/subscription detection

不存在单独的hermes subscribehermes login --portal命令。订阅状态会从您已在hermes auth中拥有的Portal OAuth凭证中自动检测。

定价与访问

定价与套餐名称发布于Nous Portal定价页面(https://portal.nousresearch.com/pricing)。本指南不列举各套餐,因为它们由Portal产品负责,而非Hermes CLI,并且会独立于Hermes版本发布而变化。请在https://portal.nousresearch.com/注册,并查看定价页面以获取当前套餐信息。

弃用通知

  • HERMES_ENABLE_NOUS_MANAGED_TOOLS环境变量在v0.10.0中已移除。托管工具现在通过按工具的use_gateway配置字段启用,并以您的Portal订阅状态为门控。20

定位:这次发布不是什么

Hermes Agent CLI并未被订阅锁定。该项目仍采用MIT许可,所有核心功能(CLI、skill、记忆、messaging gateway、cron、MCP、本地仪表板、面向每个提供方的BYOK)无需向任何人付费即可端到端使用。v0.10.0为已经付费使用Nous Portal的用户增加了一条便捷路径——并未从免费路径中移除任何东西。


Messaging Gateway

Hermes可作为长期运行的gateway进程,通过单个gateway进程连接20个消息平台:Telegram、Discord、Slack、WhatsApp、Signal、SMS、Email、Home Assistant、Mattermost、Matrix、DingTalk、Feishu/Lark、WeCom、Weixin(WeChat)、BlueBubbles(iMessage)、QQBot、Microsoft Teams、Tencent Yuanbao、Google Chat,以及一个通用的Webhook适配器。3191718 v0.9.0通过BlueBubbles添加了iMessage(自动webhook注册、设置向导、崩溃恢复),并通过iLink Bot API添加了原生WeChat支持,以及面向企业应用的WeCom回调模式。16 v0.11.0添加了QQBot。19 v0.12.0添加了Microsoft Teams和Tencent Yuanbao。17 v0.13.0将Google Chat作为第20个平台加入,采用相同的可插拔适配器架构;IRC和Microsoft Teams也被迁移至新的适配器模式,并使用通用的env_enablement_fn / cron_deliver_env_var插件挂钩。18

设置

hermes gateway setup                # Interactive platform configuration
hermes gateway install              # Install as user service (systemd/launchd)
hermes gateway start                # Start the installed service
hermes gateway stop
hermes gateway restart
hermes gateway status
hermes gateway run                  # Run in foreground (debugging)

交互式设置会引导您完成各平台的连接:API令牌、机器人ID、频道映射、允许列表。6

消息流转方式

来自上游架构文档:3

Platform event → Adapter.on_message() → MessageEvent
  → GatewayRunner._handle_message()
    → authorize user
    → resolve session key
    → create AIAgent with session history
    → AIAgent.run_conversation()
    → deliver response back through adapter

每个消息平台都通过与CLI相同的AIAgent对话循环运行。这就是为什么斜杠命令在两处的工作方式完全一致,以及为什么在Telegram中调度的cron任务可以将其输出投递到Discord——平台差异仅存在于边缘层。3

用户授权与配对

hermes pairing list                    # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending

配对码可防止陌生人随意与您的gateway对话。用户从其消息平台发送配对码,您通过hermes pairing approve批准;此后他们便获得授权。6


计划任务(Cron)

Hermes拥有一流的cron系统,任务为agent task,而非shell命令。每个计划任务都通过一个全新的AIAgent运行,使用配置好的提示词、可选附加的skill,并将结果投递到任意平台:36

hermes cron list
hermes cron create --prompt "Check HN for AI news and summarize" --schedule "0 9 * * *" --deliver telegram
hermes cron edit <id>
hermes cron pause <id>
hermes cron resume <id>
hermes cron run <id>         # Trigger now on the next tick
hermes cron remove <id>
hermes cron status           # Check if scheduler is running
hermes cron tick             # Run due jobs once and exit

或者在消息聊天中以对话方式创建:

Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.

agent会通过其工具设置cron任务。任务持久化保存于JSON中,并在重启后保留。3


MCP 集成

Hermes 支持将 Model Context Protocol 同时作为客户端和服务端使用:6

作为客户端 — 将 Hermes 连接到外部 MCP 服务器,以扩展其工具范围:

hermes mcp add <name> --url https://example.com/mcp
hermes mcp add <name> --command npx --args "-y,@modelcontextprotocol/server-github"
hermes mcp list
hermes mcp test <name>
hermes mcp remove <name>
hermes mcp configure <name>   # Toggle individual tool selection

或在 config.yaml 中手动配置:14

mcp_servers:
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"

作为服务端 — 将 Hermes 对话暴露给其他 agent:

hermes mcp serve
hermes mcp serve -v    # Verbose

上下文压缩

Hermes 会自动压缩长对话,以保持在所用模型的上下文窗口内。压缩摘要器是一次独立的 LLM 调用 — 您可以将其指向任何 provider 或端点。4

compression:
  enabled: true
  threshold: 0.50                           # Compress at this % of context limit
  target_ratio: 0.20                        # Fraction to preserve as recent tail
  protect_last_n: 20                        # Min recent messages to keep uncompressed
  summary_model: "google/gemini-3-flash-preview"
  summary_provider: "auto"                  # "auto", "openrouter", "nous", "codex", "main", etc.
  summary_base_url: null                    # Custom OpenAI-compatible endpoint

Provider 选项:4

summary_provider summary_base_url 结果
auto(默认) 未设置 自动检测最佳可用 provider
nous / openrouter 未设置 强制使用该 provider,沿用其认证
任意 已设置 直接使用自定义端点(provider 被忽略)

summary_model 支持的上下文长度必须至少与主模型相当,因为它会接收整段对话的中间部分用于压缩。4

预算压力警告

当 agent 处理涉及大量工具调用的复杂任务时,可能在毫无察觉的情况下耗尽其迭代预算(默认:90 轮)。预算压力机制会自动向模型发出提示:4

阈值 级别 模型看到的内容
70% 注意 [BUDGET: 63/90. 27 iterations left. Start consolidating.]
90% 警告 [BUDGET WARNING: 81/90. Only 9 left. Respond NOW.]

流式超时

LLM 流式连接有两层超时机制,会针对本地 provider(localhost、局域网 IP)自动调整:4

超时 默认值 本地 provider 环境变量
套接字读取超时 120s 自动提升至 1800s HERMES_STREAM_READ_TIMEOUT
流停滞检测 180s 自动禁用 HERMES_STREAM_STALE_TIMEOUT
API 调用(非流式) 1800s 不变 HERMES_API_TIMEOUT

之所以将本地端点的套接字读取超时提升到 30 分钟,是因为本地 LLM 在大上下文场景下,可能需要数分钟完成 prefill,才能产出第一个 token。4


本地 Web 仪表板(v0.9.0+)

一款基于浏览器的仪表板,用于在本地管理 Hermes Agent。无需触碰配置文件或终端,即可配置设置、监控会话、浏览 skill 并管理 gateway。16 通过 hermes dashboard 启动。对于偏好 GUI 的新用户,这是最便捷的上手路径。

后台进程监控(v0.9.0+)

watch_patterns 允许您设置模式来监控后台进程输出,并在匹配时实时收到通知。16 监控错误、等待特定事件(“listening on port”),或观察构建日志 — 全部无需轮询。结合 v0.8.0 引入的 notify_on_complete(在后台任务完成时通知),Hermes 现已具备完整的后台进程可观测性层。15

可插拔 Context Engine(v0.9.0+)

上下文管理现在通过 hermes plugins 成为可插拔的槽位。可换入自定义 context engine,以控制 agent 每轮所见的内容 — 过滤、摘要,或注入特定领域的上下文。16 这将上下文策略与核心 agent 循环解耦,从而允许按项目或按领域进行上下文定制。

备份与恢复(v0.9.0+)

hermes backup 会创建一份包含您的配置、会话、skill 和 memory 的完整归档。hermes import 则可从备份归档中恢复。16 可借此在多台设备间迁移、在重大变更前创建快照,或与团队成员共享一份已验证可用的配置。

Termux / Android 支持(v0.9.0+)

Hermes 通过 Termux 在 Android 上原生运行。调整后的安装路径、面向移动屏幕的 TUI 优化、语音后端支持,以及 /image 命令均可在设备端运作。16

安全加固(v0.13.0+)

v0.13.0 修复了 8 个 P0 安全问题,并将一项默认设置调整为对用户更有利的方向。18

修复 变更内容
密钥脱敏默认启用 此前为可选启用。除非显式关闭,否则日志和 hermes debug share 上传内容都会对密钥进行脱敏。v0.12.0 因有效负载损坏的反馈而默认禁用了脱敏;v0.13.0 将其重新启用,作为更安全的基线。
Discord 跨服务器 DM 绕过(CVSS 8.1) Discord 角色允许列表现已限定在所属服务器范围内,封堵了一条原本可让某一服务器中的用户角色授权跨所有服务器 DM 的路径。
WhatsApp 默认限制 WhatsApp 适配器默认拒绝陌生人,且永不在 self-chat 中回复。
MCP OAuth TOCTOU 窗口 修复了 MCP OAuth 流程中保存凭据期间的竞态条件。
CLI auth.json TOCTOU 修复了 CLI 认证存储凭据写入器中类似的 TOCTOU 窗口。
浏览器 SSRF 兜底 混合路由对试图访问 169.254.169.254 及等价地址的请求强制执行云元数据 SSRF 兜底。
Cron 提示词注入扫描 在 cron 任务运行前,会对组装好的提示词(包括加载的 skill 内容)进行提示词注入扫描。
hermes debug share 脱敏 调试分享上传会在上传时对日志内容脱敏,而不仅仅是在写入时。

如果您在维护 Hermes 部署,请将 v0.13.0 视为一次与安全相关的升级,而非单纯的功能更新。Discord 跨服务器绕过及两处 TOCTOU 窗口在更早版本上均可被利用。


面向实践者的架构

本节面向那些希望了解底层运作机制的读者,以便他们能够调试、扩展或推理性能。本节是上游架构文档的综合。3

入口点 → AIAgent

Hermes 中的每个入口点最终都会调用 AIAgent.run_conversation()

┌──────────────────────────────────────────────────────────────────┐
                        Entry Points                              
                                                                  
  CLI (cli.py)    Gateway (gateway/run.py)    ACP (acp_adapter/)  
  Batch Runner    API Server                  Python Library     
└──────────┬──────────────┬───────────────────────┬────────────────┘
                                                
                                                
┌──────────────────────────────────────────────────────────────────┐
                     AIAgent (run_agent.py)                       
                                                                  
  ┌─────────────┐  ┌──────────────┐  ┌──────────────┐             
   Prompt         Provider        Tool                      
   Builder        Resolution      Dispatch                  
  └──────┬──────┘  └──────┬───────┘  └──────┬───────┘             
                                                              
  ┌──────┴───────┐ ┌──────┴───────┐  ┌──────┴───────┐             
   Compression    3 API Modes     Tool Registry             
   & Caching      chat_compl      47 tools                  
                  codex_resp      20 toolsets               
                  anthropic                                 
  └──────────────┘ └──────────────┘  └──────────────┘             
└──────────────────────────────────────────────────────────────────┘

图示改编自上游架构文档。3

“47 个 tools / 20 个 toolsets” 与启动横幅中的 “28 个 tools” 之间的差异。 “47 个 tools” 是上游仓库的 tool 注册表总数——即 Hermes 附带源代码的所有 tool,涵盖每一个 toolset。您实际运行的 CLI 在启动横幅中会显示一个较小的数字(我用来验证本指南的安装报告为 28 tools / 89 skills)。这并非缺陷。许多 toolset 都是可选启用的,必须在 config.yamltoolsets: 下显式启用——例如消息平台适配器、浏览器自动化、较重的爬取工具等。注册表总数代表”可用范围”,横幅中的数字代表”当前 profile 中已启用的范围”。可使用 hermes tools --list 查看哪些 toolset 处于活动状态,并通过 ~/.hermes/config.yaml 中的 toolsets: 块(或在运行的会话中使用 /tools list / /tools enable <name> / /tools disable <name>——移除 tool 会触发会话重置,让 agent 重建其 tool 清单)启用或禁用各个 toolset。

三种 API 模式

Hermes 将 provider 之间的差异抽象为三种 API 模式,并在运行时自动选择:3

API 模式 使用方
chat_completions OpenRouter、z.ai、Kimi、MiniMax、DeepSeek、Alibaba、大多数自定义端点、任何兼容 OpenAI 的服务器
codex_responses OpenAI Codex(通过 ChatGPT OAuth)
anthropic_messages Anthropic API(原生)、Anthropic OAuth、兼容 Anthropic 的代理

runtime_provider.py 解析器将 (provider, model) 元组映射到 (api_mode, api_key, base_url),支持 18 个以上 provider,并处理 OAuth 流程、凭证池及别名解析。3

CLI 会话中的数据流

User input  HermesCLI.process_input()
   AIAgent.run_conversation()
     prompt_builder.build_system_prompt()
     runtime_provider.resolve_runtime_provider()
     API call (chat_completions / codex_responses / anthropic_messages)
     tool_calls?  model_tools.handle_function_call()  loop
     final response  display  save to SessionDB

摘自上游架构页面。3

Prompt 组装顺序

prompt 堆栈包括:13

  1. SOUL.md(agent 身份——若不可用则使用内置回退)
  2. 面向 tool 的行为指引
  3. 记忆/用户上下文(MEMORY.mdUSER.md
  4. skill 指引
  5. 上下文文件(AGENTS.md.cursorrules
  6. 时间戳
  7. 平台特定的格式提示
  8. 可选的系统提示叠加层,例如 /personality

SOUL.md 是基础——其他一切都建立在它之上。13

会话存储

基于 SQLite 的会话存储,配合 FTS5 全文搜索。会话具备血缘追踪(跨压缩的父子关系)、按平台隔离,以及具有争用处理的原子写入。3

插件系统

三种发现来源:~/.hermes/plugins/(用户)、.hermes/plugins/(项目)以及 pip 入口点。插件通过上下文 API 注册 tool、hook 以及 CLI 命令。memory provider 是位于 plugins/memory/ 下的一种专用插件类型。3

hermes plugins                       # Interactive enable/disable UI
hermes plugins install <repo>        # Install from Git URL or owner/repo
hermes plugins enable <name>
hermes plugins disable <name>
hermes plugins list

设计原则

摘自上游架构页面:3

原则 在实践中的含义
Prompt 稳定性 系统 prompt 在对话中途不会改变。除显式用户操作(/model)外,不进行任何会破坏缓存的变更
可观察的执行 每次 tool 调用都通过回调对用户可见。CLI 中的进度更新(旋转指示器)以及 gateway 中的进度更新(聊天消息)
可中断 API 调用和 tool 执行可被用户输入或信号在执行途中取消
平台无关的核心 单一的 AIAgent 类同时服务于 CLI、gateway、ACP、批处理及 API server。平台差异存在于入口点中
松耦合 可选子系统(MCP、插件、memory provider、RL 环境)采用注册表模式和 check_fn 门控,而非硬性依赖
Profile 隔离 每个 profile 拥有独立的 HERMES_HOME、config、memory、session 和 gateway PID。多个 profile 可并发运行

从 OpenClaw 迁移

Hermes Agent 是 OpenClaw 的继任者。如果您正在从现有的 OpenClaw 安装迁移:65

hermes claw migrate --dry-run                    # Preview what would be migrated
hermes claw migrate --preset full                # Full migration including API keys
hermes claw migrate --preset user-data --overwrite   # User data only, no secrets
hermes claw migrate --source /custom/path        # Non-default OpenClaw location

hermes claw migrate 默认从 ~/.openclaw 读取(同时自动检测旧版的 ~/.clawdbot~/.moldbot 目录),并写入到 ~/.hermes6

直接导入(30 多个类别):SOUL.mdMEMORY.mdUSER.mdAGENTS.md、来自 4 个源目录的 skill、默认模型、自定义 provider、MCP 服务器、消息平台令牌与白名单(Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost)、agent 默认设置(推理强度、压缩、人类延迟、时区、沙箱)、会话重置策略、审批规则、TTS 配置、浏览器设置、tool 设置、exec 超时、命令白名单、gateway 配置以及来自 3 个来源的 API 密钥。6

已归档以供手动审阅: cron 任务、插件、hook/webhook、memory 后端(QMD)、skill 注册表配置、UI/身份标识、日志、多 agent 配置、通道绑定、IDENTITY.mdTOOLS.mdHEARTBEAT.mdBOOTSTRAP.md6

API 密钥解析按优先级顺序检查三个来源:config 值 → ~/.openclaw/.envauth-profiles.json6


故障排除

“API key not set”

运行 hermes model 以交互方式配置您的提供商,或使用 hermes config set OPENROUTER_API_KEY your_keyhermes doctor 命令会准确告诉您缺少哪些密钥。7

启动时出现 “Context limit: 2048 tokens”(本地模型)

Hermes 会从服务器的 /v1/models 端点自动检测上下文长度,但许多本地服务器报告的默认值偏低。请在 config.yaml 中显式设置:2

model:
  default: your-model
  provider: custom
  base_url: http://localhost:11434/v1
  context_length: 32768

工具调用显示为文本,而不是被执行

您的服务器未启用工具调用,或者模型不支持通过该服务器的实现进行工具调用。2

服务器 修复方法
llama.cpp 在启动命令中添加 --jinja
vLLM 添加 --enable-auto-tool-choice --tool-call-parser hermes
SGLang 添加 --tool-call-parser qwen(或合适的解析器)
Ollama 默认已启用工具调用——使用 ollama show <model> 检查您的模型是否支持
LM Studio 升级到 0.3.6+,并使用具备原生工具支持的模型

响应在句子中途被截断

可能有两个原因:2

  1. 输出上限过低(max_tokens)——SGLang 默认每条响应 128 tokens。在服务器上设置 --default-max-tokens,或在 config.yaml 中配置 model.max_tokens
  2. 上下文耗尽——模型填满了上下文窗口。增大 model.context_length,或在 Hermes 中启用上下文压缩。

从 WSL2 连接到 Windows 上托管的模型服务器时出现 “Connection refused”

WSL2 使用带有独立子网的虚拟网络适配器——WSL2 内部的 localhost 指向 Linux 虚拟机,而不是 Windows 主机。有两种方案:2

镜像网络(Windows 11 22H2+):编辑 %USERPROFILE%\.wslconfig:

[wsl2]
networkingMode=mirrored

然后执行 wsl --shutdown 并重启。localhost 现在可双向工作。

主机 IP 回退(较旧的 Windows):在 WSL2 内获取 Windows 主机 IP,用它代替 localhost:

ip route show | grep -i default | awk '{ print $3 }'
# 将该 IP 用作 base_url 的主机

您还需要让模型服务器绑定到 0.0.0.0,而不是 127.0.0.1——为 Ollama 设置 OLLAMA_HOST=0.0.0.0,为 llama-server/SGLang 添加 --host 0.0.0.0,或在 LM Studio 中启用 “Serve on Network”。2

一切都在哪里?

hermes statushermes dump 在这里就是您的好帮手。hermes logs list 列出所有日志文件及其大小。hermes config path 打印配置文件的位置。hermes config env-path 打印 .env 文件的位置。6


常见问题

Hermes Agent 与 Claude Code 有什么区别?

Claude Code 是 Anthropic 的官方 CLI,锁定使用 Anthropic 的模型。Hermes Agent 是 Nous Research 推出的开源 agent 框架,可与任何兼容 OpenAI 的提供商配合使用——Nous Portal、OpenRouter、Anthropic、GitHub Copilot、z.ai、Kimi、MiniMax、DeepSeek、Hugging Face、Google,或您自托管的端点。12 Hermes 还提供了 Claude Code 所没有的、面向 Telegram/Discord/Slack/WhatsApp/Signal 的消息 gateway。

我可以用 Anthropic 的 API key 来使用 Hermes 吗?

可以。有三种方式:2

  1. ~/.hermes/.env 中设置 ANTHROPIC_API_KEY,然后运行 hermes chat --provider anthropic --model claude-sonnet-4-6
  2. 运行 hermes model 并选择 Anthropic——可用时,Hermes 会使用 Claude Code 的凭据存储
  3. 设置手动的 ANTHROPIC_TOKEN(setup-token 或 OAuth token)作为回退

如果您已经在同一台机器上使用 Claude Code,推荐方式 2——它能让可刷新的 Claude 凭据保持可刷新状态。

如何在不丢失对话的情况下切换提供商?

在会话中使用 /model provider:model。对话历史、记忆和 skills 都会延续:9

/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5

我配置了 Anthropic,但视觉/网页/压缩功能不工作

您遇到的是辅助模型回退问题。视觉、网页摘要、压缩等附属任务使用的是独立的辅助 LLM——默认通过自动检测使用 Gemini Flash(OpenRouter → Nous → Codex)。如果这些都未配置,而您只设置了 Anthropic,这些功能就会静默降级。4

修复方法:要么为辅助任务添加一个 OPENROUTER_API_KEY,要么重新配置辅助槽位使其使用您的主提供商。请注意,上下文压缩位于自己独立的顶层 compression: 块中,接收的是 summary_provider,而不是 auxiliary.compression.provider——auxiliary.compression 槽位仅提供 timeout。完整修复:

auxiliary:
  vision:      { provider: "main" }
  web_extract: { provider: "main" }

compression:
  summary_provider: "main"

SOUL.md 与 AGENTS.md 有什么区别?

SOUL.md 是您 agent 的身份——语气、风格、默认沟通方式。它位于 ~/.hermes/SOUL.md,会跟随您到任何地方。AGENTS.md 是项目专属的——架构、约定、命令、路径——位于您的项目目录中。13 如果它应该跟随您到处走,放在 SOUL.md;如果它属于某个项目,放在 AGENTS.md

如何并排运行多个 Hermes 实例?

使用 profile。每个 profile 都拥有独立的 HERMES_HOME、config、记忆、会话和 gateway PID:6

hermes profile create work --clone
hermes profile use work                 # 粘性默认
hermes -p work chat -q "..."            # 一次性使用,无需切换
hermes profile alias work --name h-work # 包装脚本

Hermes 支持本地 LLM 吗?

支持,通过自定义端点路径。Hermes 可与任何兼容 OpenAI 的服务器配合使用:Ollama、vLLM、SGLang、llama.cpp/llama-server、LM Studio、LocalAI、Jan,或您自己的服务器。2 各服务器的具体设置请参见 Custom & Self-Hosted Endpoints

为什么我的启动横幅显示的工具数比指南中所说的 Hermes 拥有的少?

指南引用了上游架构注册表中的 47 个工具 / 20 个 toolset——这是 Hermes 在所有 toolset 中提供源代码的工具总数。您正在运行的安装在横幅中显示的数量较小(本指南所用的参考安装报告 28 个工具),因为 Hermes 在启动时仅启用默认的 toolset 集合。许多 toolset 是按需启用的:消息 gateway 适配器、浏览器自动化、较重的抓取栈以及几个专门的集成,必须先在 ~/.hermes/config.yamltoolsets: 下显式列出才会被加载。注册表总数 = “如果启用了的话有多少可用”。横幅总数 = “您当前 profile 实际加载了多少”。使用 hermes tools --list 查看哪些 toolset 处于活跃状态、哪些可用但已禁用。在运行时使用 /tools enable <name>/tools disable <name> 切换单个 toolset(禁用会触发会话重置,以便 agent 用新的形态重建其工具清单)。

当我的主提供商失败时,Hermes 如何处理模型回退?

config.yaml 中配置 fallback_model 块:2

fallback_model:
  provider: openrouter
  model: anthropic/claude-sonnet-4

当主提供商失败时(限流、服务器错误、认证失败),Hermes 会在会话中途切换到回退模型,且不会丢失对话历史。每个会话最多触发一次。

agent 能随着时间推移自我提升 skills 吗?

可以——这正是 Hermes Agent “自我提升” 的部分。agent 可以通过 skill_manage 工具创建、更新和删除 skills。当它摸索出一个非平凡的工作流时,会把该方法保存为 skill 以供将来复用。11 agent 会在完成复杂任务后(5 次以上工具调用)、遇到错误并找到可行路径时、您纠正其方法时,或它发现非平凡工作流时创建 skills。

有 IDE 集成吗?

有——Hermes 可以作为 ACP(Agent Client Protocol)服务器运行,支持 VS Code、Zed 和 JetBrains:6

pip install -e '.[acp]'
hermes acp

更新日志

日期 变更 来源
2026-05-07 指南 v1.5:新增 v0.13.0(2026年5月7日)—— Tenacity 版本。重点:持久化的多智能体看板(心跳、回收、僵尸检测、幻觉门控、按任务设置 max_retries、多项目看板),将集群作为一等公民,而非委托模式。/goal 命令让智能体跨轮次锁定目标(将 Ralph-loop 模式作为斜杠命令实现)。新增 video_analyze 工具,以 Gemini 为先,并支持可扩展的兼容模型。xAI Custom Voices TTS 提供商,支持声音克隆。7 种语言 i18n(zh-Hans、ja、de、es、fr、uk、tr)覆盖 CLI 和 gateway 消息;文档仅 zh-Hans。Google Chat 作为第 20 个消息平台,采用可插拔适配器模式;IRC 和 Microsoft Teams 已迁移到同一模式。ProviderProfile ABC + plugins/model-providers/,无需修改核心即可接入可插拔的第三方提供商。会话自动恢复,可跨 gateway 重启、/update 和源文件重载。Checkpoints v2 重写,采用单存储设计、真实剪枝和磁盘防护。八项 P0 安全闭环:默认开启敏感信息脱敏、Discord 跨服务器 DM 绕过(CVSS 8.1)、WhatsApp 拒绝陌生人 + 自聊静音、MCP OAuth TOCTOU、CLI auth.json TOCTOU、浏览器 SSRF 底线、cron 提示词注入扫描、hermes debug share 脱敏。写后 lint 覆盖 Python/JSON/YAML/TOML,cron no_agent 仅脚本模式,Slack/Telegram/Mattermost/Matrix/DingTalk 全平台白名单,MCP 增强(SSE 传输、OAuth 转发、图像 MEDIA 标签)。自 v0.12.0 以来的统计数据:864 次提交、588 个合并 PR、829 个文件变更、295 位社区贡献者、282 个 issue 关闭(13 个 P0、36 个 P1)。 18
2026-05-06 指南 v1.4:新增 v0.12.0(2026年4月30日)—— Curator 版本。重点:自主后台 Curator,运行在 gateway 的 cron ticker 上(默认 7 天周期),按评分量表为 skill 库打分、剪除失效 skill、合并相关 skill,并撰写每次运行的报告 —— Hermes 在活动会话之间自我维护。自我改进循环升级,采用基于评分量表的打分、活动更新偏好、正确的运行时继承、以及限定为 memory 和 skills 的 toolset 范围。四个新推理提供商:GMI Cloud、Azure AI Foundry、MiniMax OAuth 和 Tencent Tokenhub。LM Studio 升级为一等公民。远程模型目录清单现在无需发版即可自动更新。两个新消息平台:Microsoft Teams(第 19 个,采用可插拔 gateway 架构)和 Tencent Yuanbao(第 18 个,原生支持文本 + 媒体)。原生 Spotify(通过 PKCE OAuth,附带捆绑 skill);Google Meet 插件用于通话和转录;Piper 本地 TTS 提供商。ComfyUI v5 + TouchDesigner-MCP 从可选项转为默认捆绑。新增 skill:Humanizer、claude-design、design-md、airtable。CLI 新增:hermes -z 一次性模式、hermes update --check 预检、/reload-skills 斜杠命令、可插拔忙碌指示样式。可见 TUI 冷启动通过延迟 agent 初始化和延迟导入降低约 57%。安全方面:默认禁用敏感信息脱敏以防止载荷损坏;对不可恢复的命令采用强硬黑名单。统计数据:1,096 次提交、550 个合并 PR、213 位社区贡献者。 17
2026-04-25 指南 v1.3:新增 v0.11.0(2026年4月23日)—— Interface 版本交互式 TUI 完整 React/Ink 重写,采用 Python JSON-RPC 后端(tui_gateway);粘性输入框、带 OSC-52 剪贴板支持的实时流式输出、稳定的选择器键、带每轮秒表和 git 分支的状态栏、/clear 确认、浅色主题预设、子智能体生成可观测性覆盖层。可插拔传输架构 —— 格式转换和 HTTP 传输被抽离至 agent/transports/,以提供更清晰的提供商管线。原生 AWS Bedrock,通过 Converse API。五条新推理路径:NVIDIA NIM、Arcee AI、Step Plan、Google Gemini CLI OAuth 和 Vercel ai-gateway。通过 Codex OAuth 接入 GPT-5.5 —— OpenAI 的新旗舰现在可通过 ChatGPT Codex OAuth 访问,无需单独的 API 密钥。QQBot(第 17 个消息平台),支持扫码设置和流式输出。插件能力扩展:斜杠命令、工具派发、执行阻断、结果转换。/steer <prompt> —— 运行中的智能体微调,在下一次工具调用后将注入的提示注入运行中的智能体,而不打断本轮或破坏提示词缓存。Shell hook 将脚本作为生命周期钩子接入,无需 Python 插件。Webhook 直送模式将载荷直接转发到平台聊天,绕过智能体进行扇出。更智能的委托,带编排器角色、可配置生成深度和文件协调。Dashboard 新增插件系统、实时主题切换、i18n 和移动端响应式。自 v0.9.0 以来的统计数据:1,556 次提交、761 个合并 PR、1,314 个文件变更、224,174 行新增、29 位社区贡献者。 19
2026-04-16 指南 v1.2:新增 v0.10.0 —— Nous Tool Gateway。Nous Portal 付费订阅用户现在可以使用托管工具(Firecrawl 网页搜索、FAL / FLUX 2 Pro 图像生成、OpenAI TTS、Browser Use 浏览器自动化),无需额外的 API 密钥。通过新的 use_gateway 配置字段按工具选择启用。同时配置时,运行时优先使用 gateway 而非直接的 API 密钥。HERMES_ENABLE_NOUS_MANAGED_TOOLS 环境变量已移除。Hermes Agent CLI 仍采用 MIT 许可,完全免费。 20
2026-04-13 指南 v1.1:新增 v0.8.0 和 v0.9.0 功能。本地 Web dashboard、/fast 模式、iMessage + WeChat 平台(共 16 个)、后台进程监控(watch_patterns)、可插拔 context engine、hermes backup/hermes import、Termux/Android、xAI + MiMo + Google AI Studio + Qwen 提供商、/debug 命令、全面的安全加固。 15 16
2026-04-10 指南 v1.0:首次发布,涵盖 Hermes Agent v0.7.0。提供商认证、配置、CLI、斜杠命令、工具、skill、memory、gateway、cron、MCP、压缩、架构、OpenClaw 迁移、故障排除、FAQ。

参考资料


  1. Nous Research,“Hermes Agent” 项目位于 GitHub 上的 README。产品描述的主要来源(自我改进型代理、多供应商、消息传递网关、终端后端、技能演化、cron 调度器、委派)以及 “Quick Install” 一行安装命令。 

  2. Nous Research,Hermes Agent 文档中的 “AI Providers”。完整供应商列表的主要来源,包括各供应商的认证方式(Nous Portal OAuth、Codex 设备代码、GitHub Copilot 令牌类型、Anthropic 三种认证方法、中国 AI 供应商、Hugging Face 路由、自定义端点)、三种认证路径(.env 中的 API 密钥、通过 hermes model 进行 OAuth、config.yaml 中的自定义端点)、/model 斜杠命令语法(包括 custom:name:model)、Ollama/vLLM/SGLang/llama.cpp/LM Studio 设置模板、WSL2 网络配置说明、上下文长度检测链、回退模型配置、智能模型路由以及命名自定义供应商。本文中所有供应商特定的环境变量名、令牌类型、基础 URL 覆盖和模型标识符均来自此页面。 

  3. Nous Research,Hermes Agent 开发者指南中的 “Architecture”。系统概览图、目录结构、通过 CLI 会话和网关消息路径的数据流、三种 API 模式(chat_completionscodex_responsesanthropic_messages)、通过 runtime_provider.py 进行的供应商解析、通过 SQLite + FTS5 的会话持久化、消息传递网关平台列表、插件系统发现来源、配置文件隔离以及六大设计原则的主要来源。 

  4. Nous Research,Hermes Agent 用户指南中的 “Configuration”。配置目录结构、config.yaml.env 规则(“非密钥设置以 config.yaml 为准”)、配置优先级链(CLI 参数 → 环境变量 → config.yaml → .env → 默认值)、上下文压缩设置(compression.* 块,包含 thresholdtarget_ratioprotect_last_nsummary_modelsummary_providersummary_base_url)、预算压力阈值(70% 警示、90% 警告)、流式传输超时及本地供应商自动调整,以及完整的辅助模型配置块(auxiliary:,包含 visionweb_extractapprovalcompressionsession_searchskills_hubmcpflush_memories 槽位)的主要来源。"main" 供应商对辅助/压缩/回退槽位的限制也来自此页面。 

  5. Nous Research,Hermes Agent 指南中的 “Migrate from OpenClaw”。OpenClaw → Hermes 迁移流程的来源。 

  6. Nous Research,Hermes Agent 参考文档中的 “CLI Commands Reference”。本文中记录的每个顶级 CLI 命令的主要来源,包括 hermes chathermes modelhermes gatewayhermes setuphermes authhermes statushermes cronhermes webhookhermes doctorhermes dumphermes logshermes confighermes pairinghermes skillshermes honchohermes memoryhermes acphermes mcphermes pluginshermes toolshermes sessionshermes insightshermes clawhermes profilehermes completionhermes updatehermes uninstall。本文中所有子命令标志、选项说明、凭证池行为、日志过滤语法、OpenClaw 迁移标志、配置文件管理命令和服务安装命令均来自此页面。 

  7. Nous Research,Hermes Agent 入门指南中的 “Installation”。一行安装程序命令、安装程序行为(先决条件、平台支持、Termux 自动检测、Windows/WSL2 要求)、可选附加项表格、手动安装步骤以及验证命令的主要来源。 

  8. Nous Research,“CLI Commands Reference” — 特别参见 hermes dump 部分,该部分描述了命令的输出格式(标头、环境、身份、模型、终端、API 密钥、功能、服务、工作负载、配置覆盖)及其用于共享诊断信息的预期用途。 

  9. Nous Research,Hermes Agent 参考文档中的 “Slash Commands Reference”。本文中列出的每个斜杠命令、COMMAND_REGISTRY 架构、CLI 与消息传递的拆分、动态技能斜杠命令、config.yaml 中的快捷命令、前缀匹配行为以及消息传递专用命令(/status/sethome/approve/deny/update/commands)的主要来源。 

  10. Nous Research,Hermes Agent 用户指南中的 “Tools & Toolsets”。工具类别概览、toolset 使用命令、六种终端后端(local、docker、ssh、singularity、modal、daytona)、容器配置(cpu、memory、disk、persistent)、容器安全加固、后台进程管理 API 以及 sudo 支持的主要来源。 

  11. Nous Research,Hermes Agent 用户指南中的 “Skills System”。渐进式披露、SKILL.md 格式、平台特定 skill、条件激活(fallback_for_toolsetsrequires_toolsetsfallback_for_toolsrequires_tools)、通过 skill_manage 实现的代理管理 skill、skill 中心命令和来源列表(officialskills-shwell-knowngithubclawhubclaude-marketplacelobehub)、安全扫描和信任级别以及外部 skill 目录的主要来源。 

  12. Nous Research,Hermes Agent 用户指南中的 “Persistent Memory”MEMORY.md / USER.md 字符限制、冻结快照模式、内存工具操作(addreplaceremove)、保存内容与跳过内容、内存与会话搜索的对比,以及八个外部内存供应商列表(Honcho、OpenViking、Mem0、Hindsight、Holographic、RetainDB、ByteRover、Supermemory)的主要来源。 

  13. Nous Research,Hermes Agent 用户指南中的 “Personality & SOUL.md”SOUL.md 行为(位于 HERMES_HOME 中,永不被覆盖,系统提示词中的 #1 槽位,纳入前进行安全扫描)、SOUL.md 与 AGENTS.md 的区别、内置个性列表(从 helpfulhype 的 14 种个性)、config.yaml 中的自定义个性、/personality 覆盖模式以及完整的提示词栈组装顺序的主要来源。 

  14. Nous Research,Hermes Agent 指南和参考文档中的 “Use MCP with Hermes”MCP Config Referenceconfig.yamlmcp_servers: 配置格式(包含 commandargsenv 字段)的来源。 

  15. Hermes Agent v0.8.0 Release Notes。2026年4月8日。后台进程自动通知、Nous Portal 上的免费 MiMo v2 Pro、跨平台实时 /model 切换、Google AI Studio 原生供应商、Qwen OAuth、基于不活动状态的超时、Slack/Telegram 上的批准按钮、MCP OAuth 2.1 PKCE、集中式日志、插件系统扩展。 

  16. Hermes Agent v0.9.0 Release Notes。2026年4月13日。本地 web 仪表板、Fast Mode(/fast)、通过 BlueBubbles 的 iMessage、WeChat + WeCom、Termux/Android、后台进程监控(watch_patterns)、xAI + 小米 MiMo 原生供应商、可插拔上下文引擎、统一代理支持、安全加固(路径遍历、shell 注入、SSRF、RCE 修复)、hermes backup/hermes import/debug + hermes debug share、支持 16 个平台。487 次提交,269 个已合并 PR,24 位贡献者。 

  17. Hermes Agent v0.12.0 Release Notes。2026年4月30日。”The Curator release.”(策展人版本)。自主后台 Curator 在网关 cron 计时器上运行,以默认 7 天周期对 skill 库进行评分、修剪和整合。自我改进循环升级:基于评分准则的评分、主动更新偏好、正确的运行时继承、限定于内存和 skill 的范围化 toolset。四个新推理供应商:GMI Cloud、Azure AI Foundry、MiniMax OAuth、Tencent Tokenhub。LM Studio 提升为一级供应商。远程模型目录清单可在无需发布版本的情况下自动更新。两个新的消息传递平台:Microsoft Teams(第 19 个,通过可插拔网关架构)和 Tencent Yuanbao(第 18 个,原生文本 + 媒体)。通过 PKCE OAuth 的原生 Spotify 集成,附带捆绑 skill;用于通话和转录的 Google Meet 插件;Piper 本地 TTS 供应商。ComfyUI v5 + TouchDesigner-MCP 默认捆绑。新 skill:Humanizer、claude-design、design-md、airtable。CLI:hermes -z 单次执行模式、hermes update --check 预检、/reload-skills 斜杠命令、可插拔的忙碌指示器样式。通过延迟初始化将 TUI 冷启动缩短约 57%。安全:默认禁用密钥脱敏;针对不可恢复命令的强制阻止列表。自 v0.11.0 以来的统计数据:1,096 次提交,550 个已合并 PR,213 位社区贡献者。另请参阅:v2026.4.30 release tag。 

  18. Hermes Agent v0.13.0 Release Notes。2026年5月7日。”The Tenacity release.”(韧性版本)。多代理 Kanban 看板,具备心跳、回收、僵尸检测、幻觉门控、按任务的 max_retries、多项目看板。/goal 斜杠命令实现跨轮次目标锁定(Ralph 循环原语),具有可配置的轮次预算。video_analyze 工具,以 Gemini 为先,兼具兼容多模态可扩展性。xAI Custom Voices TTS 供应商,支持声音克隆。7 种语言 i18n:zh-Hans、ja、de、es、fr、uk、tr(CLI + 网关消息;文档仅 zh-Hans)。Google Chat 作为第 20 个消息传递平台,通过可插拔适配器模式实现,具有通用的 env_enablement_fn / cron_deliver_env_var 插件钩子;IRC 和 Microsoft Teams 已迁移到同一模式上。ProviderProfile ABC + plugins/model-providers/ 用于可插拔的第三方供应商。会话在网关重启、/update 和源文件重新加载之间自动恢复。Checkpoints v2 单存储重写,具有真正的修剪、磁盘防护、无孤立影子仓库。八项 P0 安全闭环:默认开启密钥脱敏、Discord 跨服务器 DM 绕过(CVSS 8.1,角色允许列表服务器范围化)、WhatsApp 默认拒绝陌生人 + 永不在自我聊天中回复、MCP OAuth 凭证保存 TOCTOU、CLI 凭证写入器中的 auth.json TOCTOU、混合路由中的浏览器云元数据 SSRF 底线、cron 组装提示词扫描(包括 skill 内容)以防提示词注入、hermes debug share 在上传时进行日志内容脱敏。其他值得注意的项目:针对 Python/JSON/YAML/TOML 的写后 lint、cron no_agent 仅脚本看门狗模式、跨 Slack/Telegram/Mattermost/Matrix/DingTalk 的平台允许列表、MCP 增强(SSE 传输、OAuth 转发、图像结果作为 MEDIA 标签)。自 v0.12.0 以来的统计数据:864 次提交,588 个已合并 PR,829 个文件变更,295 位社区贡献者,282 个已关闭 issue(13 个 P0,36 个 P1)。 

  19. Hermes Agent v0.11.0 Release Notes。2026年4月23日。”The Interface release”(界面版本)— 完整的 React/Ink 重写交互式 CLI,采用 Python JSON-RPC 后端(tui_gateway);可插拔传输架构(agent/transports/);通过 Converse API 的原生 AWS Bedrock;五条新推理路径(NVIDIA NIM、Arcee AI、Step Plan、Google Gemini CLI OAuth、Vercel ai-gateway);通过 Codex OAuth 的 GPT-5.5;QQBot 作为第 17 个消息传递平台,具备扫码设置;扩展的插件接口(斜杠命令、工具调度、执行阻止、结果转换);/steer <prompt> 用于运行中的代理引导,会在下一次工具调用后注入上下文,而不会破坏提示词缓存;无需 Python 插件即可处理生命周期事件的 shell 钩子;webhook 直接传递模式,可将载荷直接转发到平台聊天;更智能的委派,具有协调器角色 + 可配置的派生深度 + 文件协调;仪表板插件系统、实时主题切换、i18n、移动端响应式。自 v0.9.0 以来的统计数据:1,556 次提交 · 761 个已合并 PR · 1,314 个文件变更 · 224,174 行新增 · 29 位社区贡献者。另请参阅:Hermes Agent v0.11.0 GitHub release tag。 

  20. Hermes Agent v0.10.0 Release Notes。2026年4月16日。”The Tool Gateway Release.”(工具网关版本)。Nous Tool Gateway 集成,面向付费 Nous Portal 订阅用户 — 受管理访问 Firecrawl 网络搜索、FAL / FLUX 2 Pro 图像生成、OpenAI TTS 和 Browser Use 浏览器自动化,无需额外的 API 密钥。通过新的 use_gateway 配置字段实现按工具选择启用。当两者都已配置时,运行时优先使用网关而非直接的 API 密钥。与 hermes toolshermes status 完全集成。替代已弃用的 HERMES_ENABLE_NOUS_MANAGED_TOOLS 环境变量。由 @jquesnelle (emozilla) 实现。Hermes Agent CLI 仍采用 MIT 许可证并完全开源;网关是与现有 Portal 订阅产品的集成,而非对 CLI 设置付费墙。另请参阅:Nous Portal 了解订阅价格和注册信息。 

NORMAL hermes.md EOF