github ranxi2001/sub2api v2.12.2
Sub2API 2.12.2

2 hours ago

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

本版聚焦三个升级后即可使用的兼容性与交互修复:Grok 实时语音支持 xAI 的 binary 音频帧,Excel OAuth 登录预检使用正确的授权域,使用记录详情在手机和桌面窗口尺寸变化时保持可操作。以下变更来自 fork 的 production,发布提交为 837c6589。

Grok 实时语音 binary 音频

  • GET /v1/realtime 的 Grok/xAI 实时语音中继支持 session.audio.input.transport 或 session.audio.output.transport 为 "binary" 的会话。上游发来的 binary 帧保持 binary 类型转给客户端,客户端发送的原始 binary 音频保持 binary 类型转给上游;控制事件仍按 JSON 事件处理。
  • 兼容原有 JSON/base64 传输,也兼容客户端用 binary 帧承载 JSON 对象事件。非空原始音频帧会计入“已观察到音频”,因此 binary 传输仍沿用实时语音的计费观察逻辑;不记录音频内容。
  • 这是协议中继支持,不等同于完成真实 xAI 上游联调;只涉及实时语音,不改变 /v1/tts 的 JSON 协议。PR #460,实现提交 3c727b9。

Excel OAuth 登录预检

  • 使用 Excel OAuth profile 的密码/TOTP Worker 在临时登录副本中改为预检 https://auth.openai.com/,不再先检查 ChatGPT 首页;普通 Codex 登录仍保留原有 ChatGPT 首页预检。
  • 只修正预检目标,不绕过授权域的拒绝、安全检查或额外验证;授权域预检失败仍立即停止,不新增代理轮换或重试。登录、PKCE、票据和模型质量行为没有被宣称为已验证。PR #461,实现提交 fa5f1071d。

使用记录详情的响应式交互

  • 使用时长详情根据响应式窗口宽度在手机居中的可滚动对话框和桌面右侧抽屉之间切换;窗口尺寸变化实时生效。Token 与费用数值改为带可访问名称的按钮,手机端使用统一的关闭、ESC 和外部点击处理。
  • 桌面端保留悬停查看,详情浮层按实际 DOM 尺寸定位并限制在视口内,内容过长时可滚动;不改变账户费用可见性、observer timing endpoint、计费或 API 行为。PR #462,实现提交 934846168。

升级注意

  • 本版没有数据库迁移,也没有新增配置;上述变化分别影响 Grok binary 实时语音、Excel profile 登录预检和管理界面交互。普通 JSON 实时语音、普通 Codex 登录及费用/API 口径保持不变。
  • 生产发布代码提交为 837c6589cb793152826af6d8890af6e7478ce7b1。完整差异见 v2.12.1...v2.12.2。

📥 Installation

Docker:

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

One-line install (Linux):

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

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

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.