Skip to content

Sub2API 2.21.4

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Nov 10:48

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

本版新增供应商目录、共享钱包余额与多人通知、QQ 社群及优惠券管理,并完善 BPS 工具选择和账号联网搜索。Responses 会话恢复补齐完整历史回放、未发送 WS 续轮及失败记录,包含 v2.21.3 之后已合入 production 的改动。

供应商目录与账号运维

  • 渠道运维新增独立供应商目录,可保存加密登录凭据、读取供应商余额和消费指标、按原始币种设置低余额标记,并为 API Key/Responses 账号选择导入来源。创建远端 Key 需要显式确认;结果未知时保留幂等状态,不盲目重复创建。
  • 供应商会话使用数据库行锁处理跨实例凭据轮换;分页操作保留凭据落库时间预算,后续读取失败或客户端取消时仍尝试保存已经轮换的凭据。合法负余额继续显示并参与告警,不作为未知值丢弃。#850
  • 账号运维组可关联供应商,共用一份钱包余额和一个告警事件。新导入且尚未分组的 Key 按供应商 ID 归组,已有手动分组及明确未分组状态保持不变。缺失、失败、过期或币种不匹配的数据不回退到 Key 额度,也不视为零余额或恢复。
  • 支持最多 10 个收件邮箱,以换行、逗号或分号分隔;地址去重后分别投递和记录结果,其他地址失败重试时不重发已经成功的地址。OAuth 增加“速抛/临时号”和“长期号”用途分类;旧账号默认临时号,分类不改变凭据、调度或清理策略。#862

供应商后台刷新默认关闭,需显式设置刷新间隔;外发通知仍需配置现有 SMTP/Webhook 与告警规则。余额阈值使用来源币种,不自动换算人民币和美元。详见账号运维说明。

QQ 社群与优惠券

新增 QQ 回调、绑定与转账确认、群管理、聊天与图片配置、活动奖励、公告、治理记录及优惠券管理入口。聊天和图片可配置独立专用 Key;回调验签、跨实例队列、资金与奖励事务、外部地址访问限制沿用本次适配的权限和幂等检查。

新模块需管理员显式配置;QQ 总开关及涉及资金的功能默认关闭。没有配置 QQ 应用和允许群组时不会自动启用。原有渠道价格、账号归属、计费及账号运维通知接口保留。

供应商协议适配参考 mizaawa/zayuapi v0.2.219,QQ 与优惠券功能引入自 DeanZFC/sub2api-custom v0.2.21-custom.4,在本 fork 中补充持久化、网络、权限、支付和 UI 适配;来源记录与 notices 保留于源码。详见功能与兼容性说明。

BPS 工具、搜索与上下文

  • BPS 支持 tool_choice=required、指定 function/custom 及命名空间目标,在完整调用批次上验证工具身份和参数 schema。错误目标、未声明或歧义名称明确失败,不自动改成另一项工具;allowed_tools 等未支持形式仍拒绝。#856
  • 新增按账号启用的 BPS 联网文本搜索,设置覆盖账号编辑、批量编辑、OAuth 默认模板和质量规则。“自动提供搜索工具”依赖主搜索开关,关闭主开关会清除自动搜索;旧账号和旧模板默认关闭。#858、#859
  • 搜索使用当前 BPS 账号及代理,同账号继续生成;不把内部搜索工具转交客户端,不在搜索失败后换号重放或伪造结果。已完成生成轮次计入用量,搜索接口自身没有已确认的 Token 计费契约,不虚构额外 Token 消耗。实际供应商权限和费用需启用前核实。
  • 当前仅支持文本搜索,不承诺图片搜索、域名过滤或地理位置约束;自动搜索不覆盖客户端 none、required 或指定工具。底层使用非公开稳定接口,不能把离线回归视为真实供应商搜索验收。详见搜索协议与限制。
  • 修复尾部 reasoning/工具元数据导致当前密文任务被误判为旧历史的问题,防止可选历史省略丢弃当前任务。取消自动注入固定 920000 压缩阈值;客户端显式提供的 context_management(包括空数组)保持原值,未提供时使用上游默认策略。不据此宣称上下文容量或模型质量提升。#857

Responses 回放与续轮

  • 普通 owner opt-out 开启、409 Beta 关闭时,完整密文历史先做有限元数据规范化,再冻结并验证发送正文;OAuth 按其无状态契约处理 reasoning ID 和缺失/null summary,保留密文、可读 reasoning、工具关系与数字精度。API-key store:true 保持原行为。#853
  • 既有 409 有损续接补齐 HTTP 请求规范化、原生透传及 WS 首帧路径。原账号完成交付后停调或冷却时,可信的首次发送前 owner/route 拒绝可进入有界可读重建;保留客户端连接、可读任务及已完成工具结果,原账号冷却不被清除。#860、#855
  • 错误记录区分 HTTP/WS 传输状态和逻辑失败,HTTP 200 的流式业务失败在管理员界面显示为失败。新增记录不包含请求正文、密文、工具参数或凭据。

既有 400/409 Beta 仍默认关闭且彼此独立;恢复不解除权限、计费、审核或交付完整性检查。已发送、交付不明、pending/failed/conflict 或缺少可靠任务依据的请求不自动重放。可读重建可能丢失不可读旧历史,真实供应商是否接受跨账号历史仍需单独验证。

客户端与回归修复

  • 个人 API 密钥页新增“导入到 Magpie”,按选中密钥的分组生成地址并打开本机 magpie://import 预览;由用户在 Magpie 中确认保存。无法确定端点的分组不猜测,原有 CCS 与手动配置入口保留。#861
  • Antigravity 转换新增保留客户端安全约束及自定义系统指令的回归;本版不删除 Claude Code 的安全声明,也不宣称解决相关 Gemini 429 RESOURCE_EXHAUSTED。#863
  • 修复渠道统计隐私测试误匹配时间戳数字、WS 等待时间测试受机器负载影响,以及历史源码反例的依赖装配问题。保留真实业务断言,不把编译失败当作行为反例。

升级说明

新增 33 份 SQL 迁移:345–348 与 350–378,用于供应商凭据/刷新/幂等记录、QQ 队列/绑定/活动/转账及优惠券。升级前备份数据库;回退二进制不会撤销这些迁移,新增业务数据需保留。回退到仅支持单邮箱和账号余额的旧版本前,先恢复单邮箱并解除供应商余额关联。

功能验证使用隔离 PostgreSQL/Redis、虚构上游和实际组件渲染;未进行真实 QQ/SMTP、供应商模型调用或生产部署。发布不会自动启用上述可选功能,也不代表生产站点已升级。

完整差异:v2.21.3…v2.21.4。


📥 Installation

Docker:

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

One-line install (Linux):

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

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

Defaults: namespace tosky-canary, Deployment tosky-nerd; override with --namespace NAME --deployment NAME.
Upgrade every instance sharing Redis to this release.

📚 Documentation