Translates the full English docs corpus (335 files) into Simplified Chinese under website/i18n/zh-Hans/. Combined with PR #31895 (cross- locale link fix), the 简体中文 locale toggle now serves a complete Chinese site with working cross-page navigation. Pipeline: - Claude Sonnet 4.6 via OpenRouter, 8-way concurrent - Preserves frontmatter keys, code blocks, MDX/JSX, link URLs, brand names, and technical jargon (prompt/token/hook/MCP/ACP/etc.) - Translates only frontmatter title/description and prose - Two largest files (configuration.md 93KB, research-paper-writing.md 107KB) retried with 64K max_tokens after initial fence-drift - 3 manual post-fixes for MDX edge cases the model didn't escape: < in optional-skills-catalog table, double-quotes in an alt= tag, and a bare URL adjacent to a full-width period Cost: ~$30 total (Sonnet 4.6 input $3/M + output $15/M). Verified `npm run build` succeeds for both en and zh-Hans locales, no double-prefixed /docs/zh-Hans/docs/ URLs in rendered output, all in-page navigation resolves correctly. Translations are machine-generated and may need human review on specific pages — but they're an enormous improvement over the previous state (3 zh-Hans pages out of 335).
5 KiB
| title | description | sidebar_label | sidebar_position |
|---|---|---|---|
| Provider Routing | 配置 OpenRouter provider 偏好,以优化成本、速度或质量。 | Provider Routing | 7 |
Provider Routing
使用 OpenRouter 作为 LLM provider 时,Hermes Agent 支持 provider routing(提供商路由)——对哪些底层 AI provider 处理你的请求以及如何排列优先级进行精细控制。
OpenRouter 将请求路由到多个 provider(例如 Anthropic、Google、AWS Bedrock、Together AI)。Provider routing 让你可以针对成本、速度、质量进行优化,或强制指定特定 provider。
配置
在 ~/.hermes/config.yaml 中添加 provider_routing 部分:
provider_routing:
sort: "price" # 如何对 provider 排序
only: [] # 白名单:仅使用这些 provider
ignore: [] # 黑名单:永不使用这些 provider
order: [] # 显式 provider 优先级顺序
require_parameters: false # 仅使用支持所有参数的 provider
data_collection: null # 控制数据收集("allow" 或 "deny")
:::info Provider routing 仅在使用 OpenRouter 时生效。直接连接 provider(例如直接连接 Anthropic API)时无效。 :::
选项
sort
控制 OpenRouter 如何对可用 provider 排序。
| 值 | 说明 |
|---|---|
"price" |
最便宜的 provider 优先 |
"throughput" |
每秒 token 数最高的 provider 优先 |
"latency" |
首 token 延迟最低的 provider 优先 |
provider_routing:
sort: "price"
only
Provider 名称白名单。设置后,仅使用这些 provider,其余全部排除。
provider_routing:
only:
- "Anthropic"
- "Google"
ignore
Provider 名称黑名单。这些 provider 永远不会被使用,即使它们提供最低价格或最快速度。
provider_routing:
ignore:
- "Together"
- "DeepInfra"
order
显式优先级顺序。列在前面的 provider 优先使用,未列出的 provider 作为备选。
provider_routing:
order:
- "Anthropic"
- "Google"
- "AWS Bedrock"
require_parameters
设为 true 时,OpenRouter 仅路由到支持请求中所有参数(如 temperature、top_p、tools 等)的 provider,避免参数被静默丢弃。
provider_routing:
require_parameters: true
data_collection
控制 provider 是否可将你的 prompt(提示词)用于训练。可选值为 "allow" 或 "deny"。
provider_routing:
data_collection: "deny"
实用示例
优化成本
路由到最便宜的可用 provider,适合高频使用和开发场景:
provider_routing:
sort: "price"
优化速度
优先选择低延迟 provider,适合交互式使用:
provider_routing:
sort: "latency"
优化吞吐量
适合长文本生成,token 每秒速率至关重要的场景:
provider_routing:
sort: "throughput"
锁定特定 Provider
确保所有请求都通过特定 provider 处理,以保证一致性:
provider_routing:
only:
- "Anthropic"
排除特定 Provider
排除不希望使用的 provider(例如出于数据隐私考虑):
provider_routing:
ignore:
- "Together"
- "Lepton"
data_collection: "deny"
带备选的优先顺序
优先尝试首选 provider,不可用时回退到其他 provider:
provider_routing:
order:
- "Anthropic"
- "Google"
require_parameters: true
工作原理
Provider routing 偏好通过每次 API 调用的 extra_body.provider 字段传递给 OpenRouter API,适用于以下两种模式:
- CLI 模式 — 在
~/.hermes/config.yaml中配置,启动时加载 - Gateway 模式 — 同一配置文件,gateway 启动时加载
路由配置从 config.yaml 读取,并在创建 AIAgent 时作为参数传入:
providers_allowed ← 来自 provider_routing.only
providers_ignored ← 来自 provider_routing.ignore
providers_order ← 来自 provider_routing.order
provider_sort ← 来自 provider_routing.sort
provider_require_parameters ← 来自 provider_routing.require_parameters
provider_data_collection ← 来自 provider_routing.data_collection
:::tip 可以组合使用多个选项。例如,按价格排序,同时排除某些 provider 并要求参数支持:
provider_routing:
sort: "price"
ignore: ["Together"]
require_parameters: true
data_collection: "deny"
:::
默认行为
未配置 provider_routing 部分时(默认情况),OpenRouter 使用其自身的默认路由逻辑,通常会自动在成本和可用性之间取得平衡。
:::tip Provider Routing 与 Fallback Models Provider routing 控制 OpenRouter 内部的子 provider 如何处理你的请求。若需要在主模型失败时自动故障转移到完全不同的 provider,请参阅 Fallback Providers。 :::