AI API Gateway Platform - 将 AI 订阅配额分发和管理
本版修复 Session Studio 重登结果解析中的确定合同缺口,并为失败任务提供安全的客户端阶段诊断。明确的上游会话或策略 403 拒绝会阻止自动重登,避免发起无效的新登录。
- 拒绝 JSON / NDJSON 中的重复字段,包括转义后同名字段,防止后一个字段覆盖先前失败;拒绝 NaN / Infinity。首个终态失败、半凭据、未知结果事件和重定向仍按原合同拒绝,不自动重试或切换引擎、会话、出口。
- 失败任务可展示 HTTP 请求、事件解析、终态、凭据校验和提交阶段,以及白名单原因、耗时和 HTTP 拒绝状态。诊断不包含提供方原始错误、响应正文或凭据,也不推断远端内部 OAuth 阶段。
- models 探测识别明确的会话或策略 403 后,保存固定 blocked 原因并阻止自动重登;保留现有预算、冷却、身份校验、任务 ownership 与凭据 CAS 写回规则。
transient 状态不会清理重登预算;已有终态任务的历史对账仍可能增加失败计数。
源码及离线合同回归见 PR #560。这些修复没有证明 provider_failed 的远端根因,也不等于 #504 / #532 已恢复;耗尽的预算不会自动恢复。登录恢复需另有自然任务、后端成功写回及其后新鲜鉴权证据。
延续 v2.17.1 的升级限制:迁移 300–306 为 forward-only;禁止旧财务 writer / binary 与新版混跑,包括旧 batch worker 领取新版任务。切换前须停止新准入并排空所有相关节点的在途请求、usage / batch worker 和 flusher 周期,包括已经 pop 的快照;未知已启动工作继续占用,过期不授权退款或重复调用。旧 reader / writer 不能仅凭 journal 完成就直接回滚,回退构建必须理解新增投影和独立冻结归属。
R2「迟到 SET 回填旧额度」仍未关闭。上游产生用量、完整事件尚未持久化的 Stage 前崩溃或数据库不可用边界仍无法重建未保存的最终用量。本版不补写历史账务、不退款、不补扣,也不据此宣称收入归因或账号恢复已完成。
缺少旧版本完整排空证据时,不能把正常重启或健康检查称为无损升级;维护窗口需要明确接受短暂中断及尚未持久化用量可能截断的风险。
📥 Installation
Docker:
# GitHub Container Registry
docker pull ghcr.io/ranxi2001/sub2api:2.17.2One-line install (Linux):
curl -fsSL https://raw.githubusercontent.com/ranxi2001/sub2api/v2.17.2/deploy/install.sh | sudo bash -s -- install -v v2.17.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.17.2/deploy/upgrade-k3s.sh | sudo bash -s -- --version v2.17.2Defaults: namespace tosky-canary, Deployment tosky-nerd; override with --namespace NAME --deployment NAME.
Upgrade every instance sharing Redis to this release.