上周在清理磁盘的时候,我在几个目录里翻到了成百上千条 AI 会话文件。
~/.codex/sessions、~/.claude/projects、~/.gemini/tmp,每个都在默默长胖。
最麻烦的不是占空间,而是你根本不知道哪些该留、哪些能删。
甚至也有出现一些对话作废了,不能收纳的情况
于是我做了这个小工具 CliJanitor,专门干一件事,帮我把本地 AI 会话“看清楚,再清干净”。
这个工具到底解决了什么
很多人会以为“清理会话”就是删文件,但真实场景不是。
- 这条会话是哪个工具生成的
- 有没有我还会复用的上下文
- 这批删除会不会误伤
- 万一删错了能不能回滚
CliJanitor 现在支持统一处理 Claude Code、Codex、Gemini 三类会话,并且同时给了 CLI 和 GUI 两种入口。
我最在意的三个设计
一、先读懂再动手删
我给会话做了预览增强,不是简单把原始 JSON 糊你一脸。
预览里会尽量过滤命令噪声和运行元信息,只保留 user 和 assistant 的有效对话,还会单独补一段“最近一次对话”,方便你快速判断是否还有价值。
二、删除默认安全
默认是进回收站,不是直接物理删除。
而且 dry-run 打开时,即使你顺手勾了永久删除,也只会预演,不会真删。
另外,删除动作会写入日志,后续追溯成本很低。
三、过滤必须足够快
按 provider、关键词、日期、大小筛选,做成了实时生效。
不用每次点 Apply,列表会直接响应,这对“先看一眼再决定删不删”很关键。
一些硬核但不花哨的实现细节
这项目看起来像 UI 工具,其实底层我花了不少心思做“稳”。
- 会话 ID 不是随机数,是基于
provider + path做哈希,结果稳定可复现 - 扫描支持 include/exclude glob,避免误扫
.git和node_modules - 配置放在
%USERPROFILE%\\.clijanitor\\config.toml - 删除日志是 JSON Lines,便于后续审计和脚本分析
怎么上手最省事
- 方式一:直接运行 EXE(Windows)
直接前往github网址中的releases下载压缩包解压
运行可执行文件exe即可:release/CliJanitor/CliJanitor.exe
- 方式二:源码运行(开发模式)
# 以可编辑模式安装项目(源码变更可立即生效)
pip install -e .
# 检查运行环境与依赖是否完整
clijanitor doctor
# 启动桌面 GUI
clijanitor gui
项目地址
目前该项目已在 GitHub 开源:
👉项目地址:
https://github.com/ZekerTop/CliJanitor(或者点击文末“阅读原文”跳转)
如果你对这个开源项目感兴趣或者有其他意见的话,欢迎提交issue,最后拜托拜托点点star,谢谢~
往期文章👇
AI完成任务太耗时?想要摸鱼却又怕耽误时间,于是我做了个AI任务完成提醒器