Skip to content

v3.10.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 12:20
· 228 commits to main since this release

新增功能

  • 支持全局及分组「关闭 Fast」策略,将 OpenAI 的 priority / fast 请求按普通档位处理。全局关闭后所有 Key 生效;未全局关闭时,仍遵循 Key 绑定分组的限制。默认不启用,不影响其他服务档位。
  • Responses 请求解压上限支持在运行设置中调整,默认仍为 64 MiB,保存后对新请求生效。可按需接收更大的压缩请求体,调高上限也会增加内存占用。
  • 出站代理支持分别探测并展示 IPv4、IPv6 出口,任一地址族探测成功即判定可用,不再依赖单一的 api64.ipify.org 端点。
  • OpenAI 原生续写遇到明确的账号额度耗尽、且尚未向客户端交付内容时,可返回 previous_response_not_found,让支持此机制的客户端重放完整历史并重新分配账号。原续写链不会直接跨账号重试,其他客户端需自行处理该恢复信号。

问题修复

  • 修正模型映射后的本地费用估算:按实际发送模型计价,不再被上游返回的模型名称改写。用量记录分别展示请求、发送与上游返回模型,便于识别差异;上游返回名称仅作为观测信息。
  • 改善 SOCKS5 代理协商兼容性,修复部分代理不接受分段协商写入导致的连接失败。
  • 出站探测与账号绑定解耦:未测试或探测失败的代理仍可选择、授权及绑定,保留状态提示,由用户决定是否使用。实际请求仍走绑定代理,失败不会自动回退直连。
  • 禁用账号仍可获取自己的模型目录,避免管理员连接测试因无可调度账号而失败;不会重新启用普通请求调度。
  • OpenAI Responses 请求未提供 store 时默认使用 false,显式提供的值保持不变。
  • 修复未携带桌面应用版本的 ChatGPT 远程 Desktop 会话被版本限制误拦截的问题;提供版本号时仍正常校验。
  • 修复出站代理导入被拒绝后未及时释放预留锁,影响后续代理操作的问题。

体验优化

  • 系统设置保留「运行设置 / 备份」布局,将并发、凭据刷新、请求排队等配置拆分为独立卡片;优化表单宽度、帮助提示和未保存状态,支持撤销修改。
  • 统一账号导入与编辑弹窗宽度,优化模型限制分段选择器;修复下拉选项悬浮时列表意外滚动,重新授权时支持复制账号信息。

升级说明

  • 从 v3.9.1 升级会自动执行 0012~0015 四个新增迁移,保留旧账号、分组、代理与运行配置;已发布迁移文件保持不变。升级前请备份数据库。历史返回模型只回填已有明确记录,不从请求模型推断;代理的双栈地址字段在重新探测后填充。
  • 自行调用 POST /api/admin/settings/update 的客户端需要补传 responsesMaxDecompressedBodyBytes,单位为字节,默认值为 67108864;新版管理端已适配。新增 disableFast 字段可省略,省略时保留原值。

📥 安装

Docker 部署:

# 从 GitHub 容器镜像仓库拉取
docker pull ghcr.io/zyycn/codex-proxy-rs:3.10.0

请从本版本附件下载 compose.yaml 和 config.example.yaml。Compose 默认固定到本版本镜像;升级前请对比模板与已有配置。

手动下载:
请从下方附件中下载适合当前平台的归档包。

发布归档提供 GitHub 构建产物证明。Docker 镜像附带软件物料清单(SBOM)、构建来源证明和 cosign 无密钥签名。

📚 文档

What's Changed

  • fix(api): allow ChatGPT remote Desktop sessions without app versions by @zyycn in #133
  • fix(openai): default missing downstream store to false by @zyycn in #134
  • fix(ui): make reauthorization account copyable by @yertYang in #135
  • fix(usage): bill sent models and show response model mismatches by @zyycn in #136
  • feat(openai): recover quota-exhausted continuations through client replay by @zyycn in #140
  • fix(settings): make Responses decompression limit configurable by @zyycn in #141
  • fix(openai): coalesce SOCKS proxy negotiation writes by @haohex in #142
  • fix(providers): let disabled accounts source their own model catalogs by @2han9wen71an in #143
  • feat: add global and group controls to disable Fast by @chenyanshan in #146
  • feat(proxies): support dual-stack exit probing and dual IP display by @2han9wen71an in #132

New Contributors

Full Changelog: v3.9.1...v3.10.0