惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Schneier on Security
Schneier on Security
H
Help Net Security
PCI Perspectives
PCI Perspectives
博客园 - 司徒正美
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LINUX DO - 最新话题
GbyAI
GbyAI
IT之家
IT之家
TaoSecurity Blog
TaoSecurity Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
News and Events Feed by Topic
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
美团技术团队
T
Troy Hunt's Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Cloudbric
Cloudbric
A
About on SuperTechFans
Recorded Future
Recorded Future
Microsoft Security Blog
Microsoft Security Blog
阮一峰的网络日志
阮一峰的网络日志
H
Hacker News: Front Page
Forbes - Security
Forbes - Security
Webroot Blog
Webroot Blog
D
DataBreaches.Net
L
LangChain Blog
S
Schneier on Security
博客园_首页
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
N
News | PayPal Newsroom
Hacker News - Newest:
Hacker News - Newest: "LLM"
爱范儿
爱范儿
量子位
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
T
Threatpost
The Hacker News
The Hacker News
N
News and Events Feed by Topic
罗磊的独立博客
Spread Privacy
Spread Privacy
Hacker News: Ask HN
Hacker News: Ask HN

博客园 - 我才是银古

第16章:常见问题、排错与最佳实践 第15章:扩展生态、MCAD 与外部集成 第12章:实战案例:机械结构与 3D 打印零件 第14章:构建、测试、调试与贡献流程 第13章:OpenSCAD 源码架构与核心执行流程 第11章:预览、渲染、网格精度与性能优化 第09章:列表推导、递归与算法建模 第08章:参数化零件库与复用设计 第10章:导入导出、命令行与自动化 第06章:CSG 布尔建模方法 第07章:二维图形、拉伸、旋转与投影 第05章:基础几何、坐标系与变换 第04章:参数、变量、函数、模块与作用域 OpenSCAD 教程目录 第03章:OpenSCAD 语言基础 第02章:安装、环境配置与开发工作流 第01章:OpenSCAD 项目全景与学习路线 第02章:源码获取、编译与开发环境配置 第01章:OCCT项目全景与学习路线 第18章:二次开发实战与综合案例 第17章:与 Qt VTK Python pythonOCC 生态集成 第18章:综合实战案例 第17章:数据交换与协同 第16章:源码架构与二次开发 第15章:插件与自定义工作台开发 第14章:Python脚本宏与自动化 第13章:FEM仿真分析 第12章:CAM数控加工 第11章:SurfaceMesh与逆向工程 第10章:Draft二维绘图与BIM建筑 第09章:工程图TechDraw 第07章:参数化表达式与Spreadsheet 第08章:装配设计Assembly 第06章:Part工作台与几何内核 第05章:PartDesign实体特征建模 第04章:草图Sketcher约束建模 第02章:安装版本与工作环境配置 第03章:界面工作台与基础操作 第01章:项目全景与学习路线 第十二章:插件开发、研究功能与最佳实践 第十章:定时任务与自动化(Cron) 第七章:技能、记忆与自学习闭环 第八章:MCP 集成与上下文文件 第六章:工具系统与终端后端 Hermes Agent 教程目录 第十一章:语音、视觉、浏览器与子代理协作 第四章:CLI/TUI 与会话管理 第十二章:学习路线、实战方案与最佳实践 第十一章:源码结构、开发调试与插件开发 第十章:自动化、远程访问、日志与排障 第九章:Control UI、节点、Canvas 与语音能力 第七章:工具、技能、插件与能力扩展 第八章:安全模型、访问控制与沙箱实践 第六章:Agent 工作区、会话与多智能体路由 第五章:多通道消息接入与聊天平台配置 第四章:配置体系、模型接入与认证管理 第三章:Gateway 架构、协议与运行机制 第二章:安装、环境准备与快速上手 第一章:OpenClaw 项目概览与核心定位 oh-my-openagent 教程目录 09-命令模型回退与配置参考 10-实战案例最佳实践与故障排除 05-工作模式-Ultrawork-Prometheus-Atlas 08-Hooks与MCP系统 06-Category与Skill系统 07-核心工具链 04-智能体全景详解 03-安装与环境配置 02-整体架构与多模型编排机制 01-项目简介与核心理念 01-项目概览与学习路线 02-安装部署与工具适配 03-Skill机制与using-superpowers 05-TDD系统化调试与完成前验证 04-需求澄清方案设计与计划编写 07-并行智能体子智能体与Git-Worktree 第六章:代码审查、反馈处理与分支收尾 08-中国特色Skills与本土团队落地 09-MCP构建工作流执行与自定义Skill 第23章:FreeCAD-Python-API Clipper2 C# 源码解读教程 第19章:PolyTree 多边形树结构 第20章:实际应用与最佳实践 第18章:Minkowski 和与差 第17章:RectClip 矩形裁剪优化 第16章:ClipperOffset 偏移类详解 第15章:填充规则详解 第14章:布尔运算执行流程 第13章:ClipperD 浮点裁剪类 第11章:OutRec 与 OutPt 输出结构 第9章:Active 活动边结构 第10章:Vertex 顶点与 LocalMinima 局部极小值 第12章:Clipper64 裁剪类详解 第7章:高精度运算与128位整数 第8章:ClipperBase 基类详解 第5章:枚举类型与常量定义 第6章:InternalClipper 内部工具类 第2章:核心数据结构 - Point64、PointD 第3章:路径与多边形表示 - Path64、PathD、Paths64、PathsD 第4章:矩形边界 - Rect64、RectD
第五章:模型供应商与配置体系
我才是银古 · 2026-05-04 · via 博客园 - 我才是银古

第五章:模型供应商与配置体系

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)

模式选择优先级:

  1. 你显式传入 api_mode
  2. 根据 Provider 自动检测(anthropicanthropic_messages);
  3. base URL 启发式(api.anthropic.comanthropic_messages);
  4. 默认 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 走的是本地 copilot CLI,需要先 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 个高频小技巧

  1. 想试某个新模型一次/model openrouter/x-ai/grok-4,不用关 TUI。
  2. 想快速比较两家/retry 后再 /model 切到另一家,再 /retry,直接对比响应。
  3. 临时全开 reasoning 模式:用支持 thinking 的模型并 /reasoning 打开。
  4. 跨会话固定但单会话覆盖config.yaml 设默认;/model 临时覆盖。
  5. 想看 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 即时审计,工程师手感舒适。

下一章我们去看另一个解耦层——工具与终端后端。