自定义模型添加newapi中转地址调用报错

Issue Description

使用自定义 openai-responses 提供商,经 New-API 代理接入 Codex 后端时,遇到以下错误:

400 System messages are not allowed

检查 Qoder App 0.4.1 代码发现,已有的 Codex 兼容处理仅在请求 URL 完全匹配官方直连地址时启用,未覆盖通过代理接入相同后端的场景。

Steps to Reproduce

  1. 添加自定义提供商,协议选择 openai-responses。
  2. Base URL 配置为代理地址,例如 https://<proxy-host>/v1。
  3. 代理将请求转发到 https://chatgpt.com/backend-api/codex/responses,不额外转换消息角色。
  4. 发送消息,检查出站请求及响应。

Expected Behavior

通过代理接入 Codex 后端时,也应能启用系统消息兼容处理,而不是仅依赖官方 URL 的完全匹配。

建议提供兼容选项,或在 Responses 专用序列化中支持将 system 映射为 developer,同时保留消息内容及其他协议的原有行为。

Actual Behavior

客户端仅针对以下直连地址,将系统消息提取到顶层 instructions:

https://chatgpt.com/backend-api/codex/responses

使用代理地址时,不会触发该处理,input 中仍包含 role: "system",在拒绝该角色的后端上会导致请求失败。

本地通过以下最小修改完成了兼容补丁:

- role: message.role
+ role: message.role === "system" ? "developer" : message.role

验证说明: 原始 400 错误有历史抓包;0.4.1 仍发送 system 已通过本地代码及离线请求构造确认。补丁通过 30 项离线测试,但未对 0.4.1 进行新的服务端重放。

Screenshots / Screen Recordings

暂无截图,可提供脱敏后的历史抓包、相关代码片段及离线测试记录。

Operating System

Windows(x64)

Current Qoder Version (Menu → About Qoder → Copy)

Qoder App 0.4.1