Skip to content

v3.1.5

Choose a tag to compare

@github-actions github-actions released this 12 Nov 09:12
· 9 commits to main since this release

v3.1.5 聚焦账号恢复与检测调度,重点修复 额度重置后仍持续限流、OAuth 瞬时失败后无法自动恢复,并加入 GPT Image 2.6、按来源控制自动降智检测,以及图片中转和统计准确性改进。

Features

  • GPT Image 2.6 模型族与工作台支持(#872,@ShaoWenbinSaleh)。 新增 gpt-image-2.6、gpt-image-2.6-flare、gpt-image-2.6-sunburst,识别日期快照与 -2k / -4k 别名;模型目录、工作台、额度接口和图片 token 计费同步适配,支持 xhigh / max 质量档位。回归覆盖模型识别、质量选项、定价及按张计费。省略模型仍使用 gpt-image-2,新增内置费率允许由自定义价格覆盖。

  • 按账号来源独立控制自动降智检测(#860,@reallyfeishi)。 原先无法分别选择检测哪些来源,也不支持 Grok / Antigravity。现在提供 Codex、Claude、Grok、Antigravity 四个开关和对应检测模型,新增来源使用专属执行器。来源按账号判断,Antigravity 中的 Claude 模型仍归 Antigravity。关闭来源后不再新增或领取该来源的自动任务,保留账号选择、历史与既有处置;手动检测不受来源开关影响。回归覆盖任务准入、旧客户端保存、来源分类、新账号默认值及凭据保护。

Fixes

  • 限流或无额度时,自动降智检测等待恢复(#868,@Torrekie 提出)。 之前自动任务只看检测开关,额度耗尽时仍不断请求上游并生成失败记录。现在入队和发送前均检查账号冷却、5h/7d 窗口、Antigravity 配额族、Grok 额度与检测模型冷却;命中时不发请求、不写检测结果,也不改变连续次数和退避状态,界面显示「等待额度恢复」。最晚一个正常检测间隔后重新检查;请求过程中收到额度拒绝则记为 interrupted。测试覆盖等待、提前恢复、手动检测及不误拦仅因自动阈值暂停的账号。

  • 5h 重置后不再由过期快照续出新冷却(#862,@priyanshrv-netizen 报告;#871,@koeria 修复)。 旧快照仍显示 100% 时,HTTP 响应头和 WebSocket 用量帧曾重新生成五小时冷却。现在只有重置时间仍在未来的耗尽窗口才会触发该限制;有效窗口与周额度独立生效。回归分别覆盖过期窗口不续期、有效窗口继续限制。

  • 用量冷却和错误清除落库失败后继续重试(#813,@ruirui688 报告;#875,@koeria 修复)。 内存账号恢复后,清除数据库冷却若遇到瞬时错误,之前不会再重试,后续账号重载可能把旧 7d 冷却带回来并持续 429。现在保留待写状态,在后续用量帧发布时重试清除,错误状态清除也采用相同处理。回归注入落库失败,验证旧状态清除后重载仍可调度。

  • Claude OAuth 瞬时 401 可刷新并恢复(#867,@AceCandy 报告;#870,@koeria 修复)。 之前收到 401 就可能禁用账号、留下 Banned / unauthorized 状态,使后台刷新停止、模型列表消失。可刷新的 OAuth 账号现在通过共享刷新租约换票,并最多重试一次请求;成功保存新令牌后清除陈旧鉴权状态,保留其他有效冷却。invalid_grant 仍进入有界永久错误退避,API Key 和 Setup Token 不走这条恢复路径。模拟上游回归覆盖刷新、重试和失败边界。

  • Antigravity 身份复验隔离可自动恢复(#863 / #864,@yanhao98)。 换票成功但 /userinfo 瞬时网络失败时,账号曾因项目字段被清空而退出后台巡检,形成隔离死锁。现在适用的传输错误最多短重试两次,待复验账号继续参与后台退避恢复。HTTP 错误、调用方取消及证书校验失败不属于该短重试范围。复验完成前仍禁止业务调度,原 Google 主体及主体切换保护跨重复刷新保留。测试覆盖自动恢复、主体漂移、重复刷新和持久化失败。

  • Antigravity Argon 与普通 Gemini 的额度冷却隔离(#856,@reallyfeishi)。 配额门禁已区分模型族,但原先的共享冷却键仍会让 Argon 耗尽连带拦住普通 Gemini,反向亦然。冷却写入、本地及共享缓存准入现在统一使用独立族键,不再读取归属不明的旧 Gemini 全局键。同族与相同 backing 档位继续共享冷却,上游 deadline 保持有效。回归覆盖双向隔离、同族限制和跨实例准入。

  • Responses API Key 中转账号可参与生图与改图(#820,@freedomcatjin 报告;#873,@koeria 修复)。 图片账号过滤器曾排除所有中转账号,导致仅有中转账号的池返回「无可用账号」。现在允许 OpenAI Responses 中转账号通过自己的 /responses 执行器发送图片请求,保持 HTTP 出站。模拟上游测试覆盖账号选择和实际转发端点。上游仍须支持 image_generation;Claude、Grok、Antigravity 不会被误送入这条 Codex 图片链路。

  • New API 余额按上游换算比例显示 USD(#815,@cnzjy 报告;#874,@koeria 修复)。 之前将原始 quota 直接当成余额显示。现在结合 token / 用户可用额度,并使用 /api/status 的 quota_per_unit 换算;无法换算时回退到账单接口。无限额度标记及账单哨兵值单独处理。测试覆盖换算、用户额度约束和回退,不把哨兵值当真实现金余额。

  • 账号列表不再同步等待请求日志聚合(#866,@10373064 报告;#869,@koeria 修复)。 分页查询曾等待七天请求统计扫描,拖慢切换、搜索与翻页。现在先返回缓存,缺失的总数和模型/错误明细在后台补齐;Antigravity、Claude 页面按统计状态轮询,标签页重新可见后恢复轮询。Antigravity 筛选变化先重置页码再查询。测试覆盖非阻塞列表、缓存补齐及页面轮询行为。

  • 用量日志记录请求完成时间(#857,@yanhao98 报告)。 之前 created_at 使用批量刷盘时间,同批请求挤到同一秒,造成 QPS 尖峰和跨小时统计漂移。现在入缓冲时记录完成时间,PostgreSQL / SQLite 插入时显式写入;实时统计合并当前实例尚未刷盘的记录。回归覆盖延迟刷盘、小时边界与缓冲统计,SQLite 保留 UTC 秒级文本格式。历史时间戳不回填。

  • 强制 Codex 客户端身份优先于设备稳定化(#859,@bxb1337)。 设备稳定化分支原先提前返回,跳过已配置的强制 Desktop 等身份。现在 HTTP 和 WebSocket 共用的身份解析尊重 force 模式选择,相关身份回归纳入后端检查。

  • 普通 HTTP 后台可新增降智检测题目(#825,@depress77 报告;#876,@koeria 修复)。 非安全来源可能没有 crypto.randomUUID,原先点击新增立即抛错。现在缺失时使用 crypto.getRandomValues 生成 UUID v4,补有对应浏览器回归用例。

  • Go 与压缩依赖安全更新(#859,@bxb1337 贡献压缩依赖升级)。 Go 工具链和 Docker builder 更新至 1.26.11,Brotli 更新至 1.2.7、klauspost/compress 更新至 1.20.2,分别纳入 GO-2026-6859、GO-2026-6888、GO-2026-6865 的修复。依赖更新随本版构建与回归检查验证。

Upgrade Notes

  • 数据库与配置: 无需手工执行迁移,也没有新增业务表或日志历史回填;启动时会更新已有降智检测的新账号初始化触发器,使其遵守来源开关。PostgreSQL 与 SQLite 均有对应实现,检测配置继续保存在现有 JSON 字段中。
  • 默认行为: 旧检测配置保持 Codex / Claude 来源开启,Grok / Antigravity 默认关闭;仍需满足总开关和账号开关。额度耗尽时自动检测改为等待,手动「立即检测」仍可用于排查。可随时关闭单个来源或自动检测总开关。
  • 图片兼容性: 默认图片模型不变;2.6 系列须有上游实际支持。可继续显式使用旧模型,自定义价格覆盖仍优先。Responses 中转生图需要中转站支持图片工具。
  • 日志消费: usage_logs.created_at 表示请求完成时间,不再代表入库顺序。增量同步请按 id 分页;旧日志保持原时间戳,多实例实时视图仅补入当前实例的未刷盘缓冲。
  • 本地启动验证: PostgreSQL + Redis 的 2004 Compose 环境已完成源码重建与启动,/health 返回 ok,数据库与缓存容器健康。该本地 Compose 未设置发布版本参数,版本标记为 dev。
  • 建议升级: 尤其适用于额度恢复后持续 429、OAuth 偶发故障后卡住,以及依赖中转生图、New API 余额或准确 QPS 的部署。源码编译需 Go 1.26.11 或更新版本。
  • 验证范围: Go 1.26.11 Linux 容器中执行 go test -p=1 -count=1 -timeout 8m ./... 全量通过,包含 CPU 性能门禁;前端 457 项测试、类型检查、生产构建和 git diff --check 通过。发布前修正了图片测试中 2.6 定价覆盖 2.5 快照前置配置的问题,未改动业务计费逻辑。macOS 不支持该性能测试的 CPU 计时,因此后端以 Linux 结果为准。本次没有连接独立 PostgreSQL 测试库运行专属兼容性用例,也没有使用真实模型账号进行生图或 OAuth 调用;上游行为依靠模拟回归验证。普通 HTTP 题目新增已有浏览器回归用例,本次未单独重跑该浏览器套件。

致谢

Full Changelog: v3.1.4...v3.1.5