第五章:模型供应商与配置体系
Hermes Agent 最显著的工程优势之一,是它把”模型”做成可热插拔的运行时:你可以用 hermes model 在 200+ 模型之间任意切换,也可以为不同任务配置不同模型与不同 fallback 链;同时凭据可以集中管理、复用密钥池。本章把这一切讲透。
5.1 三种 API 模式回顾
第二章已经介绍过,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; - 根据 Provider 自动检测(
anthropic→anthropic_messages); - base URL 启发式(
api.anthropic.com→anthropic_messages); - 默认
chat_completions。
三种模式只是”运输方式”不同,Hermes 内部统一为 OpenAI 风格
role/content/tool_calls字典,你可以无感切换。
5.2 全部官方支持的供应商
下面是当前文档(截至撰稿时)声明支持的 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)加上。
5.3 选模型的几条简单原则
为不让你陷入选择障碍,先给一份清单。
- 追求最强代码 / Agent 工具调用:Claude 4 / 4.5 / 4.6 系列、GPT-5 系列、Gemini 2.5 Pro、Hermes 系列、Kimi K2 长上下文版本、Qwen3-Coder、DeepSeek V3。
- 追求性价比:DeepSeek、Kimi K2 国际、Qwen Max、Hermes 4,OpenRouter 上挑一个 mid-tier。
- 追求中文工作流:GLM-4.6 / Kimi K2 / Qwen Max / MiniMax M2,配合中国区端点。
- 本地隐私优先:通过 Ollama / vLLM / LMStudio 自托管 Qwen3-Coder、DeepSeek-R1-Distill、Hermes 等。
- 想让 Hermes 永远在线、不操心:Nous Portal 订阅 + Nous Tool Gateway(自带 web search / 图像 / TTS / 浏览器,无须额外密钥)。
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>
5.4 切模型的三种方式
5.4.1 交互式
hermes model
会列出可用 Provider,引导你输入 Key 或走 OAuth;选模型时会自动过滤掉上下文不足 64K 的型号。
5.4.2 命令行直接设
hermes config set model anthropic/claude-opus-4.6
写入 ~/.hermes/config.yaml。
5.4.3 会话内 /model
/model openrouter/openai/gpt-5
只对当前会话生效,方便临时实验。
5.5 主对话模型 vs 辅助模型
Hermes 把模型分成两个角色,避免”用旗舰模型干小事”:
model: anthropic/claude-opus-4.6 # 主:参与所有对话
auxiliary_model: openrouter/openai/gpt-5-mini # 辅:视觉描述、长会话压缩、跨会话摘要
vision_model: openrouter/openai/gpt-4o # 视觉(可选,单独覆盖)
辅助模型通常便宜很多,但要求”足够能写摘要、读图”。建议:
- 主:你舍得花钱、长上下文、强工具调用的旗舰;
- 辅:GPT-5-mini / Claude Haiku / DeepSeek-Chat / Qwen Max / Kimi K2 中任选一款。
5.6 Fallback Providers:把”挂了”变”换一家”
主 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。
5.7 Provider Routing:精细化路由
OpenRouter 提供 routing 能力,Hermes 把它一等公民化:
provider_routing:
prefer:
- anthropic
- openai
avoid:
- replicate
sort: throughput # throughput / latency / price
这一节最常见的用法:
- 想省钱:
sort: price; - 想快:
sort: latency; - 不想被某地区供应商路由:
avoid: [...]。
5.8 Credential Pool:多密钥轮询
同一家 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
适用场景:
- 团队多人共享同一份 API Key 配额;
- 单 Key 触发限流;
- 想让多个 Hermes Profile 各占不同 Key。
5.9 自定义 OpenAI 兼容端点
最常见的就是接 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。
5.10 OAuth 类供应商的最佳实践
部分 Provider 支持 OAuth(Nous Portal、Anthropic Max、OpenAI Codex、MiniMax、GitHub Copilot)。共同点:
- 第一次
hermes model→ 选 OAuth Provider,会打开浏览器 / 设备码; - Refresh Token 存到
~/.hermes/.env,过期会自动刷新; - 退出 / 撤销:
hermes auth logout <provider>。
特别提醒:
- Anthropic OAuth 仅 Max 订阅可用,普通 Pro 不能走;
- GitHub Copilot ACP 走的是本地
copilotCLI,需要先copilot login; - MiniMax OAuth 走浏览器,国内开发者建议优先尝试,省去申请 API Key 的繁琐。
5.11 完整配置示例(推荐起步模板)
# ~/.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-...
5.12 国内开发者实战建议
如果你主要在国内/中文场景使用 Hermes:
- 主:GLM-4.6(智谱)/ Kimi K2 / Qwen-Max;这三家都支持工具调用且上下文 ≥ 128K;
- 辅:DeepSeek-Chat(极便宜,足够做摘要 / 视觉描述(V3 多模态版本));
- Fallback:OpenRouter 配 Anthropic / OpenAI 兜底(如果有外网);
- 凭据池:把同公司多人 Key 放一起,防止一人触发限流就影响所有人;
- Tool Gateway 替代品:用 Bing API 或 Tavily 做 web 搜索;本地 Edge TTS 做免费 TTS。
OpenRouter 在国内访问可能不稳,可以考虑加 HTTP 代理(Hermes 全部基于 httpx/openai-python,标准 HTTPS_PROXY/HTTP_PROXY 环境变量都能透传)。
5.13 切换模型的 5 个高频小技巧
- 想试某个新模型一次:
/model openrouter/x-ai/grok-4,不用关 TUI。 - 想快速比较两家:
/retry后再/model切到另一家,再/retry,直接对比响应。 - 临时全开 reasoning 模式:用支持 thinking 的模型并
/reasoning打开。 - 跨会话固定但单会话覆盖:
config.yaml设默认;/model临时覆盖。 - 想看 Provider 实际用了哪一家:
/usage输出会展示当次实际命中的 provider/model 与 fallback 历史。
5.14 Trouble shooting
| 症状 | 解决 |
|---|---|
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 字段 |
5.15 本章小结
Hermes 在”模型层”提供了远超普通 Agent 的工程能力:
- 三种 API 模式 + 自动检测,让一份 Agent 代码跑遍 Anthropic / OpenAI / Codex 生态;
- Provider Registry + 凭据集中管理,覆盖国内外主流供应商;
- 主 / 辅模型分离,把贵的留给真正需要的对话,便宜的留给后台搬砖;
- Fallback + Provider Routing + Credential Pool,把”模型挂了”变成自愈过程;
- OAuth 与自定义端点,让你既可以零配置上车 Nous Portal,也可以挂自己机房的 vLLM;
/model即时切换、/usage即时审计,工程师手感舒适。
下一章我们去看另一个解耦层——工具与终端后端。