v2.7.1
本版聚焦 Prompt 风控闭环与调度/出口能力:流式 CYB 封号计次终于真正上报 NewAPI、公共 Images API 的 2K/4K 别名返回真实物理分辨率,并新增分组级 IP 代理、per-key 审查范围、relay/OAuth 冷却分离与请求日志高级筛选。
Features
- 分组级 IP 代理,组内按账号粘性分配(#479,@ZhuAndiliba 提议)。free 号池账号增删频繁,逐号配置
proxy_url无法维护。现在分组编辑弹窗可以直接填代理列表(每行一条,支持 http/https/socks5):账号拉进组后下一个请求即自动走组代理,无需逐号设置。优先级为 账号代理 > 组代理 > 代理池 > 全局代理 > 直连,账号显式配置仍最高优先;组内多条代理按账号 ID 粘性哈希分配,保证账号↔出口 IP 稳定不漂移;修改组代理热生效,存量粘性会话下次复用时自动重绑。多组归属取第一个配置了代理的组。已在真实部署验证代理生效、热更新与重启加载全链路。 - 流式 CYB strike 真正投递到 NewAPI,并新增计次开关(PR #480,@ekti123456)。此前首次 CYB 会正确锁定会话,但签名决策在流式路径上从未送达 NewAPI;后续请求被本地会话锁拦截为不计次事件,NewAPI 侧累计次数恒为 0,自动封号永远不触发。现在流式失败保留审计细节与签名决策并送达 NewAPI;高级防护新增"上游 cyber policy 决策是否计入封号次数"开关,默认关闭——可以先观察再决定是否启用强制。
- Prompt 审查支持 per-key 范围,策略审计全链路统一(PR #478,@ifThink404)。绑定的 API Key 可选
inherit(本地规则+远程模型审查)、local_only(保留本地确定性规则/会话关联/审计/风险画像,跳过远程模型审查——受信集成不必每个请求都付审查延迟)或off(跳过检查,UI 二次确认)。范围只由服务端绑定决定,请求无法通过头或 body 自选;HTTP/SSE/WebSocket 一致生效,存量绑定自动迁移为inherit。同 PR 落地了精确请求关联的策略事件、可空评分语义与可检索的 CY 事件/模型审查/审计/学习历史。 - 审核分类阈值可配、仅 CY 计入封号、终局规则豁免模型(PR #475,@ekti123456)。
omni-moderation-latest改为按本地可配的分类阈值拦截,不再全盘信任上游判定;封号计次只在真正 CY 确认时累积,审核模型误报不再能推动自动封号。终局严格规则可排除指定模型——codex-auto-review内置提示词满是审计词汇,以前几乎必触发终局拦截。触发 CYB 后锁定当前会话防止越挖越深,并修复了上一版额外规则无法删除的 bug。 - 请求日志页高级筛选与错误分布(PR #483,@ImogeneOctaviap794)。可按状态族/具体状态码、错误类型、重试请求、传输方式筛选,并搜索错误消息、模型、端点、账号和 API Key;筛 4xx 或全部错误时会把 499 一起带出,取消请求不再漏掉。新增可点击的错误分布摘要与结构化错误详情列,排查 401/429/5xx/499 不用再逐页翻日志;账号搜索改为先解析账号 ID 再过滤,不再逐条解析 credentials。
- relay 与 OAuth 的模型冷却策略分离(PR #482,@ImogeneOctaviap794)。直连 API 上游的临时 429 以前会套用 Codex OAuth 的持久模型冷却,把仍可重试的上游提前摘掉几分钟。现在 relay 默认关闭持久模型冷却,重试耗尽后保留 HTTP 429 并补
Retry-After;OAuth 保持 300 秒自适应冷却与 5h/7d 窗口不变。两侧均支持off/fixed/adaptive,可系统默认+单账号覆盖;账号详情可查看生效策略并清除单模型/全部冷却,重置账号状态时一并清除。Grok 沿用独立限流逻辑。
Fixes
- 公共 Images API 的
gpt-image-2-2k/-4k返回真实物理分辨率(#477,@OneAHPro 报告)。生图台早就会把这两个别名超分到承诺尺寸,但 OpenAI 兼容的/v1/images/generations|edits只把尺寸提示传给上游,返回的仍是约 157 万像素的基础图(请求 3840x2160 拿到 1254x1254)。超分链路下沉为两个入口共享的模块——本地 Catmull-Rom 或外部IMAGE_UPSCALER_ENDPOINT,复用现有 LRU 结果缓存与有界并发闸;公共 API 以请求解析出的尺寸为权威目标(用户显式尺寸精确命中,不被别名默认覆盖),流式/非流式的最终图都执行超分,partial 预览帧不动。超分失败降级返回基础分辨率而不是让请求失败,usage log 记录最终交付尺寸。一个有意的语义:方图输入请求 16:9 4K 时得到 2160x2160——上游按输入比例回方形基础图,fit-inside 规则不裁剪内容硬凑比例。同时生图调度限定 Codex 账号:此前 Grok/中转账号可能被派到生图请求,对上游 401 还把健康账号误标为鉴权失效。已对 2K 方图/4K 横图/自定义尺寸逐一实测 PNG 头验证。 - 外部模型审查降级时快速失败,风险评分有界(PR #474,@ifThink404)。外部模型审查加有界熔断,降级的提供方不再拖垮请求池;超时/未审查的本地拦截按未验证证据处理(指纹去重、独立风险贡献设上限),模型放行结果与未验证事件双向 reconcile,已确认的 CY/模型/终局规则证据保留。
- Codex 账号页导出不再把 Grok 账号打进文件。"导出健康账号"曾列出全平台账号,codex 命名的导出文件里可能混入 Grok 凭据(TXT 模式还会因其没有 refresh token 输出空行)。导出接口新增
channel过滤,Codex 页固定传 codex;不传保持全量语义,远程迁移不受影响,Grok 页沿用专属导出。 - 重试请求仅在真正重试时计数;积分开关前端乐观更新,操作反馈即时。
Upgrade Notes
- 数据库迁移全自动:
account_groups.proxy_urls(分组代理)、模型冷却策略设置表、Prompt 策略审计与绑定 scope 相关列,启动时自动创建/补列,SQLite 与 PostgreSQL 均含兼容迁移,无需手工操作。 - 默认行为变化:① relay 账号 429 默认不再触发持久模型冷却(可在设置中改回
fixed/adaptive);②-2k/-4k别名现在真的返回 2K/4K 物理分辨率,响应体积明显变大(4K PNG 约 9MB),依赖旧行为的调用方请注意;③ CYB 计次开关默认关闭,不影响现有观察行为。 - 建议升级:是。做 free 号池代理出口、NewAPI 联动封号、或对外提供 2K/4K 生图的部署尤其建议。
- 逃生阀:组代理清空即回退全局代理链;
cyb_strike_enabled保持关闭即维持纯观察;relay 冷却策略可改回adaptive恢复旧行为;导出接口不传channel即旧全量语义。
致谢
- @ZhuAndiliba — 分组 IP 代理需求(#479)
- @OneAHPro — #477 源码级定位的高质量报告
- @ekti123456 — 分类阈值/CY 计次/会话锁(PR #475)与流式 CYB strike 投递(PR #480)
- @ifThink404 — Prompt 策略审计统一与 per-key 审查范围(PR #474/#478)
- @ImogeneOctaviap794 — relay/OAuth 冷却分离(PR #482)与请求日志筛选(PR #483)
Full Changelog: v2.7.0...v2.7.1