使用 codex app 又又又遇到 bug 了,codex app 突然不显示对话记录了,
终端使用 codex resume --all 发现也只剩两条对话记录。
![]()
吓我一条,去 .codex/sessions 下查看对话数据文件,发现都在没丢,就是 codex 显示不出来了. ![]()
按照 gemini 说的完全退出 codex 相关进程,备份 .codex 目录,然后手动删除以下文件:
- session_index.jsonl
- state_5.sqlite
- state_5.sqlite-wal
- state_5.sqlite-shm
再开启 codex app 或 codex,重建索引数据,未果,
codex app 还是看不到对话记录,codex resume --all 还是只有两条对话记录
于是查看备份的 session_index.jsonl、state_5.sqlite 两个索引文件,发现索引数据根本没问题,里面记录的对话不缺少 ![]()
删除以上文件后,再开启 codex app 或 codex 重建索引数据,发现
- session_index.jsonl 没有新建,
- state_5.sqlite 新建了,且新建的 state_5.sqlite 和备份的 state_5.sqlite 里对话记录数目一致(在 threads 表)
证明问题不是出在这里
于是去查看 “.codex\config.toml” 配置文件,发现配置文件有损坏:
provider 提供商部分损坏了
```toml
model_reasoning_effort = "medium"
[model_providers]
[model_providers.custom]
name = "custom"
wire_api = "responses"
requires_openai_auth = true
base_url = "http://xxxx/v1"
```
正常的 provider 配置是:
```toml
model_provider = "custom"
model = "gpt-5.5"
model_reasoning_effort = "medium"
disable_response_storage = true
[model_providers]
[model_providers.custom]
name = "custom"
wire_api = "responses"
requires_openai_auth = true
base_url = "http://xxxx/v1"
```
这时我想起之前 codex app 一打开就自动下载更新,我不想更新,直接关闭 codex app 了,我怀疑是更新过程被我关闭中止导致配置文件损坏。
(更正,不是codex app中止更新导致的,是另一个第三方配置工具的锅)
又恰好,我在查看备份和重建的 state_5.sqlite 时,发现了下面两个记录:
这两个记录正是 codex resume --all 所看到的两个对话记录,而 codex 的对话又是和 provider 绑定的,
那么就确定了,就是原来使用 ccswitch 自定义的名为 custom 的提供商的 provider 配置损坏,导致不知道什么原因,加载了 openai 这个提供商,
于是 codex resume --all 只能看到 “openai” 这个提供商下的对话
ps:至于 codex app 为什么没有看到 “openai” 这个提供商下的对话就不知道了
修复一下 “custome” 提供商的 provider 配置即可恢复对话记录。
![]()
完结撒花 ~~~
![]()
1 个帖子 - 1 位参与者