From 3dccc45032375a5554998b48b40fd11dd7eca267 Mon Sep 17 00:00:00 2001 From: teknium1 <127238744+teknium1@users.noreply.github.com> Date: Sun, 26 Jul 2026 17:51:12 -0700 Subject: [PATCH] =?UTF-8?q?docs(portal):=20describe=20per-model=20routing?= =?UTF-8?q?=20accurately=20=E2=80=94=20not=20everything=20goes=20through?= =?UTF-8?q?=20OpenRouter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Nous Portal docs claimed routing 'happens through OpenRouter under the hood' with OpenRouter-equivalent failover, and that the catalog 'mirrors OpenRouter's model list'. That is not the Portal's contract: some models route through OpenRouter, others through proprietary or secondary providers, and per-model routing can change over time. The stale wording licensed users to expect OpenRouter-proprietary request extensions (top-level cache_control, session_id sticky routing, provider preferences) to work through the Portal, producing misfiled bug reports like #71576. Reworded both pages (en + zh-Hans) and added an explicit note that OpenRouter-specific extensions are not part of the Portal API contract. --- website/docs/guides/run-hermes-with-nous-portal.md | 2 +- website/docs/integrations/nous-portal.md | 8 ++++++-- .../current/guides/run-hermes-with-nous-portal.md | 2 +- .../current/integrations/nous-portal.md | 8 ++++++-- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/website/docs/guides/run-hermes-with-nous-portal.md b/website/docs/guides/run-hermes-with-nous-portal.md index d25a628bbf39f..1f64f03d6a169 100644 --- a/website/docs/guides/run-hermes-with-nous-portal.md +++ b/website/docs/guides/run-hermes-with-nous-portal.md @@ -228,7 +228,7 @@ The quarantine clears automatically on successful re-login. ### Model I want isn't in the `/model` picker -The Portal catalog mirrors OpenRouter's model list (300+). If a model is missing, try typing the OpenRouter-style slug directly: +The Portal catalog draws on OpenRouter's model list (300+) plus models served through proprietary or secondary providers. If a model is missing, try typing the OpenRouter-style slug directly: ```bash /model anthropic/claude-opus-4.6 diff --git a/website/docs/integrations/nous-portal.md b/website/docs/integrations/nous-portal.md index c47adb10734b3..fcf20f8574ff0 100644 --- a/website/docs/integrations/nous-portal.md +++ b/website/docs/integrations/nous-portal.md @@ -42,7 +42,11 @@ The Portal proxies a curated catalog of agentic models from across the ecosystem | **Hermes** | Hermes-4-70B, Hermes-4-405B (chat, see [note below](#a-note-on-hermes-4)) | | **+ everything else** | 280+ additional models — the full agentic frontier | -Routing happens through OpenRouter under the hood, so model availability and failover behavior matches what you'd get with an OpenRouter key — just billed against your Nous subscription instead. Switch between Claude Sonnet 4.6 for code and Gemini 3 Pro for long context with `/model` mid-session — no new credentials, no top-ups, no surprise zero-balance errors. +Under the hood, the Portal routes each model to the backend best suited for it — some models go through OpenRouter, others through proprietary or secondary providers, and the routing for a given model can change over time. Everything is billed against your Nous subscription either way. Switch between Claude Sonnet 4.6 for code and Gemini 3 Pro for long context with `/model` mid-session — no new credentials, no top-ups, no surprise zero-balance errors. + +:::note +Because routing is per-model and not always through OpenRouter, OpenRouter-specific request extensions (such as `provider` routing preferences, `session_id` sticky routing, or top-level `cache_control`) are not part of the Portal's API contract and may be ignored depending on which backend serves the model. +::: ### The Nous Tool Gateway @@ -251,7 +255,7 @@ Your Portal refresh token was invalidated (password change, manual revoke, or se ### Want to use a specific provider model that the Portal doesn't expose -The Portal proxies through OpenRouter, so any model that OpenRouter supports is generally available. If a specific model isn't appearing in `/model`, try the OpenRouter-style slug directly: +The Portal routes each model to a suitable backend — some through OpenRouter, others through proprietary or secondary providers — so most models OpenRouter supports are generally available. If a specific model isn't appearing in `/model`, try the OpenRouter-style slug directly: ```bash /model anthropic/claude-opus-4.6 diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/run-hermes-with-nous-portal.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/run-hermes-with-nous-portal.md index fa860d93ce869..0b50318e8e555 100644 --- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/run-hermes-with-nous-portal.md +++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/run-hermes-with-nous-portal.md @@ -225,7 +225,7 @@ hermes auth add nous ### 我想要的模型不在 `/model` 选择器中 -Portal 目录镜像了 OpenRouter 的模型列表(300+ 个)。如果某个模型缺失,尝试直接输入 OpenRouter 风格的 slug: +Portal 目录基于 OpenRouter 的模型列表(300+ 个),并补充了通过专有或备用提供商提供的模型。如果某个模型缺失,尝试直接输入 OpenRouter 风格的 slug: ```bash /model anthropic/claude-opus-4.6 diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/integrations/nous-portal.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/integrations/nous-portal.md index 275f77a0e84c2..771193905b691 100644 --- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/integrations/nous-portal.md +++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/integrations/nous-portal.md @@ -38,7 +38,11 @@ Portal 代理了来自整个生态系统的精选 agentic 模型目录——统 | **Hermes** | Hermes-4-70B、Hermes-4-405B(对话,见[下方说明](#a-note-on-hermes-4)) | | **+ 其他所有模型** | 240+ 额外模型——完整的 agentic 前沿生态 | -底层路由通过 OpenRouter 实现,因此模型可用性和故障转移行为与使用 OpenRouter 密钥一致——只是计费走你的 Nous 订阅。在会话中途用 `/model` 即可在 Claude Sonnet 4.6(适合代码)和 Gemini 2.5 Pro(适合长上下文)之间切换——无需新凭证,无需充值,不会遇到余额为零的意外报错。 +底层上,Portal 会为每个模型选择最合适的后端——部分模型通过 OpenRouter 路由,其他模型则通过专有或备用提供商,且某个模型的路由方式可能随时间调整。所有用量都统一计入你的 Nous 订阅。在会话中途用 `/model` 即可在 Claude Sonnet 4.6(适合代码)和 Gemini 2.5 Pro(适合长上下文)之间切换——无需新凭证,无需充值,不会遇到余额为零的意外报错。 + +:::note +由于路由是按模型进行的,并非总是经过 OpenRouter,OpenRouter 专有的请求扩展(如 `provider` 路由偏好、`session_id` 粘性路由或顶层 `cache_control`)不属于 Portal 的 API 契约,可能会被忽略,具体取决于该模型由哪个后端提供服务。 +::: ### Nous Tool Gateway @@ -246,7 +250,7 @@ hermes portal ### 想使用 Portal 未暴露的特定提供商模型 -Portal 通过 OpenRouter 代理,因此 OpenRouter 支持的所有模型通常都可用。如果某个模型未出现在 `/model` 中,可直接尝试 OpenRouter 风格的 slug: +Portal 会为每个模型选择合适的后端——部分模型通过 OpenRouter 路由,其他模型则通过专有或备用提供商——因此 OpenRouter 支持的大多数模型通常都可用。如果某个模型未出现在 `/model` 中,可直接尝试 OpenRouter 风格的 slug: ```bash /model anthropic/claude-opus-4.6