记一次 codex 对话记录丢失的排查

使用 codex app 又又又遇到 bug 了, codex app 突然不显示对话记录了, 终端使用 codex resume --all 发现也只剩两条对话记录。 吓我一条,去 .codex/sessions 下查看对话数据文件,发现都在没丢,就是 codex 显示不出来了. 按照 gemin...
记一次 codex 对话记录丢失的排查
记一次 codex 对话记录丢失的排查

使用 codex app 又又又遇到 bug 了,codex app 突然不显示对话记录了,

终端使用 codex resume --all 发现也只剩两条对话记录。 :face_with_crossed_out_eyes: :face_with_crossed_out_eyes: :face_with_crossed_out_eyes:

image

吓我一条,去 .codex/sessions 下查看对话数据文件,发现都在没丢,就是 codex 显示不出来了. :smiling_face_with_tear:

按照 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.jsonlstate_5.sqlite 两个索引文件,发现索引数据根本没问题,里面记录的对话不缺少 :face_savoring_food:

删除以上文件后,再开启 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 了,我怀疑是更新过程被我关闭中止导致配置文件损坏。 :face_with_monocle: :face_with_monocle: :face_with_monocle:(更正,不是codex app中止更新导致的,是另一个第三方配置工具的锅)

又恰好,我在查看备份和重建的 state_5.sqlite 时,发现了下面两个记录:

image

这两个记录正是 codex resume --all 所看到的两个对话记录,而 codex 的对话又是和 provider 绑定的,

那么就确定了,就是原来使用 ccswitch 自定义的名为 custom 的提供商的 provider 配置损坏,导致不知道什么原因,加载了 openai 这个提供商,

于是 codex resume --all 只能看到 “openai” 这个提供商下的对话

ps:至于 codex app 为什么没有看到 “openai” 这个提供商下的对话就不知道了

修复一下 “custome” 提供商的 provider 配置即可恢复对话记录。 :melting_face: :melting_face: :melting_face:

完结撒花 ~~~ :100: :100: :100:

1 个帖子 - 1 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文