github ranxi2001/sub2api v2.14.0
Sub2API 2.14.0

7 hours ago

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

本版集中改善 Responses 长等待与断流时的处理和可见性,并为管理员提供延迟分位数调度、新 2FA 账号验证准入及更细的注册控制。已有显式调度参数继续保留;新准入规则须由管理员配置并启用。

Responses 心跳、失败恢复与连接诊断

  • 普通 Responses 的注释心跳覆盖请求上传、等待上游响应头和原有流式阶段,填补“配置了心跳、等待响应头时却没有下行字节”的空窗。复用 gateway.stream_keepalive_interval,默认 10 秒、0 禁用;心跳不算模型输出,不新增请求重放或工具执行。PR #507
  • 未发心跳的快速错误保留原 HTTP 状态与 JSON;心跳已提交 HTTP 200 后,后续错误以合法 response.failed 终止,保留净化的错误字段,避免把普通 JSON 混入 SSE。write/flush 失败能传递为断连状态,保留已观测用量、停止继续切号;上游裸 error 不再遗漏来源而误标为平台内部错误。
  • 管理员在「使用记录 → 连接诊断」查看请求时间线、上游尝试、协议、入口和断开标记。新应用记录独立于计费,涵盖未鉴权和无用量的 Responses 请求;可选 Nginx/Caddy 采集器补充未到应用的入口事件,需要另行部署接入。PR #504
  • 原生 HTTP/SSE 的明确失效加密 reasoning,在尚未输出、未取消且只有一条可安全归属时,允许同账号恢复一次;与 HTTP 400 共用预算。不会无条件删掉 compaction、加密工具结果或多个无法归属的密文,也不保证修复所有加密上下文错误。PR #505
  • terminal 表示观察到上游终态,新增 terminal_flushed / terminal_output_flush 只表示本机写出刷新成功,不证明客户端收到或解析完成。心跳不能代替上游容量、模型权限或客户端网络的验收。处理边界

延迟分位数与可追溯调度

  • 优先调度可选择 P50/P70/P90/P95;缺省为 P90 / 15000ms,已保存的显式阈值不被覆盖。p90_ttft_ms 继续表示真实 P90,不与当前选定分位数混用。PR #508
  • 可选 attributed_v1 保守提取最终账号物理 HTTP attempt 的语义延迟;缺失、异常或歧义证据保持 unknown,不回退成假快。默认 legacy_forward 保留兼容口径,服务端体验 P90 单独展示,不当作纯模型计算时间或客户端收包证明。
  • 延迟处罚只由最近超目标的有效样本续期;新增快速样本或缓存刷新不延长处罚。页面展示选定分位数、未知样本数、采样与快照时间、配置 revision;恢复探索默认 0,未知质量不能进入探索,也不绕过权限、协议、绑定和容量限制。

账号准入与管理

  • 「智能运维 → 自动配置」新增独立的 OpenAI 2FA 账号准入配置,默认关闭。只对启用后首次通过适用 2FA 导入创建的 OAuth 账号生效:初始 1 并发、关闭客户调度,后台验证通过后再放行。PR #506
  • 默认模型 gpt-6.1-sol / low,完成后等待 60 秒,连续 6 次答 21 后放行并设为 2 并发;连续 6 次答 29 后移入管理员选择的隔离组并停止自动升档。参数可配置,目标组须明确选择;后续答对不自动恢复已隔离账号。启用后后台测试会消耗相应上游额度。配置与回退边界
  • 修复批量编辑范围,勾选 OAuth 相关选项不会误把未选中账号的分组一并修改。PR #503
  • 账号管理支持批量导出 2FA 备份;质量运维提供可保存的检测模型快捷标签。导出的 2FA 备份属于敏感材料,应按凭据妥善保存。PR #496 · PR #497

授权、注册与安全修复

  • 修复正式 SIWC opaque authentication metadata 的兼容处理及刷新绑定;保留令牌验证、邮箱匹配、工作区锚点、一次性回调与刷新锁。配套托管 Worker 改善固定代理安全验证的分类与浏览器交互提示,仍须正常完成官方授权和显式选择账号协议。PR #498
  • 上游明确的 session_blocked_by_cyber_policy 只提示新建会话,不再误处罚整个账号、累计通用 403 冷却或因此切号;不会自动清理此前留下的冷却状态。PR #500
  • 修正本地反向代理后的客户端 IP 解析;「系统设置 → 安全与认证 → 注册设置」增加同 IP 注册数量限制开关,默认开启,保留现有两账号配额。管理员关闭它不会同时关闭验证码、登录限流等其他保护。PR #501 · PR #502
  • 新增「屏蔽邮箱别名注册」,现有部署升级后也默认开启:拒绝 Gmail/Googlemail 用户名点号、+tag 和域名末尾点号。其他域名正常的用户名点号不受影响;已有账号登录、找回密码不受影响。正常用户首次使用带点 Gmail 也会被拒绝,可移除点号或由管理员关闭此开关;关闭后仍保留原有收件箱去重。PR #509
  • 构建工具链升级 Go 1.27.3,修复 follow-redirects 依赖安全扫描问题;本版不以安全扫描通过代表所有生产路径已经验收。

升级说明

  • 新增迁移 294_request_connection_traces.sql,用于独立保存连接诊断元数据;升级前备份数据库。回退二进制不会撤销迁移,旧二进制可忽略新表,入口采集导入应随回退停止。连接诊断说明
  • 应用连接记录默认保留目标为 30 天并分批清理,不是无损审计;排查时需区分入口、应用和历史记录,同一请求的多来源观察不能重复统计为多次重连。
  • SIWC 修复需同步使用本版配套托管登录 Worker;多实例应统一升级相关网关与控制面后再启用新 2FA 准入规则。关闭全局开关只停止后续新账号加入,已加入账号保留导入时规则;二进制回退不会自动还原已改变的分组或并发。
  • 本次发布不包含生产部署,不会自动启用新准入策略、入口采集器或付费探测,也不承诺消除所有客户端重连。

完整差异 v2.13.3...v2.14.0


📥 Installation

Docker:

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

One-line install (Linux):

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

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

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.