codex会话记录不完整是因model_provider配置与历史会话文件中的provider字段不匹配,导致加载时自动过滤;需确认sessions目录存在、核对provider字段一致性,并通过同步工具、修改config.toml或重建索引修复。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex会话记录显示不完整,是因为当前配置的 model_provider 与历史会话文件中记录的 provider 字段不匹配,导致 Codex 在加载时自动过滤掉所有不一致的会话条目,哪怕这些文件明明还躺在 ~/.codex/sessions/ 目录里。
确认会话文件是否真实存在
先别急着重装或删配置,直接打开终端,执行:
ls ~/.codex/sessions/
如果目录非空,说明会话没丢——只是 Codex 拒绝显示。再随便挑一个文件(比如 rollout-2026-07-15T10-22-33-abc123.jsonl),用 cat 或 vim 打开,翻到开头几行,找 type: session_meta 对应的 payload → provider 字段。记下这个值,它就是该会话的“身份证”。
【关键点】这个 provider 必须和你当前 ~/.codex/config.toml 里 [model_providers] 下实际启用的那个 provider 名称完全一致,包括大小写、拼写、连字符,差一个字符都不行。
修复 Provider 元数据错位问题
方法一:用 codex-provider-sync 工具一键同步(推荐)
① 安装工具:npm install -g codex-provider-sync
② 进入 Codex 配置目录:cd ~/.codex
③ 执行同步:codex-provider-sync --fix
工具会扫描所有 sessions 文件,把 provider 字段批量更新为 config.toml 中当前生效的 provider 名。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
方法二:手动修改 config.toml 并重启
打开 ~/.codex/config.toml,找到 model_provider = "xxx" 这一行,把它改成和你历史会话里 provider 字段完全相同的字符串(比如 openai、custom、openrouter),保存后彻底退出 Codex 进程(不是关窗口,是 kill 掉所有 codex 相关进程),再重新启动。
方法三:用提示词让 Codex 自动批量改元数据
在 Codex CLI 中输入精准指令:“我由 openai 切换为 custom provider,所有本地会话的 provider 字段需统一改为 custom,请遍历 ~/.codex/sessions/ 下全部 jsonl 文件,仅修改 session_meta 中的 provider 值,不改动其他任何内容。”
检查会话索引是否损坏
运行:codex --list-sessions
如果命令报错或返回空,说明 session_index.jsonl 可能已损坏或未生成。此时不要手动编辑该文件——它是由 Codex 自动维护的二进制友好格式。正确做法是删除它:rm ~/.codex/session_index.jsonl,然后重启 Codex,它会在下次加载时自动重建索引。
注意:这一步不会删除任何会话内容,只重建索引映射关系。
验证当前 provider 是否被正确加载
在 Codex CLI 中输入:/status
查看输出里的 “Provider” 项。如果显示 unknown、null 或空白,说明 config.toml 中的 provider 配置有语法错误,或者 [model_providers] 段落缺失对应 provider 的定义块。此时必须修正 toml 文件结构,否则任何会话都无法被识别。










