docs(release): prepare v3.7.1 notes

Document configurable request location, WebSocket SSE error delivery, relaxed Compose resource limits, and the required image/config version alignment.

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Zyy
2026-09-15 11:32:20 +08:00
co-authored by Codex
parent 3e3616863d
commit 4f39bfc5a8
+7 -15
View File
@@ -1,24 +1,16 @@
# v3.7.0
# v3.7.1
## 新增功能
- 账号「个人信息」按需展示 OpenAI 订阅周期、续费状态与计费信息,并汇聚个人资料、累计统计和活动洞察。资料或订阅单项查询失败时,仍保留另一项可用结果。
- 账号列表将凭据有效期明确标为「令牌过期」,与订阅周期区分;订阅仅在打开个人信息或手动刷新时查询,不影响额度刷新和账号调度。
- OpenAI 请求地区可通过 `openai.wire_profile.location` 统一配置国家、地区、城市和 IANA 时区,并同时用于 Web Search 地区与结构化环境日期。省略该配置时继续使用现有默认地区。
## 问题修复
- 修复上游仅返回可用重置次数、未提供卡片明细时无法使用额度重置的问题。现在可确认使用一次重置,由上游选择卡片;结果未知时重试继续复用原幂等标识。
- OpenAI WebSocket 遇到额度耗尽、限流等账号级拒绝时,在允许安全重放的前提下交由调度换号,避免因长 `Retry-After` 在同账号等待。
- OpenAI 明确返回模型容量不足或过载时,在尚未交付输出且允许安全重放的前提下,先进行最多 3 次同账号退避重试,再尝试换号。退避受总尝试次数和请求截止时间约束,容量不足不扣账号健康分、不触发全局熔断。
- OpenAI 用量档位与本地费用估算统一采用最终发送给上游的 `service_tier`,避免请求为 `priority`、响应回显 `default` 时显示及估算为标准档。客户端收到的原始响应保持不变。
## 协议与兼容性
- 调整 HTTP / WebSocket 的 TLS 依赖与 WebSocket 握手头部顺序,对齐项目采用的 Codex 客户端传输实现。
- Codex 自动生成的结构化环境上下文使用 `America/New_York` 时区及对应当前日期,网页搜索位置统一为美国 Ohio / Piketon;用户编写的正文和绝对时间戳保持原值。
- 修复 OpenAI WebSocket 上游在流中返回 `error` 事件时,SSE 客户端只能看到无原因断流的问题。网关现在将其转换为 `response.failed`,保留上游的错误类型、代码、消息和响应 ID,便于客户端识别并决定是否重试。
- 移除默认 Compose 部署中固定的 2 CPU 与 1 GiB 容器资源限制,允许服务在 CPU 少于 2 核的主机上启动;实际资源上限由部署环境决定。
## 升级说明
- 从 v3.6.1 升级无需新增配置或数据库迁移,前后端应同步更新。
- 管理员接口 `GET /api/admin/accounts/profile-statistics` 替换为 `GET /api/admin/accounts/personal-info`,响应汇聚为 `profile`、`profileError` 和 `subscription`。直接调用旧接口的脚本或自定义管理端需同步调整。
- 档位与费用估算口径仅作用于新记录,不回填历史档位或重算已存储费用;Fast 表示发送档位,不代表已确认上游实际加速,本地估算不能代替官方账单。
- 从 v3.7.0 升级无需数据库迁移,已有配置可以继续使用,`openai.wire_profile.location` 为可选项。
- 使用新版 `deploy/config.example.yaml` 中的 `openai.wire_profile.location` 时,需要同步升级到 v3.7.1 镜像;v3.7.0 镜像会因严格配置校验拒绝该字段。
- 需要解除默认 CPU 和内存限制的部署应同步更新 `deploy/compose.yaml`。自行设置的宿主机或容器资源限制仍然生效。