Codex App不显示GPT-5.6模型的修复方法
原标题:解决codex app 不显示gpt-5.6(windows api版本)
速览
用户通过API key登录Codex Desktop App,发现模型下拉菜单不显示GPT-5.6系列模型,但CLI可查。根因是前端读取Statsig动态配置中的旧模型白名单,过滤了新版模型。修复方案包括:终止相关进程、备份LevelDB目录、精确修改缓存中dynamic config 107580212,添加gpt-5.6-sol等模型,并设置未来时间戳防止被覆盖。最后重启App即可显示新模型。
AI 深度解读
背景
Linux DO 论坛上一名用户遇到一个问题:在使用 Codex Desktop App 时(仅通过 API key / custom provider 登录,没有 ChatGPT 账号),模型下拉菜单中不显示 gpt-5.6-sol、gpt-5.6-terra、gpt-5.6-luna 等新模型,虽然通过 CLI 命令 codex debug models 可以看到这些模型。用户已定位根因:Codex App 前端读取 Statsig 的 dynamic config(编号 107580212),其中 available_models 白名单只包含旧模型(GPT-5.5、GPT-5.4、GPT-5.4 Mini、GPT-5.2),而当 use_hidden_models=true 时,前端过滤逻辑只显示白名单中的模型,导致新模型被过滤。帖子提供了详细的修复步骤,包括杀进程、备份 LevelDB、修改缓存、重启 App,并给出了备用方案(直接修改 App 前端逻辑)。共有 3 位参与者。
核心内容
帖子提供了两个层次的修复方案:常规缓存修复和更稳健的本地前端过滤修改。
常规缓存修复步骤:
- 仅终止与 Codex App 相关的进程:
ChatGPT.exe(命令行包含OpenAI.Codex_)以及内置的codex.exe(命令行包含OpenAI.Codex_...\resources\codex.exe)。 - 备份目录:
C:\Users\epean\AppData\Local\Packages\OpenAI.Codex_2p2nqsd0c76g0\LocalCache\Roaming\Codex\web\Codex\Default\Local Storage\leveldb - 使用 LevelDB 工具精确修改
statsig.cached.evaluations.*中 dynamic config107580212的内容:- 在
available_models数组中增加gpt-5.6-sol、gpt-5.6-terra、gpt-5.6-luna。 - 将
default_model改为gpt-5.6-sol。 - 将
use_hidden_models改为false。 - 同时将内层 Statsig response 中的
time字段改为未来时间戳,防止 App 启动后被远端旧白名单覆盖。
- 在
- 重启 Codex App:执行命令
Start-Process explorer.exe 'shell:AppsFolder\OpenAI.Codex_2p2nqsd0c76g0!App'。 - 验证模型下拉菜单应显示
GPT-5.6-Sol、GPT-5.6-Terra、GPT-5.6-Luna。
备用方案(如果缓存修复仍然被覆盖):
- 解包 Codex App 的前端
app.asar文件(提取包内容)。 - 找到
model-list-filter或model-queries相关逻辑,修改为:- 让
available_models默认补入gpt-5.6-sol、gpt-5.6-terra、gpt-5.6-luna,或者 - 在
use_hidden_models=true时,不要过滤掉 provider 返回且visibility=list的模型。
- 让
- 修改前必须备份原始的
app.asar。
关键要点
- 问题根源:Statsig dynamic config 白名单
available_models不包含新模型,且use_hidden_models=true导致前端严格按白名单过滤。 - 修复的核心思路是修改本地 LevelDB 缓存中 Statsig 的配置数据,绕过远端配置的下发。
- 需要精确操作 LevelDB,修改
statsig.cached.evaluations.*中的三个字段:available_models、default_model、use_hidden_models,以及修改time时间戳防覆盖。 - 必须仅杀 Codex App 相关进程(
ChatGPT.exe和codex.exe),避免其他进程受影响。 - 备份目录和原始文件(
leveldb目录、app.asar)是必要的前置步骤,防止操作失误导致数据丢失。 - 备用方案直接修改前端源码(解包
app.asar后修改模型过滤逻辑),比缓存修复更持久,但技术门槛更高。 - 避免删除或覆盖
auth.json、清空整个 App 数据目录,也不要求回显 token/API key,保障账户安全。
意义与影响
- 对个人用户的实用价值:提供了一个具体、可操作的本地修复方法,让使用 API key 登录 Codex App 的用户能立即看到并使用最新的 GPT-5.6 系列模型,无需等待官方推送或更换工具。
- 对社区的技术启发:展示了如何通过修改 Chromium LocalStorage 的 LevelDB 缓存来绕过前端动态配置的限制,这种思路可推广到其他依赖 Statsig 或类似远程配置的 Electron/Chromium 应用中。
- 强调了安全与谨慎:明确要求备份数据和目录、避免删除关键文件、不暴露敏感信息,体现了社区分享中负责任的实践态度。
- 长远影响:备用方案中的前端源码修改方法,让有能力的用户能从底层解决此类问题,但这种修改在 App 更新后可能失效,提示用户需要动态追踪版本变化。该方案也侧面反映了 Codex App 的前端过滤逻辑不够灵活——当
use_hidden_models=true时不应直接隐藏 provider 返回且可见性为list的模型。如果能推动官方修复这一逻辑,将惠及所有 API 用户。
查看原文 →linux.do
