github ranxi2001/sub2api v2.19.7
Sub2API 2.19.7

3 hours ago

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

本版为账户页自动刷新增加上游模型同步,支持账号每天按时区循环开关调度,并细分 OpenAI 流式请求的首事件与正文计时。同时修复 OAuth 刷新期限边界、AI 运维页面读取及账号性能显示,减少部分请求预处理的重复解析。

账号模型与定时调度

  • 自动同步上游模型(#695):在账户页「自动刷新」下拉开启「同步上游模型」,默认关闭。仅同步当前页符合条件的 active、可调度账号,每账号至少间隔 5 分钟、最多 2 个并发;关闭选项、隐藏或离开页面后停止后续同步。它依赖页面运行,不是全站后台定时任务。
  • 真实上游目录成功返回后,重建直接模型项、移除失效声明,并保留目标仍在目录中的自定义别名。同步失败、空列表、仅有配置回退或账号凭据并发变化时保留原映射;不发送生成探测。凭据影子账号及 OpenAI OAuth aliases 策略不自动扩展。目录仍是上游声明,不能保证模型请求实时可用,也不改变缺模型后的故障切换策略。
  • 每日循环调度(#693):账号「调度」列统一使用「定时任务」面板,保留一次性任务,新增每天开启/关闭窗口与 IANA 时区,支持跨午夜时段。两个动作原子保存;保存只安排未来动作,不立即改变当前状态。手动立即开关会取消该账号待执行的定时计划。服务端按当地日历续排,停机恢复仍受开启逾期 15 分钟等安全限制,不保证秒级准点或恢复后立即校准时段。

定时任务、时区及恢复规则

OpenAI 流式观测与可选交付

  • 流式内容时序(#694):启用请求耗时详情后,使用记录区分首事件、首语义、首推理和首文字,避免将 response.created 当成正文首字。计时取最终出口 attempt,HTTP、可信插件和原生 WS 分别标注来源;原有 first_token_ms、TPS 与计费口径保留,历史记录不回算。应用侧 flush 不等于客户端已收到。
  • 可信插件元数据提前交付(#694):新增启动配置 gateway.openai_plugin_sse_early_events_enabled,默认关闭。仅对 OpenAI OAuth 经兼容且签名为 trusted 的指定 WS→SSE 插件响应生效,可在完整事件边界提前交付元数据;不会自动启用原生 WS 加速。本版不附带第三方插件包,仍需有效签名与正确宿主兼容范围。
  • 开启提前交付会收窄故障切换窗口:响应提交后的超时、EOF 或读取失败在当前 SSE 内结束,不跨账号重放;每个暂存事件上限 8 MiB。修改配置后需按现有方式重启,启用前应验收真实插件及下游代理的流式行为。

流式计时、插件条件与回滚

修复与维护

  • OAuth 刷新(#692):同时检查取消状态和实际截止时刻,避免定时回调尚未调度时,将已经超期的刷新结果当成成功保存。
  • 管理界面(#686、#687):AI 运维 GET 请求不再自动附加该接口不接受的时区参数;账号性能指标增加健康度配色,上游错误率颜色与运维阈值保持一致,缺样本继续显示未知。
  • 请求预处理(#688、#689、#690):在没有相关字段或只有普通消息的历史中跳过不必要的解析,并优化长 JSON 字符串扫描;保留原输入处理语义,不承诺固定性能增幅。
  • 压缩依赖(#691):更新 github.com/andybalholm/brotli 至 1.2.7、github.com/klauspost/compress 至 1.20.2。

升级注意

  • 相对 v2.19.6 新增 335_account_daily_schedulable_timers.sql,旧计划默认保持一次性任务。升级前备份 PostgreSQL;回退到只支持一次性计划的版本前,先取消全部待执行循环任务并停止新 worker,旧版不会继续每日续排。
  • 模型自动同步与插件提前交付均默认关闭。前者关闭后不撤回已经同步的映射;后者是宿主启动配置,关闭并重启可恢复原插件暂存策略。模型同步、流式观测及插件开关不新增数据库迁移。
  • Release 构建和 CI 不等同于生产部署、真实模型请求或第三方插件链路验收。

完整变更


📥 Installation

Docker:

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

One-line install (Linux):

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

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

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.