Mole
完成工作的方法是爱惜每一分钟。——达尔文
Mole
Deep clean and optimize your Mac.
Mole:一只住在 macOS 里的“清洁小仓鼠”,把你的磁盘空间一口一口啃回来
仓库的 Description 说得很俏皮,也很准确:
🐹 Deep clean and optimize your Mac.
Mole 就像一只认真到有点强迫症的小动物——它不吵不闹,悄悄钻进你的系统角落,把那些“你以为删了、其实还在”的残留,连根拔起;把你不想面对的缓存、日志、浏览器碎屑、项目构建垃圾,整理得干干净净;顺手还帮你把系统服务拍拍灰、把状态面板亮起来,让你随时知道 Mac 现在到底健不健康。
它的自我介绍也很克制:
Deep clean and optimize your Mac.
但它做的事一点都不克制——它想当你的“全能工具箱”。
Features:它不是一把刷子,它是一整套工具箱(而且是一个二进制)
Mole 一上来就把野心写在 Features 里:
- All-in-one toolkit:把 CleanMyMac、AppCleaner、DaisyDisk、iStat Menus 这类角色,塞进一个 single binary
- Deep cleaning:清 caches、logs、browser leftovers,目标是 reclaim gigabytes of space
- Smart uninstaller:卸载 app 不是“拖进废纸篓就算了”,它还要把 launch agents、preferences、各种 hidden remnants 一并带走
- Disk insights:可视化磁盘占用、找大文件、rebuilds caches、刷新系统服务
- Live monitoring:实时展示 CPU/GPU/内存/磁盘/网络统计
它像是在说:
“你不用再开四个软件、切五个窗口、到处找按钮——把我叫出来就行。”
Quick Start:把 Mole 叫醒的两种方式
1) Homebrew 安装(最像 macOS 的打开方式)
1 | brew install mole |
2) 脚本安装(想要指定版本/追最新都可以)
1 | # Optional args: -s latest for main branch code, -s 1.17.0 for specific version |
Mole 还提醒了自己的“主场”:
Mole is built for macOS. An experimental Windows version is available in the windows branch for early adopters.
Run:一条 mo,召唤交互菜单;一串子命令,分工明确
Mole 的命令行像一套“清洁工的工具腰带”,每个工具都有名字:
1 | mo # Interactive menu |
它的性格很“清晰”:
你要深度清理就 clean,你要卸载干净就 uninstall,你要看看谁最占地方就 analyze,你想随时知道系统状态就 status。
Preview safely:它很勤快,但也很谨慎——先演练再动手
Mole 知道自己干的是“本地维护工具”,有些命令会做 destructive local operations,所以它给了你一个“先看看会删什么”的护栏:
1 | mo clean --dry-run |
它像一个很讲规矩的保洁队长:
“我可以干活,但你先确认一下我准备干什么;你想看得更细,我也能把日志全摊开给你看。”
Security & Safety Design:它不是莽夫,它有安全边界
Mole 的安全设计写得很直白:
- safety-first defaults
- path validation
- protected-directory rules
- conservative cleanup boundaries
- higher-risk actions 需要 explicit confirmation
- 当风险或不确定性高,它会 skip / refuse / require stronger confirmation,而不是扩大删除范围
并且它还把 mo analyze 单独点名为更“适合临时清理”的方式:
- 因为它通过 Finder 把文件移到 Trash,而不是直接删掉
相关信息在:
SECURITY.mdSECURITY_AUDIT.md
Tips:它不仅会干活,还会教你怎么不踩坑
- 有视频教程(YouTube):Mole tutorial video(感谢 PAPAYA 電腦教室)
- 安全与日志:
clean/uninstall/purge/installer/remove都是 destructive- 先
--dry-run - 需要时加
--debug - 操作日志写到:
~/Library/Logs/mole/operations.log - 想关闭日志:
MO_NO_OPLOG=1
- 先
- 导航体验:支持方向键与 Vim 绑定
h/j/k/l
它像在你耳边说:
“别急着删,先预演;别怕看不懂,我让你像用 Vim 一样顺手。”
Features in Detail:它每个技能,都像一段小剧场
1) Deep System Cleanup:mo clean 的“扫地机器人模式”
1 | $ mo clean |
它清理时连开发者工具也不放过,还特别提了一嘴:
- 在 Developer tools 里,会移除未使用的 CoreSimulator
Volumes/Cryptex条目,并跳过IN_USE项
这像是它“有脑子”的证据:
不是无差别扫荡,而是知道哪些该动、哪些别碰。
2) Smart App Uninstaller:mo uninstall 的“拔萝卜模式”(连根带土)
1 | $ mo uninstall |
它对“卸载”的理解是:
“你走可以,但你落下的行李箱、钥匙串、快递盒,我也得一起清走。”
3) System Optimization:mo optimize 的“拍一拍系统服务”
1 | $ mo optimize |
它不只是清文件,还会“刷新系统的呼吸节奏”。
4) Disk Space Analyzer:mo analyze 的“可视化探矿灯”
默认它为了启动更快,会跳过 /Volumes 下的外置盘;想看外置盘就:
mo analyze /Volumes或指定挂载路径
1 | $ mo analyze |
它像一只小鼹鼠在地底打灯:
“你想知道空间去哪了?我带你一层层挖出来。”
5) Live System Status:mo status 的“健康仪表盘”
1 | $ mo status |
Health score 由 CPU、内存、磁盘、温度、I/O load 计算,颜色分档。
它还藏了一点小彩蛋式的快捷键:
mo status里按k:toggle the cat 并保存偏好q:退出
并且它会在需要时提醒“高 CPU 占用进程”——你还能调阈值与窗口:
--proc-cpu-threshold--proc-cpu-window--proc-cpu-alerts=false
Machine-Readable Output:它也愿意当脚本的好朋友
mo analyze 与 mo status 都支持 --json,并且 mo status 会检测输出被 pipe 时自动切 JSON。
1 | # Disk analysis as JSON |
它像在说:
“你要交互,我给你界面;你要自动化,我给你 JSON。”
6) Project Artifact Purge:mo purge 专门收拾开发者的“建筑垃圾”
它会清理 node_modules、target、build、dist 等老旧构建产物:
1 | mo purge |
它还建议在 macOS 安装 fd:
1 | brew install fd |
并且有一条非常“懂你”的规则:
- Projects newer than 7 days 会被标记并默认不选中
Custom Scan Paths:想让它只扫你指定的目录也行
运行:
mo purge --paths
或编辑:
~/.config/mole/purge_paths
例如:
1 | ~/Documents/MyProjects |
7) Installer Cleanup:mo installer 把你下载过的安装包也“扫一遍”
它会从 Downloads、Desktop、Homebrew caches、iCloud、Mail 等位置找大安装包,并标注来源:
1 | mo installer |
Quick Launchers:把 Mole 放进 Raycast / Alfred 的口袋里
一条脚本,把常用命令塞进 Raycast 或 Alfred:
1 | curl -fsSL https://raw.githubusercontent.com/tw93/Mole/main/scripts/setup-quick-launchers.sh | bash |
它会新增 5 个命令:
Mole CleanMole UninstallMole OptimizeMole AnalyzeMole Status
Raycast Setup:把“门牌号”告诉 Raycast
- 打开 Raycast Settings(⌘ + ,)
- Extensions → Script Commands
- Add Script Directory(或 “+”)
- 添加路径:
~/Library/Application Support/Raycast/script-commands - 搜索并运行:Reload Script Directories
- 搜
Mole Clean/clean/Mole Optimize/Mole Status开用
Terminal Detection:它还会观察你用哪种终端
Mole 会自动识别终端,但 iTerm2 有已知兼容问题;它强烈推荐:
也提到其他不错的选择:Alacritty、kitty、WezTerm、Ghostty、Warp。
想手动指定,就设置:
MO_LAUNCHER_APP=<name>
Community Love:它把感谢写在墙上
它感谢每一个贡献者,也展示了用户在 X 上的真实反馈与截图,让这只“清洁小仓鼠”看起来不再孤单——它有一整个用户群在帮它长大。
Support:如果它帮你省下了空间,你可以怎么回礼
- star repo 或分享给朋友
- 读 Contributing Guide,提 issue / PR
- Buy Tw93 a Coke(赞助入口在 README)
License
MIT License. Feel free to use Mole and contribute.
