Codex 走中转后模型列表消失了?教你排查与修复 "自定义" 显示异常
最近在折腾 AI 接口中转服务的时候,发现一个挺让人头疼的小问题:明明后端配置好了各种模型,前端客户端(比如 Codex)一旦走了中转通道,模型列表直接“隐身”了,统统显示为“自定义”或者“Custom”字段。这不仅影响美观,更让不知道具体调用了哪个大模型,使用体验大打折扣。
很多刚踩坑的朋友可能第一反应是 API Key 没对或者服务商接口挂了,但其实,这类问题往往出在“中转层”与“客户端”的沟通机制上。今天我们就把这个问题揉碎了讲讲,到底是哪里出了错,以及我们该怎么一步步把它修好。
一、为什么会出现“自定义”?
在默认情况下,大多数 AI 客户端(包括 Codex)在调用 OpenAI 兼容接口时,会调用 /v1/models 接口来获取模型列表。如果这个请求能顺利返回数据,客户端就会解析 JSON 里的 id 字段,并把它们一 一展示在 UI 上。
然而,当你加了一个“中转”节点(比如自己搭建的 One-API、New-API 或者其他反代服务)后,数据流向变成了:客户端 -> 中转服务 -> 原厂 API。
这时显示“自定义”通常只有两种核心原因:
- 客户端拿不到模型列表: 中转服务没有正确转发
/v1/models的请求,或者是中转服务本身干脆就没有配置模型列表,导致客户端收不到有效数据,只能回退显示“自定义”让用户手动输入。 - 模型名称映射(Mapping)丢失: 中转层做了渠道名称转换,但传递给客户端的数据结构变了,导致前端解析不到原本的模型 ID。
二、保姆级排查与修复指南
遇到这种情况,不要急着换服务商,按照下面的步骤,绝大多数问题都能定位到。
步骤 1:检查中转服务的渠道配置
这是最常见的原因。如果你使用的是市面上常见的开源中转面板(如 One-API),请登录你的管理后台,检查“渠道”设置。
- 模型映射机制: 很多时候,上游 API(比如某些二线厂商)要求的模型名称和 OpenAI 原生名称不一致。你需要在渠道配置里填上“自定义模型映射”。如果这里留空或者填错了,中转服务可能就不知道该返回什么模型给客户端。
- 启用模型列表获取: 确保“渠道”里的开关允许获取模型列表。有些厂商的 API 不支持列举模型,你在中转面板里需要手动勾选“测试所有模型”或者手动填入支持的模型名称,否则中转层会认为该渠道无可用模型。
步骤 2:验证中转接口的直连性
为了确认问题是在客户端还是服务端,建议用 Postman 或者 curl 命令直接测试一下你的中转地址。
假设你的中转地址是 https://api.yourdomain.com,请执行:
curl https://api.yourdomain.com/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"
- 情况 A: 返回了包含 `data: [{

评论已关闭