据少数派发布的一篇文章,Mac 清理工具 Mole 的作者回顾了项目从开源命令行工具到付费桌面应用的过程。去年国庆,他在三亚泳池边写了几百行代码,把 Mole CLI 开源到 GitHub。不到一年,项目获 60K star,发布 50 多个版本,121 位全球开发者提交代码,解决近 800 个功能建议和 Bug。因 README 上两张 Vercel 加速图片导致账单超支、欠 80 美元,他才意识到用户量,并决定做桌面端。

此前最多的一类邮件来自国外用户,称父母和妹妹用 Mac 但不会开终端,希望有无需命令的版本。作者等 CLI 跑了大半年,对哪些能删、删到什么程度安全心里有底后才做桌面版,做到自己敢天天用才发布。桌面版当天晚上十点发布,法国、德国等各币种购买通知不断,他为睡觉关掉邮箱通知。CLI 仍开源免费并持续更新,只有桌面版付费。

桌面版后,他发现自己 Mac 快被 AI 撑爆。AI 垃圾分三类:编译产物,Rust target、前端 .next 和 dist、Xcode DerivedData,一次清出 86G;AI 工具旧版本,Claude Code、Cursor Agent、GitHub Copilot 更新时下载新版本目录,每版约 250MB,旧版不删;模型文件,Ollama、LM Studio 模型和 HuggingFace 缓存常几十 G。Mole 清前两类,不碰第三类。

他把扫描项分三档:可再生,如 HTTP、GPU 缓存、编译产物和多数日志;重建代价高,如包管理器注册缓存、本地模型权重、iOS DeviceSupport,需用户过目;不可替代,如聊天记录、邮件库、照片图库和项目状态,不进一键清理。node_modules、Pods、venv、vendor 等下载类目录被从 Mac 版清理列表摘出。~/.ollama/models、~/.cache/huggingface 在保护名单,扫描不出现;~/.codex/sessions、~/.claude/projects、~/.grok/sessions 等会话记录永远不清。

保护名单多是踩坑所得。作者曾把 com.apple.e5rt.e5bundlecache 当缓存清掉,导致用户所有识别功能 App 挂掉,直到重启才好。现在看到 cache 目录会先判断谁写的、重启后谁读、删错怎么找回。Mole 先扫描逐项列出,拿不准默认不勾选,确认后删,优先进废纸篓,全程本机完成。卸载会翻出应用散落文件,如 Claude 本体 781MB,Application Support 中 claude 却 7.67GB。macOS Install Data 因可能影响系统更新,默认不勾选,并有三道隐藏条件。

作者称工具好不好主要看删前是否让人看清。Mole 不弹通知提醒清理,不吓唬用户;扫描未结束不进结果页,完成页不留跳动。系统开启减少动态效果后,行星停止装饰性旋转,操作不依赖动画。从 CLI 到桌面端,他发现要让 70 岁老人也用得上,中间事情更多。一位近 70 岁英国用户重复购买,称第二笔钱当送作者;美国用户建议所有地区默认摄氏度,并指出定价像换算而来;视力障碍用户说深色模式写死,自己用不了;德国大学讲师申请教育授权;匈牙利医生认为价格偏高。作者仍手工回邮件,答疑、退款等不到用户量 1%,但他没写自动脚本,以感受用户需求。