提交前我已确认
我的想法
希望在 Codex 上游 WebSocket 设置里增加一个开关:隐藏上游错误并静默重试。
现在 WebSocket 模式下,如果上游返回错误,客户端会直接看到类似:
- The usage limit has been reached
- websocket read error
- i/o timeout
- unexpected EOF
- message too big
- 429 / 5xx
我希望这个开关开启后:
- WebSocket 上游出现 usage_limit / 429 / read error / timeout / EOF 等错误时,不要立刻通过 SSE
response.failed 返回给客户端。
- codex2api 在服务端自动切换账号、重新创建 WebSocket 连接、重新请求。
- 客户端连接保持住,看起来就像模型还在正常思考/等待。
- 如果重试成功,用户端无感,继续正常返回内容。
- 如果所有账号/重试都失败,才返回统一提示,例如:
上游服务临时繁忙,请稍后重试。
- 原始上游错误仍然记录在后台日志/管理端,方便排查。
建议增加设置项:
- WebSocket 隐藏上游错误:开启/关闭
- WebSocket 上游错误静默重试:开启/关闭
- WebSocket 最大静默重试次数或时间:可配置
我想解决什么问题 / 用在什么场景?(可选)
我的使用场景是:开启 Codex 上游 WebSocket 后,codex2api 后面还会接 NewAPI 给终端用户使用。
现在上游 WebSocket 一旦出现 usage_limit、429、read error、timeout、EOF 等错误,终端用户会直接看到这些上游原始错误。用户看不懂,也容易误以为平台账号没额度或者服务坏了。
我希望这些 WebSocket 上游异常由 codex2api 在服务端自动处理:
- 自动换账号
- 自动重建 WebSocket
- 自动重试
- 客户端保持等待状态
- 后台日志保留完整错误
这样上游短暂异常时,用户端可以无感;只有确实全部重试失败时,才显示统一的友好提示。
对我来说有多重要?(随手选)
强烈想要,目前是个明显痛点
提交前我已确认
我的想法
希望在 Codex 上游 WebSocket 设置里增加一个开关:隐藏上游错误并静默重试。
现在 WebSocket 模式下,如果上游返回错误,客户端会直接看到类似:
我希望这个开关开启后:
response.failed返回给客户端。上游服务临时繁忙,请稍后重试。建议增加设置项:
我想解决什么问题 / 用在什么场景?(可选)
我的使用场景是:开启 Codex 上游 WebSocket 后,codex2api 后面还会接 NewAPI 给终端用户使用。
现在上游 WebSocket 一旦出现 usage_limit、429、read error、timeout、EOF 等错误,终端用户会直接看到这些上游原始错误。用户看不懂,也容易误以为平台账号没额度或者服务坏了。
我希望这些 WebSocket 上游异常由 codex2api 在服务端自动处理:
这样上游短暂异常时,用户端可以无感;只有确实全部重试失败时,才显示统一的友好提示。
对我来说有多重要?(随手选)
强烈想要,目前是个明显痛点