Mole:macOS 清理、卸载、分析与监控的开源 CLI 工具
Mole 是一个面向 macOS 的免费开源命令行工具(命令名 mo),把清理缓存与日志、智能卸载应用及其残留、磁盘可视化管理、系统优化维护和实时硬件监控整合到单个终端二进制中。要求 macOS 12 或更新版本,支持 Intel 与 Apple Silicon,可用 Homebrew 或安装脚本安装,采用 GPL-3.0 许可证。仓库本身是 CLI,Mole for Mac 是独立下载的专有原生应用。
社区作者 · zZz
它解决什么问题
Mole(命令名 mo)是一套面向 macOS 的一体化终端工具箱,官方描述其把 CleanMyMac、AppCleaner、DaisyDisk 与 iStat Menus 风格的工作流合并进一个终端二进制。
核心能力:
- 深度清理:移除缓存、日志、残留文件与已卸载应用的孤儿数据,回收磁盘空间。
- 智能卸载:卸载应用的同时清理 launch agents、偏好设置与隐藏残留;当另一份已安装副本仍在使用共享数据时会保留这些数据。
- 磁盘洞察:可视化占用、查找大文件、重建缓存、刷新系统服务。
- 实时监控:显示 CPU、GPU、内存、磁盘与网络的实时数据。
主要命令:mo(交互式菜单)、mo clean(深度清理 + 已卸载应用残留)、mo uninstall(卸载应用及残留)、mo optimize(刷新缓存与服务)、mo analyze / mo analyse(可视化磁盘浏览器)、mo status(实时系统健康面板)、mo purge(清理项目构建产物)、mo installer(查找并移除安装包文件)、mo touchid(为 sudo 配置 Touch ID)、mo completion(配置 shell 补全)、mo update(更新 Mole)、mo remove(从系统移除 Mole)、mo --help、mo --version。
mo clean 的清理范围包括已知安全的缓存、日志、临时文件、开发者产物以及已卸载应用的残留;mo purge 会识别 node_modules、target、.build、build、dist 等可重建产物,按项目分组,仅删除你确认的项目,并保护包含部署密钥文件、嵌套 Git 仓库或
Git 跟踪文件的目录,优先使用 fd,缺失时回退到 find。mo installer 会在下载、桌面、Homebrew 缓存、iCloud、Mail、Telegram 等受支持位置查找 DMG、PKG、MPKG、ISO、XIP 和安装包 ZIP。
mo status 是只读面板,健康评分综合 CPU、内存、磁盘容量、SMART 状态、I/O、温度、电池状态与运行时长,并按区间着色;可按 k 切换猫、c 循环切换显示的 CPU 核数、q 退出,显示偏好会被保存。它支持 JSON、NDJSON 与进程告警,例如 mo analyze --json ~/Documents、mo status --json、mo status | jq '.health_score'(管道输出时自动切换为 JSON)、mo status --watch --interval 2s。
僵尸进程诊断是只读的,不影响健康评分,也不会终止进程;初始未成功采样时相关字段会被省略、zombie_parents 为 null,快速/监听快照会复用最近一次成功采样并把 process_stale 置为 true。
安全机制:Mole 能删除文件,因此会校验路径、保护共享与系统所属位置,并在需要时请求确认;当无法证明某项可安全修改时会跳过或拒绝执行。clean、uninstall、purge、installer、remove 都可删除文件,建议先用 --dry-run 预览,必要时加 --debug。Mole 应不加 sudo 运行,仅在需要时请求管理员权限;mo analyze 在确认后把所选项目移入废纸篓。清理活动记录在 ~/Library/Logs/mole/operations.
log,可用 mo history 查看或用 MO_NO_OPLOG=1 关闭。可用 mo clean --whitelist 保护缓存,用 mo optimize --whitelist 保护维护项。详见 SECURITY.md 与 SECURITY_AUDIT.md。
配图 1 展示了 Mole 清理结果界面,配图 2 为贡献者名单,配图 3 为用户社区反馈,配图 4 为赞助者名单。
适用对象:需要定期释放 macOS 磁盘空间、彻底卸载应用、分析磁盘占用或实时查看系统状态的开发者与进阶 Mac 用户,尤其是习惯终端工作流、希望脚本化或 JSON 化输出的人。
许可证:GPL-3.0,修改并分发后仍须保持同一许可证;若把 Mole 分叉为其他产品,请使用不同名称并注明来源 Mole。Mole for Mac 是独立的专有应用,单独下载,一份许可覆盖 2 台 Mac,含终身更新与 14 天退款。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
准备环境:Mole 需要 macOS 12 或更新版本,Intel 与 Apple Silicon Mac 均支持。Mole 应不使用 sudo 运行,仅在需要时请求管理员权限。仓库安装的是开源 CLI(命令名 mo)。
一、通过 Homebrew 安装
brew install mole注意
brew install mole 只安装 CLI。若 Homebrew 不再支持你的 macOS 版本,改用下面的脚本安装。二、通过脚本安装
curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash三、安装指定版本 从 releases 页面取任意 tag,可带或不带前导 V,例如:
curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash -s -- 1.51.0四、跟踪开发分支
curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash -s -- main说明:main 安装的是默认分支上未发布的代码,可能较为粗糙;latest 仍是 main 的遗留别名,尽管名字叫 latest,它并不会安装最新稳定版。
五、安装到用户目录(让后续 mo update 免密码) 脚本通常安装到 /usr/local/bin,这可能要求输入管理员密码。若希望将来的 mo update 运行不需要密码,可安装到用户自有目录:
mkdir -p "$HOME/.local/bin"curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash -s -- --prefix "$HOME/.local/bin"export PATH="$HOME/.local/bin:$PATH"请把同样的 PATH 导出语句加入 ~/.zshrc 或你的 shell 配置文件,以便新终端生效。Mole 会更新你调用的那份安装,因此会继续使用该目录。修改系统所属文件的命令仍可能请求管理员权限。
六、首次运行 mo # 交互式菜单 mo clean # 深度清理 + 已卸载应用残留 mo uninstall # 移除已安装应用及其残留 mo optimize # 刷新缓存与服务 mo analyze # 可视化磁盘浏览器(也可写 mo analyse) mo status # 实时系统健康面板 mo purge # 清理项目构建产物 mo installer # 查找并移除安装包文件 mo touchid # 为 sudo 配置 Touch ID mo completion # 设置 shell 补全 mo update # 更新 Mole mo update --nightly # 更新到最新的未发布 main 构建,仅脚本安装可用 mo remove # 从系统移除 Mole mo --help # 显示帮助 mo --version # 显示已安装版本
七、安全预览与白名单 mo clean --dry-run mo uninstall --dry-run mo optimize --dry-run mo purge --dry-run mo installer --dry-run mo history mo history --json mo clean --dry-run --debug # 预览 + 详细日志 mo optimize --whitelist # 管理受保护的优化规则 mo clean --whitelist # 管理受保护的缓存 mo purge --paths # 配置项目扫描目录 mo analyze /Volumes # 仅分析外接磁盘 mo analyze /private/tmp # 查看用户自有的临时目录 通过 mo clean --whitelist 所做的选择会持久保存在 ~/.
config/mole/whitelist。
八、Raycast / Alfred 快速启动器(可选)
curl -fsSL https://raw.githubusercontent.com/tw93/Mole/main/scripts/setup-quick-launchers.sh | bash该脚本会为 Clean、Uninstall、Optimize、Analyze、Status 安装五个启动器,添加 Raycast 命令,并在检测到 Alfred 偏好设置时添加对应 Alfred 工作流,关键字为 clean、uninstall、optimize、analyze、status。
Raycast 需要一次手动设置:打开 Raycast Settings > Extensions > Script Commands;把 ~/Library/Application Support/Raycast/script-commands 添加为脚本目录;在 Raycast 中执行 Reload Script Directories。
启动器会自动检测 Terminal、iTerm2、Alacritty、kitty、WezTerm、Ghostty、Hyper、WindTerm 和 Warp,可用 MO_LAUNCHER_APP=<name> 指定其一,也可直接在 Kaku 中运行 Mole。
九、常见问题
- Homebrew 不再支持你的 macOS 版本:改用脚本安装。
- 安装时要求管理员密码:用 --prefix 安装到 $HOME/.local/bin。
- 想追踪未发布代码:用 -s -- main 安装,或安装后执行 mo update --nightly(仅脚本安装可用)。
- 担心误删:先用 --dry-run 预览,必要时加 --debug;把想保留的缓存加入 mo clean --whitelist,把维护项加入 mo optimize --whitelist。
- mo purge 非交互运行需要 mo purge --yes;最近 7 天内有文件活动或无法验证活动状态的产物默认不被选中;扫描最多到达每个配置根目录下六层,较深的项目请添加更近的根目录;purge 会删除工作树内的可重建产物,而不会删除工作树本身。
- 想自定义 purge 扫描目录:执行 mo purge --paths,或直接编辑 ~/.config/mole/purge_paths;配置自定义路径后 Mole 只扫描这些目录,否则使用 ~/Projects、~/GitHub、~/dev 及受支持的 agent worktree 容器等默认位置。
- 想关闭清理活动日志:设置 MO_NO_OPLOG=1。日志位于 ~/Library/Logs/mole/operations.log,可用 mo history 查看。
- 磁盘校验默认跳过:设置 MOLE_ENABLE_DISK_VERIFY=1 可启用。
- Windows 版本:实验性版本位于 windows 分支。
- 教程视频:可参考 PAPAYA 電腦教室的 Mole 教程视频。