


























Hermes Agent 最显著的工程优势之一,是它把"模型"做成可热插拔的运行时:你可以用 hermes model 在 200+ 模型之间任意切换,也可以为不同任务配置不同模型与不同 fallback 链;同时凭据可以集中管理、复用密钥池。本章把这一切讲透。
第二章已经介绍过,Hermes 内部统一支持三种 API 模式:
| API mode | 用于 | 客户端实现 |
|---|---|---|
chat_completions |
绝大多数 OpenAI 兼容端点(OpenRouter、自定义、99% 的供应商) | openai.OpenAI |
codex_responses |
OpenAI Codex / Responses API | openai.OpenAI(Responses 格式) |
anthropic_messages |
Anthropic 原生 Messages API | anthropic.Anthropic(带 adapter) |
模式选择优先级:
api_mode;anthropic → anthropic_messages);api.anthropic.com → anthropic_messages);chat_completions。三种模式只是"运输方式"不同,Hermes 内部统一为 OpenAI 风格
role/content/tool_calls字典,你可以无感切换。
下面是当前文档(截至撰稿时)声明支持的 Provider 列表。可以看到 Hermes 不仅覆盖了主流国际供应商,还原生覆盖了主流中国区供应商——这对中文用户极为友好。
| Provider | 是什么 | 配置入口 |
|---|---|---|
| Nous Portal | Nous Research 自家订阅服务,零配置 | hermes model → OAuth |
| OpenAI Codex | ChatGPT 账号体系,使用 Codex/Responses 模型 | 设备码 OAuth |
| Anthropic | Claude 全系;Max 订阅可走 OAuth,否则 API Key | OAuth 或 ANTHROPIC_API_KEY |
| OpenRouter | 统一路由 200+ 模型 | OPENROUTER_API_KEY |
| Z.AI / GLM | 智谱 GLM | GLM_API_KEY / ZAI_API_KEY |
| Kimi / Moonshot | Moonshot 国际版 | KIMI_API_KEY |
| Kimi / Moonshot China | Moonshot 中国区端点 | KIMI_CN_API_KEY |
| Arcee AI | Trinity 系列 | ARCEEAI_API_KEY |
| GMI Cloud | 多模型直 API | GMI_API_KEY |
| MiniMax (OAuth) | MiniMax-M2.7,浏览器 OAuth | hermes model → MiniMax (OAuth) |
| MiniMax | MiniMax 国际 | MINIMAX_API_KEY |
| MiniMax China | MiniMax 中国区 | MINIMAX_CN_API_KEY |
| Alibaba Cloud / DashScope | Qwen 全系 | DASHSCOPE_API_KEY |
| Hugging Face | 通过 HF Router 调 20+ 开源模型 | HF_TOKEN |
| Kilo Code | KiloCode 模型 | KILOCODE_API_KEY |
| OpenCode Zen | 按量付费精选模型 | OPENCODE_ZEN_API_KEY |
| OpenCode Go | 月度订阅开放模型 | OPENCODE_GO_API_KEY |
| DeepSeek | DeepSeek 直 API | DEEPSEEK_API_KEY |
| NVIDIA NIM | Nemotron / 自托管 NIM | NVIDIA_API_KEY(可选 NVIDIA_BASE_URL) |
| GitHub Copilot | Copilot 订阅(GPT-5.x、Claude、Gemini 等) | OAuth 或 COPILOT_GITHUB_TOKEN / GH_TOKEN |
| GitHub Copilot ACP | Copilot ACP 后端(本地起 copilot CLI) |
hermes model(要先 copilot login) |
| Vercel AI Gateway | Vercel 路由 | AI_GATEWAY_API_KEY |
| AWS Bedrock | Bedrock 上的 Claude / Llama / Nova 等 | AWS 凭据 |
| Azure AI Foundry | Azure 模型部署 | Azure 凭据 |
| Custom Endpoint | vLLM、SGLang、Ollama、LMStudio 等 OpenAI 兼容 | base URL + Key |
关键事实:Hermes 要求模型 上下文窗口 ≥ 64K tokens。绝大多数主流模型轻松满足;本地模型请把
--ctx-size 65536(llama.cpp)或-c 65536(Ollama)加上。
为不让你陷入选择障碍,先给一份清单。
hermes model 会把你输入解析成 provider:model_id,比如:
anthropic/claude-opus-4.6
openrouter/openai/gpt-5
deepseek/deepseek-chat
glm/glm-4.6
moonshot/moonshot-v1-128k
custom/<base_url>/<model_name>
hermes model
会列出可用 Provider,引导你输入 Key 或走 OAuth;选模型时会自动过滤掉上下文不足 64K 的型号。
hermes config set model anthropic/claude-opus-4.6
写入 ~/.hermes/config.yaml。
/model/model openrouter/openai/gpt-5
只对当前会话生效,方便临时实验。
Hermes 把模型分成两个角色,避免"用旗舰模型干小事":
model: anthropic/claude-opus-4.6 # 主:参与所有对话
auxiliary_model: openrouter/openai/gpt-5-mini # 辅:视觉描述、长会话压缩、跨会话摘要
vision_model: openrouter/openai/gpt-4o # 视觉(可选,单独覆盖)
辅助模型通常便宜很多,但要求"足够能写摘要、读图"。建议:
主 Provider 限流、5xx、网络异常都会触发 Fallback:
fallback_models:
- openrouter/anthropic/claude-3.5-sonnet
- openrouter/openai/gpt-5
- deepseek/deepseek-chat
fallback_strategy: ordered # ordered / random / cheapest_first
fallback_on:
- rate_limit
- server_error
- timeout
- validation_error
视觉、压缩等辅助任务有独立 fallback:
auxiliary_fallback_models:
- openrouter/openai/gpt-5-mini
- openrouter/anthropic/claude-3.5-haiku
故障切换是透明的:模型对话历史会被 Hermes 复制并交给下一家。详见 user-guide/features/fallback-providers.md。
OpenRouter 提供 routing 能力,Hermes 把它一等公民化:
provider_routing:
prefer:
- anthropic
- openai
avoid:
- replicate
sort: throughput # throughput / latency / price
这一节最常见的用法:
sort: price;sort: latency;avoid: [...]。同一家 Provider 配多把 Key,Hermes 会按策略轮询:
credential_pools:
openrouter:
keys: [sk-or-aaa, sk-or-bbb, sk-or-ccc]
strategy: round_robin # round_robin / weighted / least_recent
on_rate_limit: rotate
cooldown_seconds: 60
适用场景:
最常见的就是接 vLLM / SGLang / Ollama / LMStudio:
hermes model
# 选 "Custom Endpoint"
# Base URL: http://192.168.1.2:11434/v1
# API Key: ollama
# Model: qwen3-coder:latest
写入 config.yaml 后大致是:
model: custom/qwen3-coder:latest
custom_endpoints:
default:
base_url: http://192.168.1.2:11434/v1
api_key_env: OLLAMA_API_KEY
api_mode: chat_completions
context_length: 131072
提示:本地模型上下文一定要 ≥ 64K,否则 Hermes 启动时直接报错。Ollama 用
-c 65536,vLLM 启动时加--max-model-len 131072。
部分 Provider 支持 OAuth(Nous Portal、Anthropic Max、OpenAI Codex、MiniMax、GitHub Copilot)。共同点:
hermes model → 选 OAuth Provider,会打开浏览器 / 设备码;~/.hermes/.env,过期会自动刷新;hermes auth logout <provider>。特别提醒:
copilot CLI,需要先 copilot login;# ~/.hermes/config.yaml
# ── 主 / 辅模型 ────────────────────────────────────
model: anthropic/claude-opus-4.6
auxiliary_model: openrouter/openai/gpt-5-mini
vision_model: openrouter/openai/gpt-4o
# ── Fallback ─────────────────────────────────────
fallback_models:
- openrouter/anthropic/claude-3.5-sonnet
- openrouter/openai/gpt-5
- deepseek/deepseek-chat
fallback_strategy: ordered
fallback_on: [rate_limit, server_error, timeout]
# ── Provider Routing ─────────────────────────────
provider_routing:
prefer: [anthropic, openai]
avoid: [replicate]
sort: throughput
# ── 凭据池 ───────────────────────────────────────
credential_pools:
openrouter:
keys: [sk-or-aaa, sk-or-bbb]
strategy: round_robin
on_rate_limit: rotate
# ── 上下文管理 ────────────────────────────────────
context:
compress_threshold: 0.5
hard_compress_threshold: 0.8
# ── 终端后端(详见第六章) ─────────────────────────
terminal:
backend: docker
docker:
image: ghcr.io/nousresearch/hermes-sandbox:latest
read_only: true
.env 里同时放:
ANTHROPIC_API_KEY=sk-ant-...
OPENROUTER_API_KEY=sk-or-...
DEEPSEEK_API_KEY=sk-...
如果你主要在国内/中文场景使用 Hermes:
OpenRouter 在国内访问可能不稳,可以考虑加 HTTP 代理(Hermes 全部基于 httpx/openai-python,标准 HTTPS_PROXY/HTTP_PROXY 环境变量都能透传)。
/model openrouter/x-ai/grok-4,不用关 TUI。/retry 后再 /model 切到另一家,再 /retry,直接对比响应。/reasoning 打开。config.yaml 设默认;/model 临时覆盖。/usage 输出会展示当次实际命中的 provider/model 与 fallback 历史。| 症状 | 解决 |
|---|---|
Model context window too small |
换模型或加大本地 context |
| 长时间无响应 | 看 ~/.hermes/logs/、降并发 tool_concurrency、加 fallback |
| OpenRouter 一直 429 | 加 credential pool;切 provider_routing.sort: latency |
| Claude OAuth 报错 "not eligible" | 你不是 Max 订阅,请改 API Key |
| Codex 模式下工具调用乱码 | 多半是模型不支持 Codex Responses,把 api_mode 改回 chat_completions |
| 自定义端点说"无法验证 schema" | 端点没遵循 OpenAI Chat Completions 规范,必须返回 tool_calls 字段 |
Hermes 在"模型层"提供了远超普通 Agent 的工程能力:
/model 即时切换、/usage 即时审计,工程师手感舒适。下一章我们去看另一个解耦层——工具与终端后端。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。