Appearance
Codex 越用越笨?清一下本地缓存看看
本文整理自推文:原文链接,内容通俗化重写。
懒得手动操作?
把下面这段提示词丢给 Claude Code 或另开一个 Codex 会话,让它按本文步骤替你跑:
text
请参考下面这篇教程,帮我清理本地 ~/.codex 缓存:
https://docs.codexzh.com/codex/codex-cache-cleanup
要求:
1. 先把要执行的命令念一遍给我确认,再动手
2. 操作前确认 Codex 进程已退出
3. 备份 → 查大小 → 重命名 .old → 提示我重启 → 等我说稳定了再删 .old
4. 遇到 .sqlite-wal / .sqlite-shm 同样保守处理最近用 Codex 5.5,是不是觉得它有点不稳定?配置没改、网络也没问题,但同样难度的活,有时候三两下定位到 bug,有时候绕半天说不到点子上。
我在 Reddit 上看到有人提过一个容易被忽略的地方:本地数据文件膨胀。

底下评论挺多,有人说 TUI 日志超过 100GB,有人说整个目录从 42GB 清到 1.3GB。
Codex 在本地会一直写状态库、日志、会话记录。时间一长体积失控、读写变慢,整体响应就跟着拖。养成定期看一眼、顺手清的习惯,能排掉这层隐性干扰。
哪些文件容易变大
主要这几个:
~/.codex/state_5.sqlite:本地状态库,存会话上下文~/.codex/logs_2.sqlite:本地日志库~/.codex/.codex-global-state.json:全局状态和设置~/.codex/log/codex-tui.log:终端界面日志,最容易疯长~/.codex/sessions/:历史会话目录*.sqlite-wal和*.sqlite-shm:SQLite 的预写日志和共享内存文件,偶尔也会异常变大
这些文件删掉后 Codex 会自动重建,清理本身是安全的。但也正因为会重建,最好定期维护,别指望一次搞定。
清理流程
下面这套我自己用着比较稳,每一步都能退回去。
1. 关掉 Codex,先做备份
把整个 .codex 目录复制一份,加日期后缀:
bash
cp -r ~/.codex ~/.codex.backup.$(date +%Y%m%d)出任何问题都能直接还原。

2. 看一下各文件的大小
bash
du -sh ~/.codex/state_5.sqlite ~/.codex/logs_2.sqlite \
~/.codex/.codex-global-state.json ~/.codex/log/codex-tui.log \
~/.codex/sessions/codex-tui.log 通常是体积最大的那个。

3. 重命名,别直接删
给怀疑影响性能的文件加 .old 后缀。这样万一清理完感觉不对,改回原名就行,不用从备份恢复:
bash
mv ~/.codex/state_5.sqlite ~/.codex/state_5.sqlite.old
mv ~/.codex/logs_2.sqlite ~/.codex/logs_2.sqlite.old
mv ~/.codex/.codex-global-state.json ~/.codex/.codex-global-state.json.old
mv ~/.codex/log/codex-tui.log ~/.codex/log/codex-tui.log.oldsessions/ 我一般只动那些明确不再需要的旧会话,最近在用的留着。
WAL 和 SHM 文件如果也很大,同样改名就行。

4. 重启 Codex,跑一跑之前的任务
Codex 会自动生成新的文件。挑一两个之前明显感觉费劲的任务试试,一般就能感觉到差别。

5. 确认稳定后再删 .old 文件
用几天觉得没问题,就可以把 .old 删掉释放空间:
bash
rm ~/.codex/*.old
rm ~/.codex/log/*.old万一觉得还不如之前,把备份目录覆盖回来就行。

顺便说下日常维护
我现在每隔一两周会把旧状态文件归档一下,保持主目录干净:
bash
mkdir -p ~/.codex/archive/$(date +%Y-%m-%d)
mv ~/.codex/*.sqlite.old ~/.codex/archive/$(date +%Y-%m-%d)/想回滚的时候也能按日期翻到当时的文件。

另外
项目里真正重要的长期信息,比如架构决定、不能碰的边界、踩过的坑,别全压在 SQLite 里。
我习惯写在项目根目录的 PROJECT.md。纯文本,不依赖本地状态,Codex 随时能读,清理多少次都不受影响。
这套清理不能保证 Codex 一定恢复如初,但至少能把"本地文件膨胀"这个嫌疑先排除掉。