github ranxi2001/sub2api v2.10.5
Sub2API 2.10.5

11 hours ago

AI API Gateway Platform - 将 AI 订阅配额分发和管理

本版重点修复 BPS 401 后误删 Excel refresh token、重新登录,以及 401 与刷新并发时新凭据无法保存的问题;同时补充 BPS 凭据诊断、账号测试响应证据和可选的多实例工具会话状态。以下变更来自本 fork 的 production,本次没有整版同步上游。请求时区、模型权限冷却和凭据诊断参考 Sub4API 后适配本 fork,来源见对应 PR。

BPS 凭据恢复与诊断

  • 401 后保留可续期 RT:BPS 拒绝当前 access token 时,保留独立 Excel refresh token,后续请求自动尝试刷新。普通网络错误不再一律提示重新授权;只有刷新确认旧凭据失效且没有被新授权替换时,才进入重新授权流程。#379
  • 保护并发刷新与新授权:401 状态更新和 RT 刷新使用同一套锁;刷新期间到达的旧 401 不修改凭据快照。遇到 invalid_grant 或保存冲突时重读并校验最新凭据,避免覆盖新授权或误报重新登录。主 Codex 凭据和账号停调状态不受这条 Excel 恢复路径影响。
  • 统一显示 BPS 凭据状态:账号列表、用量列和编辑窗口展示安全的授权状态、过期时间及恢复提示。未过期只代表本地有效期检查通过,不等于上游认证成功;凭据恢复不会自动解除管理员停用或暂停。#374

BPS 请求与排查

  • 测试弹窗展示上游响应证据:连接测试补充上游 HTTP 状态、转发模型、request ID 与错误码,方便核对请求走向与失败环节;这些观测不代表模型质量已验证。#375
  • 模型权限拒绝只冷却对应 BPS 模型:遇到 basispoints_model_access_changed 或 model_not_allowed 时,当前账号的实际映射模型冷却 30 分钟,其他 BPS 模型和原生 Codex 路径继续按各自规则调度。指向同一上游模型的别名共享冷却,不因此整体关闭 BPS 或移组。#373
  • 可选 Redis 工具会话状态:新增 gateway.excel_bps_state_redis_enabled,默认关闭。开启后,稳定账号/API Key/session scope 的工具回放及目录可跨实例共享;Redis 不可用时明确报错,不使用不完整的本地历史。#376
  • 公开设置正确返回总开关:补齐公开设置接口中的 BPS 与 Prism 总开关,避免前端显示与服务端配置不一致。#378

可选请求时区绑定

系统设置中的“请求时区绑定”默认关闭。开启后,OpenAI 账号可分别配置固定 IANA 时区,未配置时使用 Asia/Singapore。只替换请求中已有的环境时区与网页搜索位置时区,支持 Responses HTTP 和 WebSocket;不修改日期、普通对话文本或系统时区,也不保证模型质量改善。#372

升级与回退

  • 相对 v2.10.4 没有新增数据库迁移。请求时区与 Redis 工具会话功能均默认关闭,按需启用。
  • 本版不会自动重放失败的模型请求;BPS 401 的恢复发生在后续获取 token 时。已被旧版删除的 RT 不能由升级恢复,真实账号是否恢复仍需验收。
  • 共享 Redis 的实例应统一升级。旧版 401 处理仍可能删除 Excel grant;回退二进制会失去本版并发保护,不能保证保留新版本的恢复语义。
  • BPS 模型权限冷却仍为当前进程内状态,重启清空,多实例不共享;不要将可选 Redis 工具会话状态误认为所有 BPS 状态都已集中存储。
  • 启用 Redis 工具会话状态前确认各实例使用相同且受保护的 Redis 命名空间。回退时先关闭该开关,已有状态按 TTL 清理。

完整版本差异


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/ranxi2001/sub2api:2.10.5

One-line install (Linux):

curl -fsSL https://raw.githubusercontent.com/ranxi2001/sub2api/v2.10.5/deploy/install.sh | sudo bash -s -- install -v v2.10.5

Manual 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.10.5/deploy/upgrade-k3s.sh | sudo bash -s -- --version v2.10.5

Defaults: namespace tosky-canary, Deployment tosky-nerd; override with --namespace NAME --deployment NAME.
Upgrade every instance sharing Redis to this release.

📚 Documentation

Don't miss a new sub2api release

NewReleases is sending notifications on new releases.