Codex会话加载失败并非数据丢失,而是当前model_provider与历史rollout文件中的provider字段不匹配导致未显示;本地~/.codex/sessions/下jsonl文件完好,可通过同步工具或重建索引修复。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex会话记录加载不出来,不是数据丢了,而是当前 model_provider 和历史会话文件里的 provider 字段对不上,导致 Codex 拒绝显示——你本地的 ~/.codex/sessions/ 目录下,那些 rollout-*.jsonl 文件全都在,只是没人认领。
确认会话文件是否真实存在
先别急着重装或删配置。打开终端,直接执行:ls -l ~/.codex/sessions/。
如果返回一堆 rollout-*.jsonl 文件(哪怕只有1个),说明会话数据完好无损。若提示 No such file or directory,才需检查 ~/.codex 是否被误删或权限异常。
【注意】Windows 用户路径是 C:\Users\{用户名}\.codex\sessions\,别在 WSL 或 Git Bash 里用 Linux 路径查错目录。
检查当前 provider 和会话元数据是否匹配
用文本编辑器打开一个 rollout 文件,比如:head -n 3 ~/.codex/sessions/2026/05/17/rollout-2026-05-17T12-28-52-019e3431-b161-7f12-9e91-cd1100b05c9d.jsonl。
找到 "model_provider":"xxx" 这一行,记下它的值(例如 "custom" 或 "packycode")。
再查当前生效的 provider:cat ~/.codex/config.toml | grep model_provider,看输出是不是和上面一致。
不一致就说明问题根源在这里:Codex 只加载 model_provider 匹配的会话。哪怕只差一个空格、大小写不同,都会被当作不同 provider 处理。
一键同步 provider 元数据(推荐)
方法一:使用官方兼容工具 codex-provider-sync
第一步:安装工具:npm install -g codex-provider-sync。
通过 Codex CLI 生成图片,支持尺寸控制和批量模式。依赖:codex (npm)。代理默认启用。用 generate.sh 生成单张,batch_generate.sh 批量生成游戏 UI 素材,gen_size.sh 指定尺寸。所有输出保存至 ~/.codex/generated_images/。
第二步:进入 Codex 配置目录:cd ~/.codex。
第三步:执行同步:codex-provider-sync --fix-index --fix-sqlite --fix-rollouts。
这一步会扫描所有 rollout 文件,提取其中的 model_provider,并更新 session_index.jsonl 和 state_5.sqlite 中对应记录,让 Codex Desktop 重新识别。
方法二:手动强制刷新索引(无 Node 环境时)
删除索引文件:rm ~/.codex/session_index.jsonl。
然后运行:codex --rebuild-index —— 这个命令会重新遍历 sessions/ 下所有文件,按当前 config.toml 中的 model_provider 提取并重建索引。
【关键前提】执行前确保 config.toml 中的 model_provider 已设为你想看到的历史所对应的 provider,否则重建后还是看不到。
验证是否修复成功
重启 Codex Desktop 客户端,或在 VS Code 中按 Ctrl+Shift+P → 输入 Developer: Reload Window 刷新界面。
如果侧边栏仍为空白,再试一次 Ctrl+Shift+P → Developer: Restart Extension Host。
最后,直接用 CLI 测试恢复能力:codex resume 019e3431-b161-7f12-9e91-cd1100b05c9d(把 ID 换成你刚才看到的 session id)。能正常加载,就证明会话本身完全可用,只是 UI 层没刷出来。

















