路由与模型选择:渠道、模型与客户端的关系
使用 AI 网关时,最容易混淆的是三个概念:渠道、模型和客户端。理解它们的关系,能帮你正确配置路由,避免「为什么请求没有走我预期的渠道」这类困惑。
三个基本概念
- 渠道是一条上游连接:一个 Ollama 实例,或一个云服务商账号。
- 模型是渠道上的一种能力:例如
qwen3:8b这样一个具体的模型名。 - 客户端是你日常使用的 AI 工具:Claude Code、Codex、opencode 等。
它们的关系是一条单向链路:
客户端 →(虚拟密钥)→ 网关(路由策略)→ 渠道 → 模型
每次请求时,客户端在请求里指定模型名,网关根据这个模型名找到能服务它的渠道,把请求转发过去。
模型列表里的「model (渠道名)」是什么意思
在 Claude Code、opencode 等客户端的模型选择器里,你会看到 qwen3:8b (Ollama Qwen3) 这样的条目。括号里的名字表示这个模型的来源渠道,不是「另一条连接」:
- 你的客户端与网关之间始终只有一条连接(一个地址 + 一把虚拟密钥)。
- 同一个模型也可以配置在多条渠道上。此时选择器里仍只显示一行(括号里显示其中一条来源渠道),每次请求实际由哪条渠道服务,由路由策略决定(见下文)。
三种路由模式:Fixed、Failover、Balanced
路由策略回答的问题是:当同一个模型有多条渠道都能服务时,用哪条?
| 模式 | 行为 | 适合场景 |
|---|---|---|
| Fixed(固定) | 永远使用同一条渠道 | 渠道质量稳定,想锁定来源 |
| Failover(主备) | 主渠道失败或无额度时,按顺序切换到备用渠道 | 有主有备的配置 |
| Balanced(均衡) | 在可用渠道之间轮流分配请求 | 多条同质渠道分摊负载 |
两个关键边界:
- 路由只在渠道之间切换,不切换模型。 请求哪个模型始终由你的客户端决定,网关不会替你换模型。
- 不同模型本来就走各自的渠道。 Balanced 不会「这次用 A 渠道的模型、下次用 B 渠道的模型」——它只在同一个模型的多条渠道之间轮流。
模型由客户端决定:怎么切换模型
网关只负责转发:你的工具在每次请求里带上模型名,网关照着路由。切换模型在客户端里完成:
- opencode:在 TUI 里输入
/models选择;或在opencode.json里配置model(主模型)与small_model(标题生成等轻量任务)。 - Claude Code:用
/model命令切换。 - Codex:用
-m <model>参数或配置文件指定。
安全地把日常工具接入网关
担心影响日常使用?按这个流程来:
- 先用次要项目试:在一个不重要的项目目录里完成一键接入,确认工作流正常。
- 一条请求验证:发一条测试请求,到「使用记录」页查看它落在哪个模型、哪条渠道、花了多少成本。
- 随时退回:在「接入管理」页停止接管。停止后:ServBay 写入的配置会被移除,接管创建的虚拟密钥会被吊销;你先前的自定义配置不会被自动恢复,如有需要请手动调整,重启客户端后生效。
总结
- 渠道 = 上游连接;模型 = 渠道上的能力;模型名由客户端在每次请求中指定。
- 路由策略只在「同一个模型的多条渠道」之间选择:Fixed 固定、Failover 主备、Balanced 轮流。
- 在客户端的模型选择器里切换模型;在「使用记录」页核对每笔请求的归属与成本。
