模型 ID 是入口相关的
实例
同一个 GPT-5.6-Sol,同一台机器上三家清单的写法不同:
| 入口 | 清单里的 ID |
|---|---|
| Codex | gpt-5.6-sol(裸名) |
| pi / Claude Code | chatgpt/gpt-5.6-sol(带 provider 前缀) |
而用户的中转网关真实模型 ID 是裸名。于是出现:
- 原生 Codex 直连中转 → 裸名可用(Codex 自己会把短名解析成完整路由)
- 平台网关(
cindy_gateway一类本地转发)→ 模型表只认它自己清单里的写法,传另一种就 400/404
结论
- 模型名的合法性由末端网关的模型表决定,不由「你在别处能跑」决定。前缀是网关用来路由到某个上游 provider 的,不是装饰。
- 因此「直连中转可用」不能推出「平台的网关链路可用」——两条链路的模型表是两份。
- 排查顺序:先拿到该入口的模型清单(或清单来源),确认完整 ID;再看真正发出去的那次请求里的
model字段是什么。 - 这也解释了为什么「以前能用、最近坏了」常常不是模型坏了,而是入口换了(换了 agent、换了会话来源、换了网关)。
相关
- 请求别名不等于实际模型ID —— 别名是请求侧的名字,实际 ID 以响应为准
- 模型可见性按入口分批 —— 同一账号不同入口的模型可用性本就不同步
- 能力被环境差异静默改变 —— 名字一样、路径不同的同族现象
- Agent模型接入与额度机制