Codex Desktop 模型菜单排查

Codex Desktop 模型菜单排查

先区分模型权限、接口可用性与本地菜单显示问题。只读检查不能确认原因时,不修改应用资源,也不套用其他版本的补丁。

适用范围:Codex Desktop 本地模型菜单排查 内容核对:2026-10-10 客户端实测:本轮未验证当前版本菜单与目录加载

风险边界

先做只读检查

修改菜单不会增加账号或 API 密钥的模型权限,也不能修复后端未开放的模型。

修改 app.asar 可能触发代码签名或资源完整性问题,造成 Codex Desktop 无法启动。应用更新也可能覆盖修改;本页不会提供通用修改命令。
/v1/models没有目标模型先查 API 密钥分组、模型权限、余额或订阅;不要改本地应用。
/v1/models有模型,但 model/list 没有检查当前版本的官方目录配置、model_catalog_json、隐藏项和分页;先不修改应用资源。
两边都有但菜单仍没有才可能是前端过滤;保留证据,优先等待官方更新或当前版本的可验证方案。

OpenAI 官方说明:model/list 默认只返回选择器可见模型;需要完整列表时设置 includeHidden: true。查看 App Server 文档 →

展开详细命令、验证步骤与恢复路径
第一步

核对网关模型列表

用环境变量传 API 密钥,不要把真实 API 密钥写进文档、截图、聊天窗口或命令输出。

测试 1A1API /v1/models
BASE_URL="https://1a1api.top"
read -s OPENAI_API_KEY
export OPENAI_API_KEY

curl -fsS "$BASE_URL/v1/models" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  | jq -r '.data[]?.id // .models[]?.id // empty'
能看到模型继续核对客户端目录配置和 App Server 的 model/list。网关列表与本地菜单是不同来源,列表不同不能单独证明前端过滤。
看不到模型先检查 API 密钥所属分组、模型权限、余额或订阅。不要先改 app.asar。
没有 jq可以先直接看原始 JSON,或安装 jq 后再筛选。
第二步

检查 model_catalog_json 模型目录

当前 Codex 配置参考提供 model_catalog_json,用于指定启动时读取的 JSON 模型目录。先确认自己的客户端版本支持该字段,再检查实际生效的配置与目录文件。

已经设置目录路径在本机检查文件存在、可读、符合当前版本的目录格式,并确认目标模型 ID、能力字段和推理选项。只输出路径、是否可读和脱敏结论,不打印完整用户配置。
没有设置目录路径先查当前版本的官方配置说明。不要把 /v1/models 原始返回直接当作目录文件,也不要照搬其他版本的 JSON 模板。
调整前与调整后保留现有配置与目录备份;选择兼容方案后重新启动 App,再核对完整 model/list。目录条目不会增加 API 密钥权限,也不代表后端支持其中所有能力。

字段和目录要求以 Codex 配置参考及当前版本为准。本页没有执行目录修改或当前客户端验证。

第三步

核对 App Server 模型目录

model/list 是 App Server 的 JSON-RPC 方法,不是固定的 HTTP 页面。请在完成初始化的对应客户端或调试工具中发送请求,并包含 includeHidden: true。响应有 nextCursor 时继续使用 cursor 读取后续页,直到为空;只检查第一页可能漏掉模型。

model/list 请求参数
{
  "method": "model/list",
  "id": 6,
  "params": {
    "limit": 100,
    "includeHidden": true
  }
}
默认的 model/list 只返回选择器可见模型。核对隐藏项、全部分页与当前目录配置后,模型存在但菜单不显示,才继续检查当前会话与界面选择器。参见 Codex App Server 模型列表说明。
最后手段

确认问题后再评估修改

不要让自动化助手打印、展示或改写真实 API 密钥;如果检查结果不能证明只是前端过滤,应立即停止。

给 Codex 的高级实验任务
先更新 Codex Desktop,并只读检查:
1. 当前 API 密钥的 1A1API /v1/models 是否返回目标模型;
2. 当前版本是否支持 model_catalog_json,实际生效的目录配置是否包含目标模型;
3. 已初始化的 App Server model/list(includeHidden: true,读取全部分页)是否包含目标模型;
4. 当前会话、目录与菜单差异是否有可验证原因。

只输出检查证据与结论,不修改 Codex Desktop、app.asar、默认模型或 API 密钥。如果只是菜单过滤,请优先寻找当前版本的官方配置或更新方案;没有针对当前版本的可验证方案时停止,不要猜测补丁位置。
高级实验

应用资源修改的风险

应用资源、压缩代码、签名检查和菜单实现都可能随版本变化。静态搜索替换无法证明适用于当前安装版本,也无法保证应用仍能启动。

目标模型不能写死只认当前 API 密钥的 /v1/models 与 model/list 实际交集,不从旧教程复制固定名单。
不要自动改默认模型显示某个模型与把它设为默认是两件事;默认选择应由用户在可用模型中决定。
不要编辑的内容API 密钥、用户配置、账号状态、签名凭据和 app.asar.unpacked。
可接受的恢复方式优先使用官方更新或重新安装当前正式版,恢复应用原始签名和资源。
本页不提供可直接复制的修改命令。无法针对“当前 Codex Desktop 版本 + 当前平台”验证资源结构、签名与回滚时,应停在诊断结论,不进入修改。
验证

更新后的验证步骤

01

重启 Codex Desktop

完全退出后重新打开;启动异常时优先恢复官方正式版。

02

核对两份列表中的目标模型

菜单只需核对你在 /v1/models 和完整 model/list 中共同看到的目标模型。

03

手动选择模型

不要自动覆盖默认模型;从当前 API 密钥确实可用的模型中选择。

04

发送最小测试

发一句短测试,再到 调用日志 看模型、费用、耗时和状态。

恢复

恢复官方应用

如果你此前通过其他教程改过应用文件,并出现启动失败、菜单空白或资源错误,优先完全退出应用并重新安装当前官方正式版。

有同版本完整备份只在确认备份来自同一应用版本和平台时使用;版本不一致时不要混合资源。
没有可靠备份从官方渠道重新安装当前正式版,再重新检查模型列表。
应用能启动但菜单仍缺失保留诊断结果,等待官方更新或针对当前版本的可验证方案。
不要为了恢复菜单反复修改应用资源。每次更新后都应重新检查后端和 model/list,不能假设旧补丁仍适用。