Codex聊天记录不见了怎么办?Codex对话迁移教程,官方订阅与第三方API聊天记录找回
SEO关键词: Codex聊天记录、Codex对话找回、Codex聊天记录恢复、Codex对话迁移、Codex Session ID、Codex Provider、Codex教程、Codex SQLite、Codex state_v5.db
–

很多人在使用 Codex 时都会遇到一个问题:
明明之前聊过很多内容,切换到官方订阅或者第三方 API 后,聊天记录却突然全部消失了。
不少用户第一反应都是:
- 是不是 Codex 把数据删了?
- 更新版本导致聊天记录丢失?
- 能不能恢复聊天记录?
实际上,大多数情况下聊天记录并没有丢失,只是被 Codex 按 Provider 进行了隔离显示。
本文就详细介绍 Codex 对话记录的工作原理,以及如何把聊天记录迁移到另一个 Provider 下重新显示。
一、为什么 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 之间的聊天记录切换,而无需重新开始新的对话。
如果你的聊天数量较多,也可以考虑编写一个自动化脚本,实现一键迁移所有聊天记录,大幅提升管理效率。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/weixin_41961749/article/details/162664320




