Codex聊天记录不见了怎么办?Codex对话恢复和迁移的完整教程

  发布时间:2026-08-28 11:08:12   作者:代码简单说   我要评论
很多人在使用 Codex 时都会遇到一个问题,那就是明明之前聊过很多内容,切换到官方订阅或者第三方 API 后,聊天记录却突然全部消失了,下面本文就详细介绍 Codex 对话记录的工作原理,以及如何把聊天记录迁移到另一个 Provider 下重新显示吧

很多人在使用 Codex 时都会遇到一个问题:

明明之前聊过很多内容,切换到官方订阅或者第三方 API 后,聊天记录却突然全部消失了。

不少用户第一反应都是:

  • 是不是 Codex 把数据删了?
  • 更新版本导致聊天记录丢失?
  • 能不能恢复聊天记录?

实际上,大多数情况下聊天记录并没有丢失,只是被 Codex 按 Provider 进行了隔离显示。

本文就详细介绍 Codex 对话记录的工作原理,以及如何把聊天记录迁移到另一个 Provider 下重新显示。

Codex对话恢复和迁移

一、为什么 Codex 聊天记录会消失?

Codex 的每个聊天 Session 都会记录一个字段:model_provider

这个字段决定了这条聊天记录属于哪个 Provider。

例如:

官方订阅可能是:

OpenAI

第三方 API 可能是:

dpWorking

或者

DeepSeek
SiliconFlow

不同人的 Provider 名称可能完全不同。

Codex 在显示聊天列表时,并不会把所有 Session 全部展示,而是:只显示当前 Provider 对应的聊天记录。

因此:

使用官方订阅时

只能看到:

OpenAI

下面的聊天。

切换第三方 API 后:

只能看到:

dpWorking

下面的聊天。

所以实际上:聊天记录仍然存在,只是不属于当前 Provider,因此不会显示。

二、Codex 对话数据存放在哪里?

完全退出 Codex 后。

进入用户目录:

~/.codex

Windows 一般为:

C:\Users\用户名\.codex

这里主要有两个重要位置。

1、sessions 文件夹

sessions/

里面保存的是:

  • 每一个聊天 Session
  • JSON 格式
  • 包含完整聊天内容

例如:

2026-07-01_xxxxxxxxx.json

这里保存的是所有消息。

2、state_v5.db

另一个重要文件:

state_v5.db

这是一个 SQLite 数据库。

主要保存:

  • Session 列表
  • 标题
  • 时间
  • Provider
  • 最近打开时间
  • 排序信息

也就是说:

聊天正文在 JSON,

聊天索引在 SQLite。

两者共同决定了 Codex 如何展示聊天列表。

三、第一步:复制 Session ID

打开 Codex。

找到需要迁移的聊天。

右键:

Copy Session ID

复制得到:

xxxxxxxxxxxxxxxx

这个 ID 后面都会用到。

四、修改 Session JSON 文件

进入:

.sessions

找到对应 Session。

使用 VSCode 或其他文本编辑器打开。

搜索:

"model_provider"

例如:

"model_provider":"OpenAI"

修改为:

"model_provider":"dpWorking"

或者改成自己的 Provider。

保存即可。

五、修改 SQLite 数据库

打开:

state_v5.db

推荐工具:

  • DB Browser for SQLite
  • SQLiteStudio
  • Navicat

打开:

sessions

数据表。

找到:

session_id

对应刚刚复制的 Session。

找到字段:

model_provider

例如:

原来:

OpenAI

修改为:

dpWorking

保存数据库。

这里一定要和 JSON 中保持一致。

否则 Codex 仍然不会正确识别。

六、重新启动 Codex

重新打开 Codex。

切换到目标 Provider。

如果修改正确,你会发现:

之前"消失"的聊天记录已经重新出现在聊天列表中了。

整个聊天内容不会受到任何影响。

包括:

  • 对话内容
  • 图片
  • 推理过程
  • 历史消息

都会完整保留。

七、为什么要同时修改两个地方?

很多人只改了 JSON。

结果:聊天仍然不显示。

原因就在于:Codex 有两份数据。

第一份:Session JSON 保存聊天内容。

第二份:SQLite 保存聊天索引。

只有两边的:

model_provider

一致,Codex 才会正常显示。

八、批量迁移聊天记录

如果聊天很多。一个一个修改显然比较麻烦。其实完全可以写一个 Python 工具自动完成。

例如:

扫描所有 Session

读取所有 Provider

列出聊天列表

选择目标 Provider

自动修改 JSON

自动更新 SQLite

完成迁移

甚至还可以增加:

  • Provider 自动识别
  • 批量迁移
  • 一键迁移全部聊天
  • 按日期迁移
  • 按关键词迁移
  • 导出聊天统计

整个流程几乎可以做到全自动。

如果对 Python 或 SQLite 比较熟悉,实现起来并不复杂,也是一个不错的练手项目。

九、注意事项

在修改数据前,建议先备份整个 .codex 目录,避免误操作导致数据异常。

另外:

  • 修改前务必退出 Codex。
  • JSON 与数据库中的 model_provider 保持一致。
  • 不要随意修改 session_id 等其他字段。
  • 修改完成后重新启动 Codex 再验证结果。

只要按照上述步骤操作,一般都可以顺利完成聊天记录迁移。

总结

很多用户认为 Codex 的聊天记录丢失了,其实大多数情况下只是由于 Provider 隔离机制 导致当前界面无法显示对应的 Session。

通过修改 Session JSON 文件以及 state_v5.db 数据库中的 model_provider 字段,就可以将聊天记录迁移到目标 Provider 下,实现官方订阅与第三方 API 之间的聊天记录切换,而无需重新开始新的对话。

如果你的聊天数量较多,也可以考虑编写一个自动化脚本,实现一键迁移所有聊天记录,大幅提升管理效率。

以上就是Codex聊天记录不见了怎么办?Codex对话恢复和迁移的完整教程的详细内容,更多关于Codex对话恢复和迁移的资料请关注脚本之家其它相关文章!

相关文章

最新评论