日期: 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从相对路径改为绝对路径
# 修改前 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 可用。