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

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

# v0.14 Foundation新增SuperGrok OAuth、hermes proxy、x_search、PyPI安装、22个消息平台、/handoff、LSP写入诊断、video_generate、computer_use、原生Windows beta,以及更轻量的延迟安装。

words: 3606 read_time: 40m updated: 2026-05-22 04:01
$ less hermes.md

TL;DR:Hermes Agent是Nous Research推出的开源自我改进型AI Agent。它既可作为CLI运行,也可作为多平台消息gateway运行;它会在磁盘上存储持久身份和持久记忆,聚合会随使用而改进的skill,并可配合任何兼容OpenAI的LLM提供商使用——Nous Portal、OpenRouter、Anthropic、GitHub Copilot、z.ai、Kimi、MiniMax、DeepSeek、Qwen Cloud、Hugging Face、Google、xAI/SuperGrok,或您自托管的endpoint。1219截至v0.14.0(2026年5月16日),Hermes新增了支持grok-4.3 1M上下文的SuperGrok OAuth、面向OAuth提供商的兼容OpenAI的本地代理(hermes proxy)、一等支持的x_search、PyPI安装支持、lazy依赖安装、包含LINE和SimpleX Chat在内的22个消息平台、/handoff、写入后的LSP语义诊断、统一的video_generate、通过cua-driver为非Anthropic提供商提供的computer_use、原生Windows beta,以及12个P0/50个P1问题闭环。19对大多数新用户来说,最难的部分是提供商认证:Hermes支持约20个一等提供商以及custom endpoints,并提供3条不同的认证路径(.env中的API密钥、通过hermes model进行OAuth,或在config.yaml中配置custom endpoint)。认证模型是首先要掌握的内容——其他一切都取决于最终解析到哪个提供商。

Hermes Agent作为完整的Agent运行时运行,而不是聊天封装器。它可以读取您的文件系统,在沙盒后端中执行命令,抓取网页,生成subagents,运行计划cron任务,通过单个gateway进程与Telegram/Discord/Slack/WhatsApp/Signal/Email通信,并从经验中创建自己的skills。1CLI是构建在run_agent.py会话循环之上的终端UI;gateway则是一个长时间运行的进程,会将消息平台中的消息路由到同一个会话循环。3

随意使用和专家级使用Hermes的差异,归根结底在于5个系统。掌握它们,Hermes就会成为效能倍增器:

  1. 提供商解析:认证流程如何映射到API调用
  2. 配置层级config.yaml+.env+auth.json+SOUL.md+AGENTS.md
  3. 工具+toolset系统:Agent能做什么,并按平台加以限制
  4. Skills系统:Agent创建并演进的过程性记忆
  5. Gateway+cron+profiles:让Hermes在您的日常工作场景中运行,而不只是在当前位置运行

关键要点

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

v0.14带来了哪些变化

v0.14.0并非只围绕一个头条功能,而是重点降低设置阻力,同时拓宽Hermes的运行范围。19主要的操作层面变化如下:

  • 安装和启动更轻量。pip install hermes-agent可从PyPI安装,重型适配器会在首次使用时lazy安装,启动路径也延后了足够多的工作,使冷启动时间大约减少19秒。
  • 订阅可以变成本地APIendpoint。hermes proxy会把OAuth支持的提供商(例如Claude Pro、ChatGPT Pro和SuperGrok)转换为兼容OpenAI的本地endpoint,供Codex、Aider、Cline和Continue等工具使用。
  • Gateway覆盖范围扩大。LINE和SimpleX Chat将平台总数提升到22个;Microsoft Teams已实现端到端接入;Discord历史回填默认开启;Telegram/Discord的clarify提示现在使用原生按钮。
  • 写入时验证得到改进。编辑后,Hermes可以在下一轮之前显示每轮文件变更摘要和语言服务器语义诊断,使其更接近以证据驱动的Agent工作方式。
  • 桌面和媒体工具范围更广。computer_use通过cua-driver支持非Anthropic提供商,video_generate统一到可插拔后端之后,vision_analyze会把原始像素发送给真正具备视觉能力的模型。

以下每一节都基于上游文档hermes-agent.nousresearch.com/docs和源代码树github.com/NousResearch/hermes-agent。每项事实性陈述都有脚注,指向其来源的具体上游页面。

选择您的路径

您需要什么 前往这里
安装Hermes 安装——一行安装器或手动步骤
登录提供商 认证与提供商——您来到这里要找的部分
在会话中途切换模型 命令hermes authCustom & 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、LINE、SimpleX Chat(共22个)
编写或安装skill Skills System——渐进式披露+skill hub
查看每个CLI命令的深入参考 继续阅读,并直接链接到CLI Commands

Hermes 的工作方式:心智模型

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

  1. 通过 prompt_builder.py,根据 SOUL.mdMEMORY.mdUSER.md、skill、上下文文件和工具指导构建系统提示词3
  2. 通过 runtime_provider.py 解析运行时 provider——这一步会选择您的身份验证、base URL 和API模式3
  3. 使用 3 种API模式之一调用 provider:chat_completionscodex_responsesanthropic_messages3
  4. 通过 model_tools.py 和中心工具注册表(tools/registry.py)分发返回的任何工具调用3
  5. 持续循环,直到模型生成最终响应,然后将会话持久化到带 FTS5 的 SQLite 中3

理解这个循环很重要,因为每项功能——personality、memory、skill、compression、fallback——都会附着到其中某个阶段。当您阅读某个配置键并想知道它的作用时,答案通常是:“它是上面循环中第 1、2、3 或 4 阶段的一个调节项。”

平台无关核心。 一个 AIAgent 类同时服务于CLI、gateway、ACP、batch 和API服务器。平台差异存在于入口点,而不在 agent 本身。3这就是为什么同样的 slash commands 可以同时在终端和 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 把 X 存在哪里”,答案就在其中之一。


安装

对大多数用户来说,单行安装器仍然是推荐的引导式路径。它会处理Python、uv、Node.js、ripgrep、ffmpeg、仓库克隆、虚拟环境,以及全局 hermes 命令。7v0.14.0 还发布了真正的 PyPI 包,因此当您已经能控制Python环境时,pip install hermes-agent 现在也是一种可行的直接安装方式。19

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

适用于 Linux、macOS、WSL2 和 Android/Termux(安装器会自动检测 Termux,并切换到经过测试的 Android bundle)。7v0.14.0 通过 PowerShell 安装器加入了早期 beta 阶段的原生 Windows 支持,但在 Windows 路径成熟之前,生产使用仍更建议选择 WSL2。19

完成后:

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

唯一前置条件是 git。安装器会通过 uv 自动配置Python 3.11(无需 sudo)、Node.js v22(用于浏览器自动化和 WhatsApp bridge)、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当您需要在GitHub issue 或 Discord 线程中寻求帮助时,hermes dump 是可以粘贴的诊断命令——它会生成一份纯文本格式的完整设置摘要,并对 secrets 进行脱敏。8

手动安装

如果需要完全控制——自定义Python版本、指定 extras、Nix/NixOS 集成——上游安装指南已经逐步记录了手动流程。7可以与 uv pip install -e ".[<extras>]" 组合使用的关键可选 extras 如下:

Extra 添加内容
all 以下全部内容
messaging Telegram 和 Discord gateway
cron Cron 表达式解析
cli 用于设置向导的终端菜单 UI
modal Modal 云执行 backend
voice CLI麦克风输入 + 音频播放
tts-premium ElevenLabs 高级语音
honcho AI-native memory(Honcho 集成)
mcp Model Context Protocol 支持
homeassistant Home Assistant 集成
acp ACP 编辑器集成支持
slack Slack 消息
pty PTY 终端支持(交互式CLI工具)
dev pytest 和测试工具
termux 经过测试的 Android bundle(包括 croncliptymcphonchoacp

Termux 安装命令不同——它使用带 constraints 文件的 pip,而不是 uv pip

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

这是因为 Android 上的 .[all] 会通过 voice extra 拉取 faster-whisper,而后者依赖的 ctranslate2 wheel 并未针对 Android 发布。7

身份验证与提供商

Hermes支持约19个一流提供商以及自定义端点,并提供3条不同的身份验证路径。下面按路径整理了完整的身份验证范围,便于您找到与现有条件匹配的方式。

3条身份验证路径

Hermes中的每个提供商都属于以下3种身份验证模式之一:

路径1——.env中的API key。 将密钥放入~/.hermes/.env,Hermes会在启动时读取。OpenRouter、AI Gateway、z.ai/GLM、Kimi/Moonshot、MiniMax(以及MiniMax China)、Alibaba Cloud/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 proxy、Together AI、Groq、Azure OpenAI,或您自己的自托管服务器。通过hermes model → Custom endpoint配置一次后,会持久化到config.yaml2

完整提供商矩阵

下面是一流提供商的完整列表,并列出每个提供商的确切设置流程。2

Provider Auth path Setup
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 (ZhipuAI) API key ~/.hermes/.env中的GLM_API_KEY(provider:zai
Kimi / Moonshot API key ~/.hermes/.env中的KIMI_API_KEY(provider:kimi-coding
MiniMax (global) API key ~/.hermes/.env中的MINIMAX_API_KEY(provider:minimax
MiniMax China API key ~/.hermes/.env中的MINIMAX_CN_API_KEY(provider:minimax-cn
Alibaba Cloud (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) 原生提供商 / SuperGrok OAuth 一流提供商,具备直接API访问和模型目录(v0.9.0+)。v0.14.0新增SuperGrok OAuth,并为有权限的账户将grok-4.3提升到1M上下文窗口。21619
xAI Custom Voices API key 支持语音克隆的TTS提供商。v0.13.0新增;在config.yamltts:下配置,并在.env中提供xAI key。18
Xiaomi MiMo 原生提供商 一流提供商,带有设置向导和模型目录。Nous Portal上的免费MiMo v2 Pro可用于辅助任务(v0.9.0+)。1615
Google AI Studio API key ~/.hermes/.env中的GOOGLE_API_KEYGEMINI_API_KEY。通过models.dev注册表自动检测上下文长度,直接访问Gemini(v0.8.0+)。15
Qwen Cloud OAuth 支持门户请求的OAuth提供商(v0.8.0+)。该提供商在v0.14.0中从Alibaba Cloud更名为Qwen Cloud;现有配置键仍可继续使用。1519
Custom endpoint config.yaml hermes model → “Custom endpoint”(保存到config.yaml

Anthropic:3种身份验证方法

Anthropic单独成节,是因为Hermes支持3条不同路径进入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不支持经典Personal Access Token(ghp_*)。支持的类型包括OAuth token(gho_*)、细粒度PAT(带Copilot Requests权限的github_pat_*)以及GitHub App token(ghu_*)。如果您的gh auth token返回ghp_* token,请改用hermes model通过OAuth进行身份验证。2

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

Hermes内置支持z.ai/GLM、Kimi/Moonshot、MiniMax(全球+中国端点)以及Alibaba Cloud,并提供专用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环境变量覆盖Base URL。2

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

xAI (Grok)会自动启用提示缓存。 当Base 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,它是main-model、provider和base URL的唯一事实来源。2 旧版环境变量OPENAI_BASE_URLLLM_MODEL不再用于main-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——带GUI的桌面应用:

从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提供商扩展背后的架构变化:添加提供商不再需要编辑核心代码,而是交付一个插件。

OpenAI兼容本地代理(v0.14.0+)

hermes proxy会暴露一个OpenAI兼容的本地端点,其后端是Hermes已登录的OAuth提供商——Claude Pro、ChatGPT Pro、SuperGrok或另一个已配置的兼容提供商。19 这意味着,期望使用OpenAI风格API的工具,包括Codex CLI、Aider、Cline、Continue或自定义脚本,都可以复用您基于订阅的Hermes身份验证,而无需单独的API key。请将该代理视为本地开发基础设施:有意绑定,不要大范围暴露,并留意各提供商的特定条款。

上下文长度检测

根据上游文档,两个设置经常被混淆: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使用多来源解析链检测上下文窗口:配置覆盖→自定义提供商逐模型设置→持久缓存→端点/models→Anthropic /v1/models→OpenRouter API→Nous Portal→models.dev(社区维护的3800+模型注册表)→回退默认值(128K)。2 该系统具备提供商感知能力,因此同一模型可因服务方不同而拥有不同上下文限制(例如claude-opus-4.6在Anthropic直连时为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使用轻量级“辅助”模型处理边缘任务:图像分析、网页摘要、浏览器截图分析、危险命令审批分类、上下文压缩、会话搜索摘要、skill匹配、MCP工具分发和内存刷新。4 默认情况下,这些任务通过自动检测使用Gemini Flash(OpenRouter→Nous→Codex)。

您可以配置每个辅助任务使用的模型和提供商。 每个辅助槽位都使用同样3个旋钮: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 key),视觉、网页摘要和压缩功能会降级或失败,因为默认辅助回退链会先尝试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 keys、bot tokens、密码)→ .env - 其他所有内容(model、终端后端、压缩设置、内存限制、toolsets)→ 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种语言区域:中文(简体)、日语、德语、西班牙语、法语、乌克兰语和土耳其语。18v0.14.0将所有gateway命令和 web dashboard 本地化,又新增8种语言区域,总数达到16种。19目前文档仅提供zh-Hans本地化版本。语言区域会根据LC_ALL/LANG环境变量解析,也可以通过config.yaml中的显式locale:键指定。英语仍是默认语言,也是任何尚未覆盖翻译字符串的事实来源。

Profiles——多个隔离的Hermes实例

Profiles让您拥有多个相互隔离的Hermes实例,每个实例都有自己的配置、会话、skills、memory和gateway PID。这就是并行运行“工作Hermes”和“个人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>/),因此多个profiles可以同时运行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


Slash Commands

Slash commands在活跃聊天会话(CLI或消息平台)内运行。它们由hermes_cli/commands.py中的共享COMMAND_REGISTRY分发,因此大多数命令在不同界面上的行为完全一致。9

会话控制

Command Description
/new(别名/reset 启动新会话
/clear 清空屏幕并启动新会话
/history 显示对话历史
/save 保存当前对话
/retry 重试上一条消息
/undo 移除上一轮用户/助手交互
/title <name> 为当前会话设置标题
/compress 手动压缩对话上下文
/rollback [number] 列出或恢复文件系统checkpoint
/stop 终止所有正在运行的后台进程
/queue <prompt> 将prompt排入下一轮队列。注意事项:/q同时被/queue/quit占用;最后注册者生效,实际使用中/q会解析为/quit——请始终明确输入/queue9
/resume [name] 恢复先前命名的会话
/statusbar(别名/sb 切换上下文/model状态栏
/background <prompt>(别名/bg 在单独的后台会话中运行prompt
/btw <question> 临时附带问题(无工具,不持久化)
/plan [request] 加载内置planskill以编写计划,而非执行
/branch [name](别名/fork 从当前会话创建分支
/goal <target> 将agent锁定到目标,使其在多轮对话中保持专注。将Ralph-loop模式作为一等primitive。可配置轮次预算。v0.13.0新增。18
/subgoal <criterion> 在不重启循环的情况下,为活跃的/goal添加成功标准。v0.14.0新增。19
/handoff <target> 将实时会话(消息、工具调用和上下文)转交给另一个model、persona或profile。v0.14.0新增。19

配置与Model

Command Description
/config 显示当前配置
/model [model-name] 显示或更改当前model
/provider 显示可用providers和当前provider
/personality [name] 设置personality overlay
/verbose 循环切换工具进度显示
/reasoning 管理reasoning effort及其显示
/skin 显示或更改显示skin/theme
/voice [on\|off\|tts\|status] 切换CLI语音模式
/yolo 切换YOLO模式(跳过审批提示)
/fast 切换Fast Mode——为OpenAI和Anthropic models提供优先处理(v0.9.0+)16
/debug 针对所有平台执行快速诊断(v0.9.0+)16

/model命令是会话中途切换provider的核心工具: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

工具、Skills与信息

Command Description
/tools [list\|disable\|enable] [name...] 管理当前会话的工具
/toolsets 列出可用toolsets
/browser [connect\|disconnect\|status] 管理本地Chrome CDP连接
/skills 搜索、安装、检查或管理skills
/cron 管理计划任务
/reload-mcp 从config.yaml重新加载MCP服务器
/plugins 列出已安装plugins
/help 显示所有命令
/usage 显示token用量、费用和时长
/insights 显示使用情况分析(过去30天)
/platforms 显示消息平台状态
/profile 显示活跃profile名称和home

动态Skill Slash Commands

每个已安装的skill都会自动作为slash command暴露: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中定义quick commands,将短名称别名到更长的prompt: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)——将当前聊天标记为平台home
  • /approve [session|always]——批准待处理的危险命令
  • /deny——拒绝待处理的危险命令
  • /update——将Hermes Agent更新到最新版本
  • /commands [page]——浏览所有命令和skills(分页)

还有一些命令仅适用于CLI:/skin/tools/toolsets/browser/config/cron/skills/platforms/paste/statusbar/plugins9


Tools 与 toolsets

Hermes内置了覆盖范围广泛的工具注册表,涵盖网页搜索、浏览器自动化、终端执行、文件编辑、memory、委派、RL训练、消息投递、Home Assistant集成等能力。10工具按逻辑组织为不同的toolsets,可按平台启用或禁用。

高层类别

类别 示例 说明
Web web_search, web_extract 搜索网页并提取页面内容
终端与文件 terminal, process, read_file, patch 执行命令并操作文件
浏览器 browser_navigate, browser_snapshot, browser_vision 结合文本与视觉的交互式浏览器自动化
媒体 vision_analyze, video_analyze, video_generate, image_generate, text_to_speech 多模态分析与生成。video_analyze优先支持Gemini,并可扩展支持兼容的多模态提供商(v0.13.0+)。v0.14.0新增统一的video_generate,支持可插拔的提供商后端;当活动模型具备视觉能力时,会通过vision_analyze发送原始像素。1819
Agent编排 todo, clarify, execute_code, delegate_task 规划、澄清、代码执行、subagent委派
Computer use computer_use 通过cua-driver后端控制桌面;v0.14.0使其可与非Anthropic且具备视觉能力的提供商配合使用。19
Memory与召回 memory, session_search 持久化memory + 会话搜索
自动化与投递 cronjob, send_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

终端后端

终端工具可在6种不同环境中执行命令:10

后端 使用场景
local 在您的机器上运行(默认)——开发、可信任务
docker 隔离容器——安全性、可复现性
ssh 远程服务器——沙箱,让agent远离自身代码
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后端(出于安全性推荐——agent无法修改自身代码):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个进程)、完整namespace隔离、通过卷提供持久化工作区。10

后台进程

终端工具支持带显式进程管理的后台执行: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


Multi-Agent Kanban(v0.13.0+)

v0.13.0将多agent协作提升为一等原语:一个持久化Kanban看板,可跨agent、跨重启跟踪任务、状态和worker身份。18正是这个看板,让一组Hermes worker能够真正完成工作,而不是在失效的交接中停滞不前。

机制 作用
Heartbeats 每个worker在拥有任务期间都会发出脉冲。缺失heartbeat会将worker标记为可疑,并释放任务以便回收。
Reclaim 其他worker可以接手被放弃的任务,并保留完整任务状态和此前的部分输出。
Zombie detection 未将任务标记为完成就退出的worker会被自动阻止领取新工作,避免swarm累积失效身份。
Hallucination gate 未通过gate的输出不会被标记为完成,而是带着注明的原因送回看板。
每任务max_retries 对已知脆弱的任务覆盖默认重试预算。
Multi-project boards 一个Hermes home可以托管多个相互独立的看板。

Kanban看板很自然地与目标侧的/goal(locked-target Ralph loop)以及现有的delegate_task工具的spawn语义配合使用。其结果是一种swarm模式:每个agent都共享同一个事实来源,明确下一步要做什么、谁在做,以及哪里卡住了。

Skills系统

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

所有skills都位于~/.hermes/skills/——这是主目录,也是事实来源。全新安装时,内置skills会从repo复制过来。通过Hub安装以及智能体创建的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

## Verification
How to confirm it worked.

条件激活

Skills可以根据可用tools显示或隐藏自身。这对fallback skills最有用——这些免费或本地替代方案只应在高级tool不可用时出现:11

字段 行为
fallback_for_toolsets 列出的toolsets可用时隐藏skill
fallback_for_tools 相同,但检查单个tools
requires_toolsets 列出的toolsets不可用时隐藏skill
requires_tools 相同,但检查单个tools

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

智能体管理的Skills

智能体可以通过skill_manage tool创建、更新和删除自己的skills。这是智能体的程序性记忆——当它弄清楚一个非平凡workflow时,会把方法保存为skill,供后续复用。11

智能体创建skills的时机:11 - 成功完成复杂任务后(5次以上tool调用) - 遇到错误或死胡同,并找到可行路径时 - 用户纠正其方法时 - 发现非平凡workflow时

操作:11

操作 用途
create 从头创建新skill
patch 定向修复(首选——token效率最高)
edit 重大结构性重写
delete 完全移除skill
write_file 添加/更新支持文件
remove_file 移除支持文件

Skill Hub

从在线registries浏览、搜索、安装和管理skills: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提供的可选skills(builtin信任)
skills-sh skills-sh/vercel-labs/agent-skills/vercel-react-best-practices Vercel的公开skills目录
well-known well-known:https://mintlify.com/docs/.well-known/skills/mintlify 来自发布/.well-known/skills/index.json的网站的基于URL的发现
github openai/skills/k8s 直接安装GitHub repo/path
clawhub 第三方skills市场
claude-marketplace 兼容Claude的plugin/marketplace manifests
lobehub LobeHub智能体目录转换

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

安全扫描

所有通过Hub安装的skills都会经过安全扫描器检查,覆盖数据外泄、prompt injection、破坏性命令、供应链信号以及其他威胁。11

信任级别:11

级别 来源 策略
builtin 随Hermes提供 始终信任
official repo中的optional-skills/ builtin信任,无第三方警告
trusted 受信任registries(openai/skillsanthropics/skills 更宽松的策略
community 其他所有来源 非危险发现可用--force覆盖;dangerous判定仍会被阻止

--force可以覆盖community skills的非危险策略阻止。它不会覆盖dangerous扫描判定。11

外部Skill目录

您可以让Hermes指向其他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 - 用户偏好:“我更喜欢TypeScript而不是JavaScript”→user - 环境事实:“此服务器运行Debian 12和PostgreSQL 16”→memory - 纠正信息:“不要为Docker命令使用sudo,用户在docker组中”→memory - 约定:“项目使用制表符、120字符行宽、Google风格docstrings”→memory - 已完成工作:“已于2026年1月15日将数据库从MySQL迁移到PostgreSQL”→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随附8个外部记忆提供方插件: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路径。


Personality与SOUL.md

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

Hermes会自动在~/.hermes/SOUL.md(或自定义profile的$HERMES_HOME/SOUL.md)播种默认SOUL.md。现有用户文件绝不会被覆盖。Hermes只会从HERMES_HOME加载SOUL.md,不会查找当前工作目录。这让personality在不同项目之间保持可预测。13

SOUL.md中应包含什么

将其用于持久的语气和personality指导:13 - 语气 - 沟通风格 - 直接程度 - 默认交互风格 - 在风格上应避免什么 - Hermes应如何处理不确定性、分歧和模糊性

少用它来记录:13 - 一次性项目说明 - 文件路径 - 仓库约定 - 临时工作流细节

这些内容应放在AGENTS.md中,而不是SOUL.md

SOUL.md与AGENTS.md

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

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

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

一个实用规则是:如果它应该随您在任何地方生效,就属于SOUL.md。如果它属于某个项目,就属于AGENTS.md13

内置Personalities

Hermes随附可通过/personality切换的内置personalities:13

名称 描述
helpful 友好、通用型助手
concise 简短、直奔重点的回复
technical 详细、准确的技术专家
creative 创新、跳出框架的思考
teacher 有耐心的教育者,提供清晰示例
kawaii 可爱表达、闪亮感、热情
catgirl 带有猫系表达的Neko-chan
pirate Captain Hermes,精通技术的海盗
shakespeare 具有戏剧张力的吟游诗人式散文
surfer 轻松随性的兄弟氛围
noir 硬汉侦探叙事
uwu 最大程度可爱,使用uwu风格语言
philosopher 对每个问题进行深度沉思
hype 能量拉满

config.yaml中的自定义personalities13

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年4月16日)起,付费Nous Portal订阅用户可以通过其现有Portal凭据,托管访问一组精选工具——无需管理额外的API密钥。21Hermes CLI本身仍采用MIT许可证,并且完全开源。变化在于,您的Portal auth现在解锁的不只是模型推理。

gateway中包含什么

工具 提供方 使用场景
Web search Firecrawl 为需要新鲜信息的代理提供检索
Image generation FAL / FLUX 2 Pro 无需配置FAL密钥即可内联生成图像
Text-to-speech OpenAI TTS 消息gateway上的语音输出
Browser automation 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订阅状态限制。21

定位:此版本不是什么

Hermes Agent CLI并未被订阅门槛限制。该项目仍采用MIT许可证,所有核心功能(CLI、skills、memory、messaging gateway、cron、MCP、local dashboard、每个提供方的BYOK)无需向任何人付费即可端到端运行。v0.10.0为已经为Nous Portal付费的用户增加了一条便利路径——它没有从免费路径中移除任何内容。


Messaging Gateway

Hermes可以作为长期运行的gateway进程运行,通过单个gateway进程连接到22个消息平台: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、LINE、SimpleX Chat,以及通用Webhook适配器。320171819 v0.9.0通过BlueBubbles添加了iMessage支持(自动webhook注册、设置向导、崩溃韧性),并通过iLink Bot API添加了原生WeChat支持,同时为企业应用提供WeCom回调模式。16 v0.11.0添加了QQBot。20 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 v0.14.0添加了LINE和SimpleX Chat,并以Graph auth、webhook listener、pipeline runtime和outbound delivery补齐了Microsoft Teams的端到端栈。19

设置

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令牌、bot ID、频道映射、allowlist。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会话循环运行。这就是为什么slash command在两处表现完全一致,也解释了为什么在Telegram中调度的cron job可以把输出发送到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系统,其中job是agent task,而不是shell command。每个计划job都会通过全新的AIAgent运行,使用配置的prompt、可选附加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 job。job会持久保存在JSON中,并在重启后继续存在。3


MCP集成

Hermes既可以作为client,也可以作为server支持Model Context Protocol:6

作为client——将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"

作为server——将Hermes会话暴露给其他agent:

hermes mcp serve
hermes mcp serve -v    # Verbose

上下文压缩

Hermes会自动压缩长会话,以保持在模型的上下文窗口内。压缩摘要器是一次独立的LLM调用——您可以将它指向任意provider或endpoint。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 / etc. 未设置 强制使用该provider,并使用其auth
任意 已设置 直接使用自定义endpoint(忽略provider)

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

预算压力警告

当agent处理包含大量tool call的复杂任务时,可能会在不自知的情况下耗尽迭代预算(默认:90轮)。预算压力会自动向模型发出警告:4

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

流式超时

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

超时 默认值 本地provider 环境变量
Socket读取超时 120s 自动提高到1800s HERMES_STREAM_READ_TIMEOUT
陈旧stream检测 180s 自动禁用 HERMES_STREAM_STALE_TIMEOUT
API调用(非流式) 1800s 不变 HERMES_API_TIMEOUT

对于本地endpoint,socket读取超时会提高到30分钟,因为本地LLM在大上下文中可能需要数分钟进行prefill,之后才生成第一个token。4


本地Web Dashboard(v0.9.0+)

这是一个基于浏览器的dashboard,用于在本地管理您的Hermes Agent。无需接触配置文件或终端,即可配置设置、监控session、浏览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会创建包含配置、session、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 v0.14.0随后又关闭了12个P0和50个P1问题,包括sudo暴力破解/sudo-stdin加固、危险命令绕过修复、工具错误重新注入模型前的清理、dashboard插件API认证、skills-hub SSRF覆盖,以及安装期间的供应链安全公告扫描。19

修复 变更内容
默认启用密钥脱敏 以前需要选择启用。现在,日志和hermes debug share上传内容会对密钥进行脱敏,除非明确禁用。v0.12.0曾因负载损坏报告而默认关闭脱敏;v0.13.0将其重新启用,作为更安全的基线。
Discord跨guild DM绕过(CVSS 8.1) Discord角色允许列表现在限定在guild范围内,关闭了某个guild上的用户角色可授权所有guild的DM这一通道。
WhatsApp默认限制 WhatsApp适配器默认拒绝陌生人,并且绝不会在自聊中响应。
MCP OAuth TOCTOU窗口 关闭了MCP OAuth流程中保存凭据时的竞态条件。
CLI auth.json TOCTOU 关闭了CLI认证存储的凭据写入器中类似的TOCTOU窗口。
浏览器SSRF底线 混合路由会针对试图访问169.254.169.254及其等价地址的请求,强制执行云元数据SSRF底线。
Cron提示注入扫描 在cron作业运行前,会扫描组装后的提示(包括已加载的skill内容)是否存在提示注入。
hermes debug share脱敏 Debug share上传会在上传时对日志内容进行脱敏,而不只是写入时脱敏。

如果您维护Hermes部署,请将v0.13.0和v0.14.0视为安全相关升级,而不只是功能发布。v0.13.0修复了Discord跨guild绕过和两个TOCTOU窗口;v0.14.0则进一步在sudo处理、工具错误重新注入、插件API、skills-hub SSRF和依赖安全公告方面完成了一轮加固。


面向实践者的架构

本节面向希望理解底层机制的人,以便调试、扩展,或推理性能表现。内容综合自上游架构文档。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”计数指的是上游仓库的完整工具注册表,也就是Hermes随源代码提供的、跨所有toolset的全部工具。实际运行中的CLI会在启动横幅中显示一个更小的数字(我用于验证本指南的安装报告为28 tools / 89 skills)。这不是bug。许多toolset是选择启用的,必须在config.yamltoolsets:下明确启用,例如消息平台适配器、浏览器自动化、更重的抓取工具等。注册表总数表示“可用内容”;横幅数字表示“当前profile中已启用的内容”。可使用hermes tools --list检查哪些toolset处于活动状态,并通过~/.hermes/config.yaml中的toolsets:块启用或禁用单个toolset(也可以在运行中的会话里使用/tools list/tools enable <name>/tools disable <name>;移除工具会触发会话重置,使agent重建其工具清单)。

三种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

提示组装顺序

提示栈包括:13

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

SOUL.md是基础,其他所有内容都构建在它之上。13

会话存储

基于SQLite的会话存储,配有FTS5全文搜索。会话具备谱系跟踪(压缩前后的父/子关系)、按平台隔离,以及带冲突处理的原子写入。3

插件系统

三个发现来源:~/.hermes/plugins/(用户)、.hermes/plugins/(项目)和pip入口点。插件通过上下文API注册工具、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

原则 在实践中的含义
提示稳定性 系统提示不会在对话中途改变。除显式用户操作(/model)外,不会发生破坏缓存的变更
可观察执行 每次工具调用都会通过回调展示给用户。CLI中有进度更新(spinner),gateway中有进度更新(聊天消息)
可中断 用户输入或信号可以在执行中途取消API调用和工具执行
平台无关核心 一个AIAgent类服务于CLI、gateway、ACP、batch和API服务器。平台差异位于入口点中
松耦合 可选子系统(MCP、插件、memory provider、RL环境)使用注册表模式和check_fn门控,而不是硬依赖
Profile隔离 每个profile都有自己的HERMES_HOME、配置、memory、会话和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个源目录的skills、默认model、自定义provider、MCP服务器、消息平台token和允许列表(Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost)、agent默认值(reasoning effort、compression、human delay、timezone、sandbox)、会话重置策略、approval规则、TTS配置、浏览器设置、工具设置、exec超时、命令允许列表、gateway配置,以及来自3个来源的APIkey。6

归档以供手动审查: cron作业、插件、hook/webhook、memory后端(QMD)、skills注册表配置、UI/身份、日志、多agent设置、channel绑定、IDENTITY.mdTOOLS.mdHEARTBEAT.mdBOOTSTRAP.md6

API key解析会按优先级检查三个来源:配置值 → ~/.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-21 指南 v1.6:新增 v0.14.0(2026年5月16日)— The Foundation release。要点:更轻量的安装/运行时基础,以及更广泛的提供商、gateway、媒体和验证界面。新增支持含 grok-4.3 1M context 的 SuperGrok OAuth,面向 OAuth providers 的 OpenAI 兼容 hermes proxy,一等支持 x_searchpip install hermes-agent,lazy dependency installs,启动速度提升约 19 秒,浏览器 CDP 调用快 180 倍,新增 LINE + SimpleX Chat,使消息平台达到 22 个,Microsoft Teams 端到端支持,/handoff/subgoal,Telegram/Discord 原生澄清按钮,Discord 历史回填,raw-pixel vision_analyze,每轮 file-mutation verifier footer,每次写入时的 LSP semantic diagnostics,统一的 video_generate,面向非 Anthropic providers 通过 cua-driver 提供的 computer_use,OSC8 可点击 URL,Zed ACP Registry 支持,OpenRouter Pareto Code router,NovitaAI,Codex app-server runtime,huggingface/skills trusted tap,9 个 optional skills,plugin ctx.llm / tool_override,Brave/DDGS web search,Qwen Cloud 重命名,native Windows beta,以及 12 个 P0 / 50 个 P1 closure。 19
2026-05-07 指南 v1.5:新增 v0.13.0(2026年5月7日)— The Tenacity release。要点:一个耐用的 multi-agent Kanban board(heartbeat、reclaim、zombie detection、hallucination gate、每任务 max_retries、multi-project boards),将 swarms 从 delegation pattern 提升为一等 primitive。/goal command 会跨轮次将 agent 锁定在目标上(Ralph-loop pattern 作为 slash command)。新增 video_analyze tool,以 Gemini 优先,并支持可扩展的兼容模型。xAI Custom Voices TTS provider,支持 voice cloning。面向 CLI 和 gateway 消息的 7 语言 i18n(zh-Hans、ja、de、es、fr、uk、tr);文档仅支持 zh-Hans。通过可插拔 adapter pattern 支持 Google Chat 作为第 20 个消息平台;IRC + Microsoft Teams 已迁移到同一模式。ProviderProfile ABC + plugins/model-providers/ 支持无需修改 core 即可接入可插拔第三方 providers。gateway 重启、/update 和 source-file reload 后支持 Session auto-resumeCheckpoints v2 以 single-store design、真正的 pruning 和 disk guardrails 完成重写。8 个 P0 安全闭环:secret redaction 默认开启、Discord cross-guild DM bypass(CVSS 8.1)、WhatsApp stranger-reject + self-chat-mute、MCP OAuth TOCTOU、CLI auth.json TOCTOU、browser SSRF floor、cron prompt-injection scanning、hermes debug share redaction。面向 Python/JSON/YAML/TOML 的 Post-write linting,cron no_agent script-only mode,覆盖 Slack/Telegram/Mattermost/Matrix/DingTalk 的 platform allowlists,MCP 增强(SSE transport、OAuth forwarding、image MEDIA tags)。自 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日)— The Curator release。要点:在 gateway 的 cron ticker 上运行的 autonomous background Curator(默认 7 天周期),会按 rubric 评估 skill library,清理失效 skills,合并相关 skills,并写入每次运行报告——Hermes 会在活跃会话之间自我维护。Self-improvement loop 升级为基于 rubric 的评分、active-update bias、正确的 runtime inheritance,以及限定在 memory 和 skills 范围内的 scoped toolsets。4 个新 inference providers:GMI Cloud、Azure AI Foundry、MiniMax OAuth 和 Tencent Tokenhub。LM Studio 提升为一等支持。Remote model catalog manifests 现在无需 release 即可自动更新。2 个新消息平台:Microsoft Teams(第 19 个,通过 pluggable gateway architecture)和 Tencent Yuanbao(第 18 个,原生 text + media)。通过 PKCE OAuth 提供 原生 Spotify,并捆绑 skill;用于 calls 和 transcription 的 Google Meet plugin;Piper local TTS provider。ComfyUI v5 + TouchDesigner-MCP 从 optional 改为默认捆绑。新增 skills:Humanizer、claude-design、design-md、airtable。CLI 新增:hermes -z one-shot mode、hermes update --check preflight、/reload-skills slash command、可插拔 busy-indicator styles。通过 lazy agent init 和 lazy imports,可见 TUI cold start 缩短约 57%。安全:secret redaction 默认禁用,以防 payload corruption;为不可恢复命令设置 hardline blocklist。统计:1,096 次提交,550 个合并 PR,213 位社区贡献者。 17
2026-04-25 指南 v1.3:新增 v0.11.0(2026年4月23日)— The Interface release。完整 React/Ink 重写的 interactive TUI,配备 Python JSON-RPC backend(tui_gateway);sticky composer,支持 OSC-52 clipboard 的 live streaming,稳定的 picker keys,带每轮 stopwatch 和 git branch 的 status bar,/clear confirmation,light-theme preset,subagent spawn observability overlay。Pluggable transport architecture——format conversion 和 HTTP transport 被抽离到 agent/transports/,让 provider plumbing 更清晰。通过 Converse API 支持 原生 AWS Bedrock5 条新 inference paths:NVIDIA NIM、Arcee AI、Step Plan、Google Gemini CLI OAuth 和 Vercel ai-gateway。通过 Codex OAuth 使用 GPT-5.5——新的 OpenAI flagship 现在可通过 ChatGPT Codex OAuth 访问,无需单独的 API key。QQBot(第 17 个消息平台),支持 QR 扫码设置和 streaming。Plugin surface expansion:slash commands、tool dispatch、execution blocking、result transformation。/steer <prompt>——mid-run agent nudges,会注入一条运行中 agent 在下一次 tool call 后看到的 note,无需中断当前轮次,也不会破坏 prompt cache。Shell hooks 将 scripts 接入为 lifecycle hooks,无需 Python plugins。Webhook direct-delivery mode 将 payloads 直接转发到 platform chat,绕过 agent 进行 fan-out。Smarter delegation 支持 orchestrator roles、可配置 spawn depth 和 file coordination。Dashboard 新增 plugin system、live theme switching、i18n 和 mobile responsiveness。自 v0.9.0 以来统计:1,556 次提交,761 个合并 PR,1,314 个文件变更,224,174 行新增,29 位社区贡献者。 20
2026-04-16 指南 v1.2:新增 v0.10.0——Nous Tool Gateway。付费 Nous Portal 订阅用户现在无需额外 API keys,即可访问托管工具(Firecrawl web search、FAL / FLUX 2 Pro image generation、OpenAI TTS、Browser Use browser automation)。通过新的 use_gateway config field 按工具选择启用。同时配置 gateway 和 direct API keys 时,运行时优先使用 gateway。HERMES_ENABLE_NOUS_MANAGED_TOOLS env var 已移除。Hermes Agent CLI 仍采用 MIT 许可,并且完全免费。 21
2026-04-13 指南 v1.1:新增 v0.8.0 和 v0.9.0 功能。Local web dashboard,/fast mode,iMessage + WeChat platforms(共 16 个),background process monitoring(watch_patterns),pluggable context engine,hermes backup/hermes import,Termux/Android,xAI + MiMo + Google AI Studio + Qwen providers,/debug command,全面的 security hardening。 15 16
2026-04-10 指南 v1.0:首次发布,覆盖 Hermes Agent v0.7.0。Provider auth、config、CLI、slash commands、tools、skills、memory、gateway、cron、MCP、compression、architecture、OpenClaw migration、troubleshooting、FAQ。

参考资料


  1. Nous Research,“Hermes Agent”项目 README,位于GitHub。这是产品描述(自我改进型 agent、多 provider、消息 gateway、终端后端、skill 演进、cron 调度器、委派)以及“Quick Install”一行安装命令的主要来源。 

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

  3. Nous Research,Hermes Agent开发者指南中的“Architecture”。这是系统概览图、目录结构、通过CLI session 和 gateway 消息路径的数据流、三种API模式(chat_completionscodex_responsesanthropic_messages)、通过runtime_provider.py进行 provider 解析、通过 SQLite + FTS5 实现 session 持久化、消息 gateway 平台列表、plugin 系统发现来源、profile 隔离以及6项设计原则的主要来源。 

  4. Nous Research,Hermes Agent用户指南中的“Configuration”。这是配置目录结构、config.yaml.env规则(“config.yaml wins for non-secret settings”)、配置优先级链(CLI参数→ env → config.yaml → .env →默认值)、上下文压缩设置(包含thresholdtarget_ratioprotect_last_nsummary_modelsummary_providersummary_base_urlcompression.*块)、预算压力阈值(70% caution,90% warning)、本地 provider 自动调整的流式超时,以及完整辅助 model 配置块(auxiliary:,包含visionweb_extractapprovalcompressionsession_searchskills_hubmcpflush_memories槽位)的主要来源。"main" provider 仅限 auxiliary/compression/fallback 槽位的限制也来自此页面。 

  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。本文中所有子命令 flag、选项说明、凭据池行为、日志过滤语法、OpenClaw 迁移 flag、profile 管理命令和服务安装命令均来自此页面。 

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

  8. Nous Research,“CLI Commands Reference”——请特别参阅hermes dump部分,其中描述了该命令的输出格式(header、environment、identity、model、terminal、API keys、features、services、workload、config overrides)以及用于共享诊断信息的预期用途。 

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

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

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

  12. Nous Research,Hermes Agent用户指南中的“Persistent Memory”。这是MEMORY.md / USER.md字符限制、冻结快照模式、memory tool 操作(addreplaceremove)、应保存与应跳过内容、memory 与 session search 对比,以及8个外部 memory provider(Honcho、OpenViking、Mem0、Hindsight、Holographic、RetainDB、ByteRover、Supermemory)列表的主要来源。 

  13. Nous Research,Hermes Agent用户指南中的“Personality & SOUL.md”。这是SOUL.md行为(位于HERMES_HOME、永不覆盖、在 system prompt 中占据第1个槽位、纳入前会经过安全扫描)、SOUL.md 与 AGENTS.md 的区别、内置 personality 列表(从helpfulhype共14种 personality)、config.yaml中的自定义 personality、/personality叠加模式,以及完整 prompt stack 组装顺序的主要来源。 

  14. Nous Research,Hermes Agent指南和参考文档中的“Use MCP with Hermes”MCP Config Reference。这是config.yaml中包含commandargsenv字段的mcp_servers:配置格式来源。 

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

  16. Hermes Agent v0.9.0 Release Notes。2026年4月13日。本地 Web dashboard、Fast Mode(/fast)、通过 BlueBubbles 支持 iMessage、WeChat + WeCom、Termux/Android、后台进程监控(watch_patterns)、xAI + Xiaomi MiMo 原生 provider、可插拔 context engine、统一 proxy 支持、安全加固(修复路径遍历、shell injection、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 会按默认7天周期,在 gateway 的 cron ticker 上运行,对 skill library 进行评分、修剪和整合。自我改进循环升级:基于 rubric 的评分、主动更新偏置、正确的 runtime 继承、限定范围的 toolset 仅限 memory 和 skills。4个新 inference provider:GMI Cloud、Azure AI Foundry、MiniMax OAuth、Tencent Tokenhub。LM Studio 升级为一等支持。远程 model catalog manifests 可在无需 release 的情况下自动更新。2个新的消息平台:Microsoft Teams(第19个,通过可插拔 gateway 架构)和 Tencent Yuanbao(第18个,原生文本+媒体)。通过 PKCE OAuth 原生支持 Spotify 并捆绑 skill;Google Meet plugin 用于通话和转录;Piper 本地 TTS provider。ComfyUI v5 + TouchDesigner-MCP 默认捆绑。新 skills:Humanizer、claude-design、design-md、airtable。CLI:hermes -z一次性模式、hermes update --check预检、/reload-skills斜杠命令、可插拔 busy-indicator 样式。TUI 冷启动通过 lazy initialization 缩短约57%。安全:默认禁用 secret redaction;针对不可恢复命令的强硬 blocklist。自 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”。多 agent Kanban board,支持 heartbeat、reclaim、zombie detection、hallucination gate、按任务设置max_retries、多项目 boards。/goal斜杠命令用于跨轮目标锁定(Ralph loop primitive),并支持可配置 turn budget。video_analyze tool,Gemini 优先,并具备兼容的多模态扩展能力。xAI Custom Voices TTS provider,支持 voice cloning。7语言 i18n:zh-Hans、ja、de、es、fr、uk、tr(CLI + gateway 消息;文档仅 zh-Hans)。Google Chat 作为第20个消息平台,通过可插拔 adapter pattern 实现,并带有通用env_enablement_fn / cron_deliver_env_var plugin hooks;IRC 和 Microsoft Teams 已迁移到同一模式。ProviderProfile ABC + plugins/model-providers/用于可插拔第三方 provider。gateway 重启、/update和源文件重新加载后自动恢复 session。Checkpoints v2 单存储重写,具备真实修剪、磁盘 guardrails、无孤立 shadow repos。8个 P0 安全闭环:secret redaction 默认开启、Discord 跨 guild DM 绕过(CVSS 8.1,角色 allowlists 按 guild 限定)、WhatsApp 默认拒绝陌生人+永不在 self-chat 中响应、MCP OAuth credential-save TOCTOU、凭据写入器中的CLI auth.json TOCTOU、混合路由中的浏览器 cloud-metadata SSRF 下限、cron assembled-prompt 扫描(包括 skill 内容)以防 prompt injection、hermes debug share上传时进行 log-content redaction。其他值得注意的项目:针对Python/JSON/YAML/TOML 的写入后 linting、cron no_agent纯脚本 watchdog 模式、Slack/Telegram/Mattermost/Matrix/DingTalk 的平台 allowlists、MCP增强(SSE transport、OAuth forwarding、image results 作为 MEDIA tags)。自 v0.12.0 以来的统计:864次提交、588个合并 PR、829个文件变更、295位社区贡献者、282个已关闭 issues(13个 P0、36个 P1)。 

  19. Hermes Agent v0.14.0 Release Notes。2026年5月16日。“The Foundation release”。自 v0.13.0 以来:808次提交、633个合并 PR、1,393个文件变更、165,061行新增、545个已关闭 issues(12个 P0、50个 P1)以及215位社区贡献者。新增 SuperGrok OAuth,支持 grok-4.3 1M 上下文、hermes proxyx_search、PyPI packaging、lazy dependencies、跨 session 1小时Claude prompt cache、启动快约19秒、浏览器 CDP 调用快180倍、LINE 和 SimpleX Chat 使消息平台达到22个、/handoff、原生 clarify buttons、Discord history backfill、raw-pixel vision_analyze、每轮 file-mutation verifier footer、LSP semantic diagnostics、统一video_generate、cua-driver computer_use、OSC8 links、Zed ACP Registry 支持、OpenRouter Pareto Code router、NovitaAI、Codex app-server runtime、huggingface/skills、plugin ctx.llmtool_override、Brave/DDGS search、dangerous-command hardening、/subgoal、Qwen Cloud 改名、原生 Windows beta、共16个 locale,以及广泛的文档/测试更新。 

  20. Hermes Agent v0.11.0 Release Notes。2026年4月23日。“The Interface release”——交互式CLI完全以 React/Ink 重写,并带有Python JSON-RPC 后端(tui_gateway);可插拔 transport 架构(agent/transports/);通过 Converse API 原生支持 AWS Bedrock;5条新的 inference 路径(NVIDIA NIM、Arcee AI、Step Plan、Google Gemini CLI OAuth、Vercel ai-gateway);通过 Codex OAuth支持 GPT-5.5;QQBot 作为第17个消息平台,支持扫码设置;扩展 plugin surface(斜杠命令、tool dispatch、execution blocking、result transformation);/steer <prompt>用于运行中对 agent 进行微调,在下一次 tool call 后注入上下文且不破坏 prompt cache;无需Python plugins 的生命周期事件 shell hooks;webhook direct-delivery mode 可将 payload 直接转发到平台聊天;更智能的委派,包含 orchestrator roles + 可配置 spawn depth + 文件协调;dashboard plugin 系统、实时 theme switching、i18n、移动端响应式。自 v0.9.0 以来的统计:1,556次提交·761个合并 PR·1,314个文件变更·224,174行新增·29位社区贡献者。另请参阅:Hermes Agent v0.11.0 GitHub release tag。 

  21. Hermes Agent v0.10.0 Release Notes。2026年4月16日。“The Tool Gateway Release”。面向付费 Nous Portal 订阅者的 Nous Tool Gateway 集成——无需额外API keys,即可托管访问 Firecrawl web search、FAL / FLUX 2 Pro image generation、OpenAI TTS 和 Browser Use browser automation。通过新的use_gateway配置字段按 tool 选择启用。当同时配置 gateway 和直接API keys 时,runtime 优先使用 gateway。与hermes toolshermes status完整集成。替代已弃用的HERMES_ENABLE_NOUS_MANAGED_TOOLS环境变量。由 @jquesnelle(emozilla)实现。Hermes Agent CLI仍采用 MIT 许可并完全开源;gateway 是与现有 Portal 订阅产品的集成,并非针对CLI设置的付费墙。另请参阅:Nous Portal了解订阅价格和注册信息。 

NORMAL hermes.md EOF