Codex 存储
~/.codex 里有什么,哪些可以放心删
~/.codex 里最占地方的,是写在对话文件里的截图。在一台开发者的 Mac 上,1,231 段对话占了 22.83 GB,其中 71% 是图片,而只出现过一次的图片仅占 16%。想拿回空间,就优化还想留着看的对话、删除用完的对话,归档是一点空间都省不下来的。
~/.codex 里有什么
对话是 .jsonl 文件,Codex 管它们叫 rollout。进行中的在 ~/.codex/sessions,归档的在 ~/.codex/archived_sessions。在 Codex 里归档一段对话,只是把文件从一个文件夹挪到另一个,空间不会变少。
截图是以数据形式写进文件的。长会话每做一次上下文精简(compaction),就会把同一张截图再写一遍。在测的那台 Mac 上,一段 1.76 GB 的对话里有 1.57 GB 是重复的截图。
这个目录里还有 thread_history_1.sqlite(那台 Mac 上 1.74 GB)和 logs_2.sqlite(1.13 GB),另外还有 worktree 和插件。这两个 SQLite 文件是 Codex 自己的索引和日志,不是对话,也不该手动去改。
自己动手腾空间
能在 Codex 里做的就在 Codex 里做。它自己维护着对话索引,也默认只有它会去改这些文件。
- 在 Codex 里删掉用完的对话,这样它的索引才不会出错。
- 清缓存或运行时之前,先退出 Codex。
- 自己改某个 rollout 文件之前,先在其他 rollout 的 session_meta 里搜一下,看有没有 history_base 指向它的线程。
- 如果有,这个文件就别动,因为那个分叉是按字节位置从它里面读历史的。
Mint 能帮你做什么
Mint 在你的 Mac 上读取每段对话,给里面的图片做指纹,所以“硬盘”页里 Codex 那几行显示的是实测大小:未归档的对话、已归档对话里的重复截图,以及其余的已归档历史,分开列了出来。你可以在按大小排好的列表里挑对话,用滑块设定多久没用过,鼠标停在某一行上就能看到里面有多少多媒体。
“优化”会原样保留文字,把每张截图换成小预览图,对话在 Codex 里照样能打开。音频和视频会换成占位内容。“删除”通过 Codex 删掉整段对话,它的索引不会乱。默认什么都不勾,两个操作都不能撤销,动手前确认框会先说明。
如果别的对话是从某段对话分叉出来的,Mint 不会改写那段对话。SQLite 文件它只测大小,从不修改。
观看操作演示 (0:17): AI Chats Taking Up Mac Storage? Compress Their Images with Mint
为什么清旧对话省下的空间比预想的少
重复的截图主要堆在最近那些又长、截图又多的会话里。在测的那台 Mac 上,92% 的重复截图都在最近六天用过的对话里,所以只挑一周以前的对话,大部分都会漏掉。
“优化”不看有没有重复,它会把你选中的对话里每一张不算小的截图都缩小。所以旧对话只要有图片,照样能腾出空间。
常见问题
归档 Codex 对话能省空间吗?
不能。归档只是把文件从 sessions 挪到 archived_sessions。要拿回空间,得优化或删除这段对话。
可以直接删掉 ~/.codex 或 archived_sessions 吗?
别成批删。删掉 ~/.codex 会带走所有对话、你的设置和 Codex 的本地状态,还是通过 Codex 或 Mint 一段一段删比较好。
thread_history_1.sqlite 能缩小吗?
手动操作不安全。它是 Codex 的索引,Mint 只测大小,不会整理也不会修改它。
优化后的对话在 Codex 里是什么样?
照常打开,原来截图的位置变成一张小预览图。原图没法再恢复。
先看清每段 Codex 对话有多大
扫描一次,在“硬盘”页打开“Codex 对话”。动手之前,把鼠标停在某段对话上,就能看到里面有多少多媒体。