codex历史任务需系统性整理而非盲目删除,先运行codex-history doctor诊断兼容性,仅当显示“ok”后方可执行list和purge;支持按关键词、项目路径、导出后手动排序三种筛选方式;提供单条确认删除、批量清理及扫除孤儿数据三种安全清理方法。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex历史任务太多导致查找困难、启动变慢、上下文臃肿,需要系统性整理而非盲目删除。手动删文件会残留引用,只清界面不清理本地存储,重启后问题依旧存在。
先诊断:确认哪些历史真正在拖慢Codex
打开终端,运行:
codex-history doctor
这一步必须做。如果输出“Unsupported Codex data structure”,说明本地数据格式已更新,当前版本工具不兼容——【强行执行后续清理可能损坏状态文件】。此时应先升级 codex-history 或等待官方适配补丁。
只有 doctor 显示 “OK” 后,才能继续 list 和 purge 操作。
按用途分层筛选历史对话
运行以下命令查看未归档会话:
codex-history list
默认只列出未归档的活跃对话,但真正要整理的不只是“可见列表”。你需要结合三种维度交叉判断:
① 按关键词快速定位:
codex-history list --grep "Excel" → 找出所有含 Excel 的任务,包括标题、首条用户输入、AI 回复片段中匹配的项。
② 按项目路径归类:
codex-history list --cwd my-project-v2 → 只显示工作目录含 my-project-v2 的对话,适合清理特定项目残留。
③ 按时间范围人工排序:
先运行 codex-history list > all.log,再用文本编辑器打开 all.log,按日期列手动拖动排序——【Codex 原生 list 不支持 --since/--before 参数,必须导出后处理】。
安全删除:分批 purge + 验证孤儿数据
方法一:单条精准删除
从 list 输出中复制某条记录的 short-id(如 ab12cd),执行:
codex-history purge ab12cd
执行前会显示该会话关联的文件路径、数据库记录数、日志条目数,并要求你输入 y 确认。这是唯一能保证 SQLite、JSONL、rollout、shell snapshot 全链路清理的方式。
方法二:批量清理测试/临时会话
先用 grep 筛出明显可删项:
codex-history list --grep "test\|temp\|draft" | awk '{print $1}' | xargs -I{} codex-history purge {}
注意:此命令跳过逐条确认,【一旦误匹配将不可逆删除】。建议先加 --dry-run 参数预览(当前版本暂不支持,需手动加 echo 测试)。
方法三:扫清残留孤儿数据
执行:
codex-history purge-orphans
它会扫描 ~/.codex 下所有未被任何会话引用的 rollout 文件、孤立 JSONL 片段、过期 snapshot。这个操作不依赖 list 结果,专治“界面上看不见但磁盘里还占着”的脏数据。











