AI API Gateway Platform - 将 AI 订阅配额分发和管理
本版增加分组级 Codex 客户端、子代理与 ultra 使用控制,改用 2FA Worker 一键导出 ChatGPT Session,并支持 Grok 流式语音合成;同时修复图片权限拒绝误伤账号、Grok 安全拒答归类及连续原地更新的问题。
分组 Codex 使用控制
- 分组创建或编辑页新增“仅允许 Codex 客户端”“禁止子代理”,两项均默认关闭,可独立开启;内部账号测试、测智与质量判题继续可用(PR #458,贡献者 zhang2580384)。
- OpenAI 和合成分组的思考强度上限、映射新增
ultra,可配置ultra → deny或降档。HTTP 与 Responses WebSocket 均执行策略,公开模型名的 ultra 后缀也参与判断;/v1/messages未显式指定 effort 时同样处理该后缀。 - 启用运维监控后,子代理拒绝可在“使用记录 → 错误请求”按用户、Key、分组及
403查询,不计入服务故障 SLA。客户端与子代理标识由客户端提供,不能保证识别主动删除标识的客户端。配置与限制详见分组策略说明。
使用 2FA 一键导出 ChatGPT Session
- 凭证运营“2FA 管理”可使用已保存的邮箱、密码和 TOTP,交给本地 re-auth Worker 完成真实网页登录,管理员通过 step-up 2FA 后异步导出(PR #456,贡献者 ambi-vip)。适用于已配置凭据的独立 OpenAI OAuth 父账号。
- Worker 使用账号代理,校验 MFA、有效期与账号身份;下载文件仅包含
accessToken和sessionToken。结果保存在 API 进程内存中,最多保留 10 分钟且只能下载一次,API 重启后需要重新导出。 - 替代 2.12.0 的手工 Cookie 保存和导出入口。 旧 Cookie 表及历史密文保留,运行时代码不再读写;使用新功能需要升级支持
chatgpt_session_export的 Worker,旧 Worker 继续处理原有 OAuth 重登任务。详见Session 导出说明。
Grok 语音与拒答处理
- 新增 Grok 分组的
GET /v1/ttsWebSocket 流式 TTS,双向转发 xAI 语音事件,并按实际发送的文本字符数结算;需要客户端及反向代理支持 WebSocket(PR #459,贡献者 blackdm666)。 - 将 xAI 的 “I can't help with that request” 安全拒答归为内容审核拒绝,避免按账号访问异常处罚或换号;同时保留错误透传规则(PR #453,贡献者 blackdm666)。
图片调度与原地更新修复
- 显式生图同时检查文本模型和图片模型是否在账号模型清单中,覆盖 HTTP、WebSocket 及发送前复核;普通 Codex
image_gennamespace 声明不会单独触发生图筛选。明确的“分组未开启生图”结构化权限 403 仅触发 30 分钟图片能力冷却,避免累计成整号停用;已有误停账号需管理员核实后恢复(PR #457,配置说明)。 - 原地更新或回滚完成后,必须先重启服务才能再次更新或回滚,避免重启前继续替换错误的可执行文件路径;待重启检查先于远端版本查询(PR #451,贡献者 seanminjie-del)。
升级注意
- 新增 Session 导出任务表,以及分组
codex_cli_only、block_subagents字段;两个分组开关默认均为false。回退旧二进制保留新增表和字段,但旧版不执行新的分组准入策略。 - 本版为 fork 功能与社区修复,保留既有 DeepSeek compaction/SSE、292 ticket 路径及独立发布配置。完整版本对比
📥 Installation
Docker:
# GitHub Container Registry
docker pull ghcr.io/ranxi2001/sub2api:2.12.1One-line install (Linux):
curl -fsSL https://raw.githubusercontent.com/ranxi2001/sub2api/v2.12.1/deploy/install.sh | sudo bash -s -- install -v v2.12.1Manual 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.12.1/deploy/upgrade-k3s.sh | sudo bash -s -- --version v2.12.1Defaults: namespace tosky-canary, Deployment tosky-nerd; override with --namespace NAME --deployment NAME.
Upgrade every instance sharing Redis to this release.