Repository navigation
AI API Gateway Platform - 将 AI 订阅配额分发和管理
本版增加按模型隔离的质量处置策略,修复糖果规则无法使用账号已配置模型的问题,并纠正运维 SLA 的错误归属。标准旧登录 Worker 还可通过一次显式迁移,改为随主程序自动升级。
按模型隔离,全部答错才移出分组
- 在“质量运维”中选择新的
isolate_models动作:一轮内只有部分模型明确答错时,仅隔离这些模型;全部检测模型均明确答错时,才移除规则选定且原本存在的分组归属(PR #437)。旧规则不会自动切换。 - 隔离作用于该账号的所有分组;未参与检测的模型不受影响。映射至同一上游模型的别名共用隔离。超时、未知或跳过不会触发对应模型的新隔离,也不会解除已有隔离。
- 自动恢复默认关闭。开启后,可分别恢复通过的模型;至少一个模型明确通过时,可恢复本规则移出的原分组。人工调整、模型映射变化等快照冲突会阻止自动恢复,不会清除原生 429 冷却或手工限制。
- 新隔离无自动过期时间,重启或暂停规则不会放行。持有处置记录时,改变动作、模型、分组或删除规则前须先恢复处置。旧二进制不识别新策略:所有实例升级后再启用,降级前先恢复处置并改回旧动作或删除规则。
糖果检测接受账号已配置的模型
普通账号通道的糖果规则创建、编辑、模板同步及执行前校验,现接受账号显式配置的模型名、别名和通配符;映射覆盖全部请求模型时,无需依赖上游 /models 目录。适用于现有答题传输支持的 API Key、OAuth、Setup Token 等账号类型(PR #441)。
未被映射覆盖的模型仍需目录校验,明确的运行时模型拒绝仍会使该模型跳过检测。可配置不保证上游实际可用;状态探针、BPS 通道及自动透传维持原有目录校验。
SLA 分类修正
- 明确的
request payload is too large请求体超限,按客户端限制从 SLA 异常中排除。 - 平台账号池耗尽产生的路由 429/503,计为平台异常,避免被旧业务限制标记排除;本地模型不支持等排除规则继续生效。
- 原始错误日志保留。历史查询及重新生成的汇总采用新规则,已生成的聚合和指标快照不会自动回算(PR #439)。
旧登录 Worker 一次迁入托管模式
新增 install.sh manage-worker --data-dir <实际持久目录> --drained,供 Linux amd64/arm64 的标准密码/TOTP systemd sidecar 显式迁入现有内置管理器。迁移后,主程序升级并重启时会使用同版本运行包;仅升级主程序不会自动接管旧外部 Worker(PR #440)。
迁移需要 root、systemd、Python 3.10+ 及 GitHub 访问,必须先暂停新任务、排空登录任务并处理非终态 2FA;会重启一次 API。原配置、运行包及恢复材料保留,失败恢复旧模式。自定义 Turb 邮箱或进程级代理不在接管范围内;迁移验收不代表真实 OpenAI MFA 更换成功。操作前阅读迁移与回退说明。
本版相对 v2.11.1 无新增数据库结构迁移。以上均为本 fork 更新;同时整理新人文档入口、归档历史门票指引并清理 PR 截图,保留历史验证链接(PR #438)。
📥 Installation
Docker:
# GitHub Container Registry
docker pull ghcr.io/ranxi2001/sub2api:2.11.2One-line install (Linux):
curl -fsSL https://raw.githubusercontent.com/ranxi2001/sub2api/v2.11.2/deploy/install.sh | sudo bash -s -- install -v v2.11.2Manual download:
Download the appropriate archive for your platform from the assets below.
K3s gateway upgrade (on each existing single-node host):
curl -fsSL https://raw.githubusercontent.com/ranxi2001/sub2api/v2.11.2/deploy/upgrade-k3s.sh | sudo bash -s -- --version v2.11.2Defaults: namespace tosky-canary, Deployment tosky-nerd; override with --namespace NAME --deployment NAME.
Upgrade every instance sharing Redis to this release.