Mole:CleanMyMac 的开源命令行平替,一个 mo 命令管清理、卸载、磁盘与监控

macOS
开源
CLI
系统优化
工具
2026/10/19
·

阅读时间: 大约 13 分钟

Mole:CleanMyMac 的开源命令行平替,一个 mo 命令管清理、卸载、磁盘与监控

Mole 官方宣传图:四次不同机器上的清理结果面板(dry-run 120.96GB 可回收、实际释放 85.33GB / 62.33GB / 45.40GB,均为个体个案)

Mole 是 tw93(Pake 作者)开源的 macOS 清理与优化命令行工具,主命令 mo,GPL-3.0 协议,官方定位是”把 CleanMyMac、AppCleaner、DaisyDisk、iStat Menus 风格的工作流合并进一个终端命令”。免费开源之外,作者另售闭源原生 Mac/Windows App(mole.fit)。本文基于其 GitHub README、安全说明与仓库页面做一手核对。

一、背景动机:商业清理软件重,命令行用户要可控

macOS 长期积累的缓存、日志、已卸载应用残留、项目构建产物与安装包,是磁盘紧张的主要来源;CleanMyMac 这类商业软件功能全但付费、带图形界面与订阅。Mole 的思路是:在终端里用一条命令完成同类工作,开源可审计,默认不破坏,所有删除动作先 --dry-run 预览。仓库页面(2026-10-19 快照)显示约 71.4k stars、2.5k forks,最新 release 为 1.61.0。

二、是什么:开源 CLI 与闭源原生 App 的双层结构

README 顶部即划清边界:本仓库是免费开源 CLI(mo);带”删除前审阅、800+ 应用残留库、磁盘钻取、实时状态、风扇控制”的是独立下载的原生 App。brew install mole 只装 CLI。

  • 支持环境:macOS 12 及更新,Intel 与 Apple Silicon 均可;Windows 有独立 windows 分支 CLI;官方不支持 Linux。
  • 安装:brew install mole,或脚本 curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash;Nix 用户可装 flake;也支持 mo update --nightly 跟踪 main 分支(明确提示粗糙边缘)。
  • 协议:CLI 为 GPL-3.0,修改再分发须同协议,fork 需改名并署名上游;原生 App 为单独商业产品。
  • 防伪声明:官方只通过 Homebrew、本仓库与 mole.fit 分发,伪装的”Mole 系”应用、要求粘贴编码命令的站点均无关联。

三、技术机制:七条命令 + dry-run + 白名单 + 操作日志

命令职责关键机制
mo clean深度清理:用户/应用缓存、日志、临时文件、开发者产物、已卸载应用残留默认清空废纸篓(可在白名单保留);--dry-run 预览;--whitelist 保护指定缓存
mo uninstall卸载已装应用连同 LaunchAgents、偏好设置、残留共享数据在仍有副本使用时保留;个人数据默认保留,按 D 逐选数据路径;不改写 shell/Hook/MCP 配置,只按文件行号列出引用
mo optimize有界维护:QuickLook 缩略图、图标服务缓存、DNS 缓存、数据库优化、磁盘健康不必要/不安全/不可用的任务带原因跳过;--whitelist 排除任务与路径模式
mo analyze交互式磁盘 TUI 浏览器方向键/Vim 导航、过滤、多选、Finder 预览、确认后移废纸篓;--json 输出带 scan_status(complete/partial/unavailable)
mo status只读实时仪表盘CPU、内存、磁盘 I/O、网络、电源、进程;健康分综合 CPU/内存/磁盘容量/SMART/I-O/温度/电池/运行时长
mo purge清理可重建项目产物(node_modules、target、.build、build、dist)近 7 天有活动或活动不可验证的默认不选;保护含部署密钥对、嵌套 Git 仓库、Git 跟踪文件的目录;优先 fd,回退 find
mo installer找 DMG/PKG/MPKG/ISO/XIP/ZIP 安装包扫描 Downloads、Desktop、Homebrew 缓存、iCloud、邮件、Telegram 等;损坏压缩包跳过,符号链接根支持但不跟随其下链接

另有 mo touchid(为 sudo 配置 Touch ID)、mo completion(Tab 补全)、mo history(查 ~/Library/Logs/mole/operations.log,可用 MO_NO_OPLOG=1 关闭)。

安全设计:校验路径、保护共享与系统目录;默认不带 sudo,仅在需要时申请管理员权限;白名单文件读不到时 clean/purge/optimize 直接停止而非裸奔;analyze 删除一律进废纸篓而非直接抹掉;非交互 purge 必须显式 --yes。

四、关键数据:官方示例与宣传图的数字口径

README 正文的缩短示例(作者演示机,非统计均值):

场景官方示例输出
mo clean跟踪清理 4.5GB、97 项、4 类,可用空间 219.0GB → 223.5GB
mo uninstallPhotoshop 2024 释放 4.20GB,个人数据保留
mo optimize32 项中 Applied 2、13 unchanged、3 skipped、1 unavailable
mo purge估算释放 6.00GB、2 项(website node_modules 3.80GB、rust-app target 2.20GB)
mo installer移除 5 个安装包释放 3.83GB
mo status 示例MacBook Pro M4 Pro / 32GB / macOS 26,健康分 92,CPU 45.2%、内存 58.4%

官方宣传图(big-mole)的四个面板:dry-run 发现 120.96GB 可回收(未改动);三次实际释放 85.33GB、62.33GB、45.40GB,对应清理文件数 1215902 / 815844 / 505096。

Mole 官方社区反馈拼贴:X 用户晒各自机器结果(如 23GB+10GB、237.52GB),数字随机器差异极大

五、评测方法与口径批判:释放空间为什么不能当承诺

  1. 个案不是均值:宣传图 85.33GB 与社区帖中 237.52GB、23GB+10GB 都来自具体某台机器,磁盘占用、缓存规模、使用时长不同,结果可从几十 GB 到几百 GB 剧烈波动;“约等于 19 部 4K 电影”是营销类比,不是容量换算承诺。
  2. dry-run 与实清两个口径:120.96GB 是”潜在可回收”预览值,实际释放取决于确认选项与权限,二者本就不等。
  3. 大小估算有偏差:analyze 的快速文件夹估算可能把 APFS 共享块重复计;+ 后缀表示部分扫描实测字节,unknown/unavailable 不等于空目录;扫描非原子快照,临时失败不替换完整缓存结果。
  4. optimize 不是加速魔法:官方示例 32 项只生效 2 项,数据库优化需先关闭对应应用,磁盘验证在条件不满足时直接跳过。
  5. purge 空间为估算:且默认保守(7 天活动保护、密钥/Git 保护),深于 6 层的项目需 --paths 自定义扫描根。
  6. 健康分是启发式综合:不替代硬件诊断;僵尸进程诊断只读,不会替你结束进程。

六、适用与不适用场景

适合:

  • 偏好终端、想开源可审计地清理 Mac 的个人开发者;
  • 需要可重建产物清理(node_modules/target)与安装包搜刮的前端/Rust 开发者;
  • 想用 --dry-run + 白名单把删除风险压到最低的谨慎用户;
  • 需要只读系统仪表盘(CPU/内存/磁盘/网络)替代部分 iStat 功能的人。

不适合:

  • 想要图形界面、一键深度清理与应用市场式体验的用户(那是付费原生 App 的范围);
  • Linux 用户(无支持);
  • 期待”清理后显著变快”的用户——optimize 是有界维护,不治硬件老化与内存瓶颈。

七、客观分析:优势与局限

优势:

  1. 命令覆盖完整:清理、卸载、维护、磁盘浏览、监控、产物清理、安装包搜刮一条线,且全部可 dry-run;
  2. 安全默认值扎实:白名单读不到即停止、个人数据默认保留、删除进废纸篓、操作日志可追溯;
  3. 可脚本化:--json/NDJSON 输出、--watch 流、非交互 --yes,适合纳入自动化;
  4. 生态集成:自带 Raycast/Alfred 启动器脚本,自动探测 9 种终端;
  5. 协议干净:GPL-3.0,核心 CLI 永久免费。

局限:

  1. 能力分层在付费 App:800+ 应用残留库、删除前审阅、风扇控制、磁盘钻取不在开源 CLI;
  2. 平台窄:仅 macOS 12+,Windows 为分支实验,无 Linux;
  3. 效果依赖机器状态,宣传数字不可外推;
  4. 磁盘估算与扫描完整性有明确边界,自动化需自行检查 scan_status;
  5. 深度自定义成本:白名单、purge 路径、保护规则都要手动配,开箱智能度不及商业软件。

八、它意味着什么 / 谁该关注

Mole 代表了系统工具的”CLI 开源化”路线:把商业清理软件的核心动作拆成可预览、可审计、可脚本的命令,用 GPL 核心换口碑、用原生 App 变现。值得关注:Mac 上的开发者与运维、想替代 CleanMyMac 订阅的终端用户、以及研究”dry-run + 白名单 + 操作日志”安全清理范式的工具作者。采用前请先 mo clean --dry-run 看清单,再决定是否删除。

参考来源