Repository navigation
AI API Gateway Platform - 将 AI 订阅配额分发和管理
本版修复 Responses 历史恢复后仍返回 409 的 HTTP 工具转换和 WS 续接路径,补全工具来源、历史摘要及模型继承检查;同时修正 Free Fast 费用明细,移除余额耗尽预测的后台扫描。包含 v2.21.4 之后已合入 production 的改动。
Responses 409 与会话续接
- 修复 HTTP 历史恢复先冻结快照、随后又修改工具控制字段而触发
wire_changed的问题。OAuth 搜索字段external_web_access清理,以及当前权限和账号策略允许的生图参数规范化、桥接或剥离,在冻结前完成;发送前仍验证任务、工具参数、已完成结果和控制字段。#867 - WS 当前轮尚未发送、多个历史 owner 均已完成交付时,可在既有 409 Beta 开关下重建可读上下文,保持原客户端连接并重新执行正常准入。已完成工具的完整调用及结果关联作为不可执行历史保留,包含调用 ID、类型和参数,避免同名并行工具或乱序结果丢失对应关系。#866
- 工具调用先预留来源记录,成功向客户端交付终态后才确认;恢复和最终发送再次核对 owner、交付状态、任务及 epoch。仅有调用和结果结构配对不足以授权恢复,伪造配对、未确认交付和跨作用域证明继续拒绝。
- 修复 shadow 中生成的历史 agent 元数据遮挡真实任务的问题。根据原始条目类型处理历史,保留可读摘要和仅由摘要提供的任务意图;不会仅凭文本前缀改写真实用户消息。后续 WS 帧省略
model时,工具证明沿用已解析的当前模型,其他模型不能借用旧证明。 - 拒绝日志和 Ops 记录补充固定子原因、轮次与发送阶段;HTTP 投影失败区分 input 和控制字段是否变化,不记录正文、密文或内容摘要。HTTP/WS 传输状态与最终业务失败继续分别记录。
409 有损恢复仍默认关闭,400/409 开关相互独立。恢复不解除权限、余额、额度、审核、冷却或交付完整性检查;已经发送的生成、交付不明或缺少可信历史的请求仍可能失败。工具来源记录有容量与 30 分钟 TTL 限制,旧历史缺少证明时不会补造授权。可读重建不能还原不可读密文,不承诺任意供应商接受或消除所有 409。详见409 恢复说明与WS 续接边界。
Free Fast 费用明细
Free Fast 实际生效时,使用请求发生时保存的 Standard 客户费用分项展示输入、输出、图片和缓存价格,保留不同缓存 TTL 的实际单价及倍率,避免用 Priority 上游费用或当前分组设置倒推旧请求。该快照仅用于展示,不改变实际扣费和上游成本。
旧记录或缺少有效快照时明确显示不可用,不伪造历史 Standard 价格;包含无法完整分摊的附加工具费用等请求,也不会硬算 Token 分项。#864
后台负载与菜单
- 移除余额耗尽预测的后台扫描、设置面板和
balance.forecast邮件事件。旧库即使保留balance_forecast_enabled=true,新版本也不会启动预测任务;按金额阈值的余额不足提醒、余额扣减和计费恢复保留。移除代码不会自动终止旧进程遗留的数据库查询或清空已有计费积压。#869 - QQ 机器人纳入「智能运维侧边栏」显示设置,默认隐藏;已有菜单偏好升级后只追加 QQ 隐藏项,其他选择保留,管理员可重新开启。此设置只影响菜单和菜单搜索,不关闭机器人、后台任务或直接地址访问。#868
升级说明
新增两份迁移:379_usage_customer_cost_details.sql 增加可空的请求时费用快照,历史数据不回填;380_qq_bot_sidebar_default_hidden.sql 一次性补充 QQ 菜单偏好。升级前备份数据库;二进制回退不会撤销迁移。
余额预测的旧设置、历史模板、通知记录、预测表和索引保留,不执行删表迁移。旧客户端提交已移除的预测设置字段会被忽略,其他合法设置正常保存。回退到仍有预测功能的旧版前,需确认其旧开关已关闭,否则可能恢复后台扫描。详见移除范围与兼容说明。
409 回归使用固定旧源码反例、鉴权 handler、隔离 Redis/PostgreSQL 和假上游,覆盖实际发送与工具结果关联;不把合成回归视为真实供应商或原用户会话验收。发布产物不代表生产站点已安装,升级后仍需观察自然流量。
完整差异:v2.21.4…v2.21.5。
📥 Installation
Docker:
# GitHub Container Registry
docker pull ghcr.io/ranxi2001/sub2api:2.21.5One-line install (Linux):
curl -fsSL https://raw.githubusercontent.com/ranxi2001/sub2api/v2.21.5/deploy/install.sh | sudo bash -s -- install -v v2.21.5Manual 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.5/deploy/upgrade-k3s.sh | sudo bash -s -- --version v2.21.5Defaults: namespace tosky-canary, Deployment tosky-nerd; override with --namespace NAME --deployment NAME.
Upgrade every instance sharing Redis to this release.