v3.9.0
新增功能
- 支持上游 API Key 账号,可配置服务地址与传输方式,使用 Responses、模型列表、连接测试和本地用量统计;支持手动添加及兼容格式的批量导入。这类账号不提供 ChatGPT 订阅额度、OAuth 刷新、Images、独立 Search 和 Lite/compact 能力。
- 批量导入改为后台任务,提供逐项进度、结果和停止待处理任务的入口;关闭页面后任务继续执行。任务队列保存在内存中,重启服务前请等待导入结束,已成功导入的账号不受影响。
- 新增可选的账号容量冷却:容量类错误达到阈值后暂时停止调度,支持恢复探测与自适应并发下调;管理端展示冻结原因和恢复时间。自动冻结默认关闭,按需在运行设置中启用。
- 支持在管理端设置全局请求位置与时区,也可为出站代理单独配置。代理自定义值优先于全局设置,用于 OpenAI/Codex Responses 的环境日期、时区和 Web Search 位置,不改变实际出口 IP。
- 新增 Linux amd64/arm64 一键安装脚本,使用 Docker Compose 部署并生成初始配置。重复执行保留现有配置,已有实例升级仍按部署指南操作。
问题修复
- 修复 IPv6 出口的代理探测,识别本次连接实际使用的 IPv4 或 IPv6 地址。
- 修复二进制在线更新的前端资源目录选择,使更新与回滚使用服务实际提供的静态资源目录。
- OpenAI 额度更新时同步明确的套餐变化,避免管理端长期保留旧套餐信息。
- 手动禁用的账号仍可进行管理员连接测试,测试不会重新启用账号参与普通请求调度。
- 改善下游 SDK 和浏览器请求与 Codex 协议的兼容性,统一会话头别名,过滤不适用的请求头及顶层参数,并保留业务扩展和嵌套工具定义。
体验优化
- 账号与用量表格支持选择显示列、恢复默认配置,并在当前浏览器保存偏好。
- 优化添加账号时的服务商选择及额度预测提示,改善窄屏和键盘操作体验。
升级说明
- 从 v3.8.0 升级会自动执行
0010_account_auto_freeze.sql和0011_proxy_request_location.sql;v3.8.0 已发布的迁移文件保持不变。升级前请备份数据库。 - YAML 配置中的未知或已移除字段会被忽略,并在启动控制台提示。旧的
openai.wire_profile.location可以保留但不再生效;如需继续覆盖请求位置,请将值填入管理端「系统设置 → 运行设置 → 请求时区与位置」后启用。旧值不会自动导入,全局位置覆盖默认关闭;缺少必填字段或已知字段不合法仍会阻止启动。 - 自行调用
POST /api/admin/settings/update的客户端需同步完整请求结构,补齐请求位置和账号自动冻结相关字段;该接口仍按完整配置替换,字段约束见 API 文档。
Warning
跨大版本升级: 不支持跨大版本在线升级。请使用全新的 .runtime/ 数据目录重新部署,再重新导入或重新授权服务商账号,并重新导入客户端密钥。详见升级说明。
📥 安装
Docker 部署:
# 从 GitHub 容器镜像仓库拉取
docker pull ghcr.io/zyycn/codex-proxy-rs:3.9.0请从本版本附件下载 compose.yaml 和 config.example.yaml。Compose 默认固定到本版本镜像;升级前请对比模板与已有配置。
手动下载:
请从下方附件中下载适合当前平台的归档包。
发布归档提供 GitHub 构建产物证明。Docker 镜像附带软件物料清单(SBOM)、构建来源证明和 cosign 无密钥签名。
📚 文档
What's Changed
- feat(accounts): support upstream API key accounts by @zyycn in #107
- fix(proxy): support IPv6 exit probing by @zyycn in #110
- fix(update): reuse the served asset directory by @zyycn in #111
- feat(ui): add persistent table column settings by @zyycn in #121
- feat(deploy): add one-click installer by @yertYang in #116
- fix(openai): sync account plans with quota updates by @zyycn in #112
- fix(accounts): run bulk imports as background tasks by @zyycn in #119
- fix(providers): keep disabled accounts reachable for admin connection tests by @2han9wen71an in #122
- fix(openai): align downstream requests with Codex protocol by @Clarence12138 in #117
- feat(accounts): 增加容量冷却与恢复探测 by @2han9wen71an in #126
- feat(settings): configure global and per-proxy request location by @Clarence12138 in #123
New Contributors
- @yertYang made their first contribution in #116
- @Clarence12138 made their first contribution in #117
Full Changelog: v3.8.0...v3.9.0