Codex 桌面端自定义模型列表为空 — 修复记录

日期 : 2026-06-30

问题 : Codex 桌面端首次启动时英文界面、自定义模型列表正常显示;退出再进入后变为中文界面,自定义模型位置为空。切换回英文也无法恢复。CLI /model 正常工作,但 UI 下拉菜单无模型列表。重装 Codex 无效。

根因分析 : Codex 桌面端 Electron 的 Chromium 持久化状态在语言切换时发生损坏,导致模型选择器的 UI 派生状态无法正确渲染。Chromium 用户数据目录(AppData\Roaming\Codex\web)在卸载重装时不会被删除,因此重装无效。


修改内容

1. C:\Users\admin\.codex\config.toml

改动 : model_catalog_json 从相对路径改为绝对路径

toml 复制代码
# 修改前
model_catalog_json = "cc-switch-model-catalog.json"

# 修改后
model_catalog_json = "C:\\Users\\admin\\.codex\\cc-switch-model-catalog.json"

原因: Electron 应用的 CWD(当前工作目录)与 CLI 不同,相对路径可能导致桌面端无法正确定位模型目录文件。


2. C:\Users\admin\.codex\.codex-global-state.json --- 已删除

改动 : 完全删除此文件(及其 .bak 备份)

原因 : 此文件存储 Codex 桌面端 Electron 的持久化原子状态(electron-persisted-atom-state)。其中缓存的 UI 状态(语言、模型列表派生状态等)在语言切换时已损坏。删除后桌面端会在下次启动时从配置文件重新推导所有 UI 状态。


3. C:\Users\admin\AppData\Roaming\Codex\web --- 已删除

改动: 完全删除 Codex 桌面端的 Chromium 用户数据目录,包括:

子目录 作用
Local Storage/leveldb/ 网页本地存储
Session Storage/ 会话存储
Cache/ 浏览器缓存
Code Cache/ JS/WASM 编译缓存
GPUCache/ GPU 缓存
Preferences Chromium 偏好设置

原因 : 这是重装无效的根本原因------Windows 卸载程序不会清除 AppData\Roaming 下的用户数据。此目录中的损坏状态会在每次重装后仍然生效。


未修改的文件

文件 说明
cc-switch-model-catalog.json 模型目录文件,内容有效(deepseek-v4-flash、deepseek-v4-pro)
auth.json 认证信息
state_5.sqlite 等 SQLite 数据库 会话/线程状态,与模型列表 UI 无关

验证结果

执行 codex doctor 确认配置正确:

复制代码
config.toml parse        ok
model                    deepseek-v4-flash · custom
default model provider   custom
rollout DB model providers custom=1

本地代理 http://127.0.0.1:15721/v1/models 返回正常,模型 API 可用。