Repository navigation
v3.8.2 · 自定义模型上游组负载均衡与熔断切换
[3.8.2] · 2026-10-22 · 自定义模型上游组负载均衡与熔断切换
范围:自 [3.8.1] 以来的全部变更,核心为自定义模型上游组负载均衡与熔断切换、应用内更新修复(issue #135)。实现细节、根因分析与过程记录见 git 提交历史。
新功能
- 同名多条 = 上游组(负载均衡):同一模型名可配多条上游(不同中转 / 同上游多 Key 分摊),组内按权重轮询;可标记「备胎」,活跃条目全部失败/熔断时自动 failover。自定义模型页分组展示(主/备/权重逐条标注),旧单条记录自动退化、行为不变。
- 组内快速失败切换:上游连接失败 / 报错 / 首字超时且尚未向客户端产出内容时,自动换组内下一上游重试,客户端全程无感;同会话短暂粘住同上游,保护提示词缓存。
- 实例级熔断自动恢复:每条上游独立记账,连续失败进入渐进冷却、到期自动放行,成功即恢复;冷却期组内选路自动跳过,页面实时显示「熔断中」徽标。
- 自定义上游参与统一调度(第五资源池):custom 与内置池同规则参与智能调度与池间回退(免费上游可胜出);支持模型绑定池、API Key 绑定「自定义上游池」;
custom/模型名前缀锁池直达。 - 模型目录与网关帮助同步:/v1/models 同名多源合并单行展示(倍率取组内最小),多源模型附带
custom/xxx别名;落池规则更新为五池语义。
修复加强
- 应用内更新修复(issue #135):修复点「检查更新」自动安装时进度条中途消失、升级静默失败(安全软件实时扫描等慢退出环境必现);MSI 不参与应用内更新,缺安装包时显式报错引导手动下载。
- 目录聚合与查重修正:组内已停用条目的倍率不再污染展示倍率(不再「显示免费、实际计费」);仅拒绝「同名 + 同地址 + 同 Key」的完全重复项,同名不同上游合法构成上游组。
- 可观测补齐:组内轮换逐次落请求日志;组内全试尽落排障摘要;新增熔断状态快照接口。
- 稳定性审查批次:custom 池 Key 白名单三处口径统一(白名单外条目视同不存在,组内全排除自动跨池回退);流内失败不再误判记账成功;上游探测改独立短超时连接;base_url 归一化(scheme 大小写 / 默认端口变体)杜绝绕过查重;侧边栏拖拽兼容触控/触笔并新增键盘换位;侧边栏应用顺序入库前合法性校验。
⚠️ 行为变化(升级须知)
- 同名多源模型的默认落池变化:自定义模型与 Trae/Buddy/Qoder 同名时不再「自定义恒赢」,改按统一调度规则排序(自定义默认尾部兜底)。依赖直达语义的请改用
custom/模型名前缀、Key 绑定「自定义上游池」或模型绑定池显式指定。纯自定义模型(无同名内置源)行为零变化。