chore(release): v3.9.0

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Zyy
2026-09-17 04:08:44 +08:00
co-authored by Codex
parent 0b3ebc23f5
commit 42c2b249c2
2 changed files with 17 additions and 14 deletions
+16 -13
View File
@@ -1,25 +1,28 @@
# v3.8.0
# v3.9.0
## 新增功能
- 账号支持模型白名单与黑名单,可为不同账号分配不同模型;支持单独编辑、批量设置和 CPR 导入导出。限制按模型映射后的上游 ID 精确匹配,并复用现有调度策略、重试与安全换号逻辑。
- 新增 API Key 用量页。持有者可在登录页切换为密钥登录,查看自己的请求量、Token 与费用、趋势、请求日志、额度和健康时间线;只能访问当前密钥的数据。
- 新增 Key 与账号并发排队设置,可分别配置最大等待数量和等待超时。账号满载时先尝试其他可用账号;队列满或等待超时会返回明确错误,取消请求会释放等待位置。
- 账号支持备注,方便记录用途和管理信息;凭据刷新与重新授权保留已有备注。
- 支持上游 API Key 账号,可配置服务地址与传输方式,使用 Responses、模型列表、连接测试和本地用量统计;支持手动添加及兼容格式的批量导入。这类账号不提供 ChatGPT 订阅额度、OAuth 刷新、Images、独立 Search 和 Lite/compact 能力。
- 批量导入改为后台任务,提供逐项进度、结果和停止待处理任务的入口;关闭页面后任务继续执行。任务队列保存在内存中,重启服务前请等待导入结束,已成功导入的账号不受影响。
- 新增可选的账号容量冷却:容量类错误达到阈值后暂时停止调度,支持恢复探测与自适应并发下调;管理端展示冻结原因和恢复时间。自动冻结默认关闭,按需在运行设置中启用。
- 支持在管理端设置全局请求位置与时区,也可为出站代理单独配置。代理自定义值优先于全局设置,用于 OpenAI/Codex Responses 的环境日期、时区和 Web Search 位置,不改变实际出口 IP。
- 新增 Linux amd64/arm64 一键安装脚本,使用 Docker Compose 部署并生成初始配置。重复执行保留现有配置,已有实例升级仍按部署指南操作。
## 问题修复
- 修复 Codex 使用 WebSocket 时遇到部分上游错误后长时间停留在“正在思考”的问题。将客户端无法识别的裸错误帧转换为 `response.failed`,让客户端及时结束等待并处理失败。
- 修复 API 密钥列表中长名称与标签被直接裁切的问题,超出列宽时显示省略号,悬停可查看完整内容。
- 修复 IPv6 出口的代理探测,识别本次连接实际使用的 IPv4 或 IPv6 地址。
- 修复二进制在线更新的前端资源目录选择,使更新与回滚使用服务实际提供的静态资源目录。
- OpenAI 额度更新时同步明确的套餐变化,避免管理端长期保留旧套餐信息。
- 手动禁用的账号仍可进行管理员连接测试,测试不会重新启用账号参与普通请求调度。
- 改善下游 SDK 和浏览器请求与 Codex 协议的兼容性,统一会话头别名,过滤不适用的请求头及顶层参数,并保留业务扩展和嵌套工具定义。
## 体验优化
- 模型限制使用分段选择器和模型勾选卡片,支持搜索模型、输入 ID 后回车添加,以及统一的空状态展示。
- 批量编辑默认展开全部账号设置,只保存实际修改的字段,保留各账号未修改的并发、权重、分组和代理配置。
- 账号与用量表格支持选择显示列、恢复默认配置,并在当前浏览器保存偏好。
- 优化添加账号时的服务商选择及额度预测提示,改善窄屏和键盘操作体验。
## 升级说明
- 从 v3.7.2 升级时,服务启动会自动执行 `0007_account_notes.sql`、`0008_concurrency_queues.sql` 和 `0009_account_model_access.sql`。升级前备份数据库;已有账号默认不限制模型,排队默认关闭,需在运行设置中按需启用。
- 浏览器认证改用 `/api/auth/*` 和 `cpr_session`,旧登录接口与 Cookie 不再接受,升级后需要重新登录。调用旧认证接口的自建前端或脚本需同步调整;`/v1/*` 的 Bearer Key 和管理接口的 `x-api-key` 鉴权保持原有用法。
- 新增可选配置 `client.session_ttl_minutes`,控制密钥登录的固定会话有效期,默认 1440 分钟。自行调用运行设置更新接口时,需增加 `maxWaitingPerKey`、`maxWaitingPerAccount` 和 `concurrencyWaitTimeoutSeconds` 三个字段。
- 账号模型限制适用于 Responses 文本请求及模型目录;Images、独立 Search 和管理员连接测试保持原有行为。白名单与黑名单不会扩大账号本身的上游模型权限。
- 从 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 文档。
+1 -1
View File
@@ -1 +1 @@
version: "3.8.0"
version: "3.9.0"