chore(release): v3.41.0

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Zyy
2026-11-05 12:18:54 +08:00
co-authored by Codex
parent a9a77f5f9d
commit 9039cef3d8
2 changed files with 18 additions and 18 deletions
+17 -17
View File
@@ -1,27 +1,27 @@
# v3.40.0
# v3.41.0
## 升级事项
- **使用 CPR 互联的部署需协调升级两端。** 新版只接受 CPR Link v3 快照。上游和下游均升级后,在下游刷新互联账号以重新识别。第三方互联实现也需适配 `schema_version: 3`。[CPR 互联协议](https://github.com/zyycn/codex-proxy-rs/blob/v3.40.0/docs/api.md#cpr-互联只读协议)
- 从 v3.39.1 升级会执行数据库迁移 `0038`。此后删除 Client Key 会保留其费用明细和预算窗口,删除前已准入的请求仍按原 Key 结算,同名新 Key 单独记账。升级前随 Key 删除的账本无法恢复
- 从 v3.40.0 升级没有新增数据库迁移
- 管理 API 的账号模型用量会返回仅有失败记录的模型;没有成功用量时,`lastUsedAt` 为 `null`,没有有效健康样本时,`successRate` 为 `null`
- 更改或清除 Key 的安装 ID 覆盖,若生效 ID 随之变化,已有 WebSocket 续接需重新发送完整上下文
## 互联与账号管理
## 账号、代理与密钥
- 互联账号可查看上游密钥的并发和每分钟请求上限(RPM)。账号并发留空时,调度优先采用有效快照中的正数并发上限,其次使用本机默认值。RPM 由上游执行
- 已识别的互联账号同步失败后会显示原因,可通过刷新额度重试。调整了上游账号池、套餐和额度的展示,区分不限额与观测过期
- 账号模型白名单新增手动清理,可选择移除当前目录未返回的模型,保存后生效。刷新目录会保留已选模型。OAuth 授权结果改为通知提示
- 修复恢复探测失败却提前解冻账号的问题。xAI 账号刷新凭据或延后重试时保留已有额度快照,缺少上游额度时可查看过去 24 小时的本地用量
- 修复账号展开后的模型成功率始终显示 100% 的问题。成功率按成功、服务失败和未完成请求计算,排除取消、调用方 4xx 和已恢复的中间记录;仅失败时显示 0%,无有效样本时显示 `—`。调用数、Token、费用和最近使用时间仍只统计完整交付的成功用量
- 账号创建、编辑和批量编辑支持测试直连或已保存代理的出口,显示耗时及 IPv4 / IPv6。禁用代理时按实际直连出口测试,批量“保持当前”时禁测;出口测试不保存账号设置,也不验证账号权限或额度
- 代理的“关联账号”弹窗支持搜索、跨页多选并批量分配账号,一次最多 1000 个。分配会替换所选账号的原代理,保留凭据、分组与调度设置
- 客户端 Key 可单独配置或生成 OpenAI 安装 ID,同时继承全局 UA。留空时沿用账号安装身份;固定后,换账号仍使用该 ID
- 上游明确关闭共享或不支持 CPR 互联时,账号恢复显示为普通 API Key;临时失败保留已有识别结果。可通过“刷新额度”重新识别互联
## Chat Completions 与 Responses
- Chat 支持具名工具结果、带文件名的内嵌 PDF,以及通过 `web_search_options` 请求联网搜索。普通搜索响应返回结构化 URL 引用,流式响应保留正文链接。搜索与函数工具需分开请求
- Chat 输出长度上限和 Responses 的 `max_output_tokens` 会传递给 OpenAI 上游,由模型校验并执行
- 大请求因帧大小转为 HTTP/SSE 且需要完整重放时,网关在成功响应后正常关闭空闲 WebSocket,客户端可在新连接上直接发送完整历史。已排队请求仍按序处理,启用 WebSocket 帧中间件时保留连接
- Responses 明确切换上游账号时,清理客户端追踪头、`x-openai-fedramp` 及其元数据副本。同账号请求保留原值
- 扩展 Chat 的 function/custom 工具调用与结果往返、文件和音频输入,以及 Responses 原生参数映射。同语义字段交给 Provider 和上游判断;`stop`、`seed`、penalties 等无对应 Responses 控制语义的参数接受后忽略,不保证生效。无法保留输入、客户端动作或续接语义的请求仍明确拒绝
- Chat 的 JSON/SSE 响应保留公开推理、图片结果、logprobs、结构化引用和实际 Token 明细。推理与图片字段属于网关扩展,需要客户端支持;推理及压缩密文不作为可读正文返回,搜索与其他工具仍需分开请求
- 修复完整历史请求因缺少本地归属记录而丢失 `x-codex-turn-state` 的问题,覆盖 HTTP 和 WebSocket。明确换号或可信续接状态表明已换轮时仍清除该值,不改变 response ID 的续接授权边界
## 用量、插件与运维
## 诊断与管理界面
- 插件 SDK 支持按固定快照分批扫描历史请求,并按模型、Key、Key 与模型组合或历史路由分组读取完整统计。模型目录优先采用当前账号范围内适配器声明的模型画像,同时保留上游原生 Codex 模型对象
- 请求记录可查看 WebSocket 关闭码、续接失败原因与后续恢复状态,详情可查看已记录的上游错误。修复 PostgreSQL 16 上的用量查询兼容问题
- 新增 `GET /readyz` 供负载均衡器或服务发现判断是否接入流量。升级后先确认返回 204,再切换流量探针。继续用 `/healthz` 监控日志和关键后台任务。镜像和 Compose 默认仍检查 `/healthz`
- 修复 Docker Desktop 上解压只读官方插件文件可能导致在线更新失败的问题。主题编辑器先显示预览画布,再加载预览内容
- 数据面 HTTP 的鉴权、解码、未知路由、方法错误及执行前中间件失败记录为运维错误,可按入口 ID 查询,不伪造模型请求或用量
- 显式开启 `request_dump` 后,按实际消费过程捕获入口请求与响应的原始头和正文,标注未消费或读取失败的不完整转储。该开关默认关闭,转储包含凭据与用户内容,仅用于受控排障
- 调整模型访问、插件安装和错误保护表单的校验时机,避免切换模式或新增未填完的配置时立即报错。修复移动端登录表单居中,精简重复提示与错误文案
+1 -1
View File
@@ -1 +1 @@
version: "3.40.0"
version: "3.41.0"