Codex 搜索失效需分四步排查:确认搜索入口(Win 点放大镜,Mac 先切 All Threads 再 ⌘+F);优化 Thread 标题与内容关键词;检查 provider 字段是否匹配;最后强制重建 session_index.jsonl 索引。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你在 Codex 里想找两周前让 AI 生成的 Python 爬虫脚本,或者翻出上个月整理过的会议纪要,但搜索框输完关键词后一片空白——不是对话丢了,而是搜索逻辑没对上当前配置和数据状态。
确认当前平台与搜索入口是否匹配
Windows 用户必须点左侧边栏顶部的放大镜图标启动全局搜索;Mac 用户若直接按 ⌘+F,只会高亮当前打开的单个对话内容,【不会跨 Thread 检索】。想搜全部历史,得先点击左上角「All Threads」再按 ⌘+F,或改用侧边栏「Filter」功能。
输入关键词后别急着关窗口,回车确认后页面会刷新——Codex 不做实时搜索,必须手动触发匹配。
检查 Thread 标题与输入内容是否含有效关键词
方法一:重命名未命名的 Thread
把默认标题「New Thread」改成「2026-07 群聊清洗→Excel」,下次搜「群聊 Excel」就能命中。
方法二:补写缺失的核心词
如果原始提问是「把它转成日期格式」,现在就去那个对话里追加一句:「data.csv 第三列转为日期格式」,Codex 会把新消息也纳入索引范围。
方法三:避免代词和模糊表述
「它」「这个」「上面那段」在搜索中完全无效,Codex 不解析指代关系,只做字符串匹配。
排查历史会话是否被 provider 过滤屏蔽
第一步:打开终端,执行 codex resume
如果命令能列出 session ID,说明文件还在本地,只是 GUI 没显示。
第二步:检查配置文件中 model_provider 字段值
比如当前设为 my-provider,但历史会话元数据里记录的是 "provider":"openai",Codex 就会主动过滤掉这些条目。
第三步:临时切回原 provider 验证
把 config.toml 中的 model_provider = "my-provider" 改成 "openai",重启 Codex,看历史是否重现——若出现,即可确认是 provider 字段不一致导致的隐藏。
第四步:用同步工具修复元数据
下载 Codex_provider_change 工具,运行 ./sync --from openai --to my-provider,批量更新 sessions/ 下所有 JSONL 文件里的 provider 字段。
强制重建本地索引(白屏/空列表专用)
关闭 Codex 桌面端 → 删除 ~/.codex/session_index.jsonl 文件 → 重新启动 Codex。
启动后它会自动扫描 ~/.codex/sessions/ 目录下所有文件并重建索引,耗时取决于历史数量,通常 10 秒内完成。
这一步不能跳过,【session_index.jsonl 损坏或版本错配是白屏主因】,仅重启无效。


















