AI API Gateway Platform - 将 AI 订阅配额分发和管理
新增基于 OAuth 授权的管理 MCP 接口,并完善管理员密钥的细粒度权限;同时全面治理网关请求体内存与读写超时,提升高并发下的稳定性。
新增功能
- 管理 MCP:新增 OAuth 认证的管理 MCP 接口及前端授权确认/连接管理页面,需显式配置 MCP_PUBLIC_URL 才会启用(默认关闭)
- 管理员密钥:补全权限项(统计、OpenAI OAuth、邀请等)与中英文权限展示,新增需输入确认文字才能开启的「全权兼容模式」
- 注册邮箱精确黑名单:支持批量粘贴(上限 20000 条),按收件箱身份匹配 Gmail 点号/+后缀变体,保存时可批量禁用命中的已注册用户
- OpenAI 生图账号支持按 1K/2K/4K 尺寸档位分流,未指定尺寸时按档位偏好逐层选号
- 新增 gateway.disable_openai_transport_error_cooldown 开关,可关闭 OpenAI 传输错误冷却
- Antigravity 账号用量显示每个配额组真实的 5 小时与每周窗口,Pro 套餐的独立 Argon 配额单独成行
- Antigravity INTERNAL 500 账号惩罚档位可通过环境变量配置
优化改进
- 网关请求体内存预算、上游/下游读写超时与后台任务全面加上限,减少慢连接和大请求对实例的影响
- 网关热路径减少 JSON 拷贝与重复解析(thinking 过滤、Codex 引导/压缩判断、Gemini 流增量等),RPM 覆盖与分组隐私门控不再每请求查库
- 请求体读取失败按超时(408)、客户端断开(499)、截断、解码错误分类返回,并记录不含内容的诊断日志
- 打通 GPT Image 2.6 原生图片链路,保留 complexity 与原生编辑选项
- Antigravity 连接测试改为发送管理员填写的提示词并返回模型真实回复
- Kimi 并发上限 403 改用短冷却,不再长时间下线账号
- Antigravity 图像模型的 INTERNAL 500 只冷却该模型,不再连带整个账号进入惩罚
- 用户使用记录导出每页 1000 条,遇面板限流 429 按 Retry-After 等待后重试
- Codex 密钥导出与 CC Switch 导出默认模型统一改为 GPT-6.1 Sol,并启用实时联网搜索、保留图片配置
- GPT-6.1 Terra 使用官方 Codex 描述(上下文窗口 500k),校验 effort 与兼容缓存键
- 错误透传规则可覆盖内置的请求体过大 413
- MCP 客户端 ID 过长时前端截断显示,MCP 关闭时隐藏入口
Bug 修复
- 修复 Anthropic setup-token 账号在无 5h 限制时丢失每周用量的问题
- 修复长会话中 cyber transcript 误拦截的问题(#8519)
- 修复异步生图任务因请求体内存预算被提前释放而全部 503 的问题
- 修复 Bedrock EventStream 帧长度未校验即分配内存的问题
- 修复 Gemini 上游 SSE 行与 Antigravity 非流式响应读取无上限的问题
- 修复补丁预算在 failover 中累积导致误拒绝的问题
- 修复 OpenAI OAuth 透传对 codex 模型空 instructions 本地返回 403 的问题,response.instructions 回显按客户端原值还原
- 修复非流式 /v1/responses 在上游返回 incomplete/cancelled 或缺少 Content-Type 的 SSE 时未返回 JSON 的问题
- 修复 WebSocket HTTP 桥接未应用 Codex 指纹收敛的问题
- 修复 OpenAI WS 透传部分轮次未记录首 token 时间的问题
- 修复强制路由模式下仍发起 responses 探测的问题
- 修复生图尺寸溢出选号时错误改写会话粘性绑定的问题
- 修复 GPT Image 账号生图测试参数错误的问题
- 修复 API Key 校验时客户端断开或密钥格式错误被报告为 500 的问题
- 修复 Grok Voice 请求体读取失败被误报为 400 并回显原始 socket 错误的问题
- 修复 Grok 委派消息输入在 Responses 中未规范化的问题
- 修复 apicompat 转换丢失缓冲 reasoning 内容、完成响应丢失消息内容字段的问题
- 修复 Gemini 原生 function response 中工具媒体丢失的问题
- 修复 Antigravity 直连 Gemini 流式响应异常、responseJsonSchema 未改写为 responseSchema 的问题
- 修复 Antigravity 转发时残留旧系统身份、误删携带任务内容的身份前导的问题
- 修复 Cloudflare REST messages 请求携带 beta 查询参数的问题
破坏性变更
- 请求体内存预算:新增 security.request_body_memory_budget_bytes(默认 1GiB),超出时返回 503 + Retry-After;设为 0 可禁用
- 读写超时:新增 security.request_body_read_timeout_seconds 与 downstream_write_timeout_seconds(默认均 120 秒,0 禁用),上传单次读取停滞超时返回 408
- 客户端断开后的上游 drain 窗口改为有上限,超时截断会影响该请求的计费口径;会话缓存改为有界
- GPT-6.1 Terra:OAuth/setup-token 订阅请求超过 272k 不再收取长上下文附加费;Codex 窗口升至 500k 后 API Key 请求越过 272k 更频繁,按 2x/1.5x 计费;Terra 兼容路径的 minimal effort 改为返回 400
- 新增数据库迁移 249_mcp_oauth.sql,升级时自动执行
升级指南
- 容器内存较小或并发长上下文请求较多的部署,请按实际情况调整 security.request_body_memory_budget_bytes,详见 deploy/EDGE_SECURITY.md
- 如需启用管理 MCP,配置 MCP_PUBLIC_URL(需 HTTPS,路径为 /api/v1/mcp)
📥 Installation
Docker:
# Docker Hub
docker pull weishaw/sub2api:0.2.20
# GitHub Container Registry
docker pull ghcr.io/wei-shaw/sub2api:0.2.20One-line install (Linux):
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/install.sh | sudo bashManual download:
Download the appropriate archive for your platform from the assets below.