Skip to content

用户渠道与路由

用户渠道(UserChannel) 是对用户可见的一层供给抽象。每个用户渠道下挂载若干具体 渠道,并定义这组渠道的路由算法倍率

为什么需要用户渠道

它把「对外卖的供给」和「底层的上游接入」解耦:

  • 你可以把多个上游渠道(不同账号、不同区域、不同质量)归到同一个用户渠道下,对外作为一种供给售卖;
  • 也可以建多个用户渠道(如「标准」「高速」「便宜」),用不同倍率分层定价;
  • API 密钥可以被限制只能使用特定用户渠道(管理 API 密钥)。

字段

字段说明
名称 / 描述对外展示
倍率(Multiplier)该用户渠道整体的计费倍率
路由算法(RoutingAlgorithm)在其下属渠道间选择上游的策略,默认 priority
启用状态关闭后其下所有渠道都不参与服务

路由算法

用户渠道下可能有多个能提供同一模型的渠道,网关按算法选择其一:

算法行为
priority按渠道优先级选择(默认),高优先级优先
weight按权重做加权选择
轮询在候选渠道间轮转,均摊流量

选择逻辑会综合渠道的 PriorityWeight 与启用状态。把主力上游设高优先级,备用上游设低优先级,可实现「主用 + 故障转移」的效果。

管理操作

操作接口
列表GET /user-channels
创建POST /user-channels
更新PUT /user-channels/:id
删除DELETE /user-channels/:id

用户侧可通过 GET /api/user/catalog 查看自己可用的目录。

配置建议

  • 简单场景:建一个默认用户渠道,所有上游渠道都挂在它下面,用 priority 做主备;
  • 分层售卖:建多个用户渠道,配不同倍率,再用 API 密钥的「允许用户渠道」或分组控制谁能用哪层;
  • 均摊压力:把多个等价上游放在一个用户渠道下,用 weight 或轮询分流。

倍率如何与分组、渠道倍率叠加,见 计费体系

基于 MIT 协议发布(社区版)