跳到主要内容

这里是 Mole Mac 官网,要去 Windows 版官网吗?

前往 Windows 版
Mole
MacWindows
功能 实测 口碑 定价 常见问题 博客
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES PortuguêsPT NederlandsNL
购买 下载

    帮助、文档、更新日志和文章

    博客

    用 Claude Code 或 Codex 安全地给 Mac 清理空间

    开发者清理发布于 2026年10月21日约 10 分钟

    现在越来越多人打开 Claude Code 或 Codex,直接输入一句「磁盘快满了,帮我看看是什么占的」。这件事交给 Agent 其实很合适,它能一口气读完上百个目录,认出 ~/Library/Developer/Xcode/DerivedData 是编译产物、~/Library/Containers/com.tencent.xinWeChat 是微信聊天记录,再用大白话讲给你听。真正有风险的是下一步,同一个 Agent 根据自己读到的 du 结果拼出一条 rm -rf,直接在你的用户目录里执行,这条命令没有预览,不进废纸篓,删了什么也没有任何记录。

    这篇讲一种更稳的分工,Agent 负责读和解释,带预览的清理工具负责删,中间由你点头。这里用的工具是 Mole 的免费命令行版 Mole CLI,以及它的官方 Agent skill,这个 skill 会教 Claude Code、Codex、Cursor 等 Agent 怎么正确地用 Mole。换成别的工具,只要它有 dry run,下面这套习惯一样适用。

    为什么不该让 Agent 用 rm 删文件

    清理里模糊的那部分正是 Agent 擅长的,比如遍历一棵很大的目录树,判断某个路径属于哪个 App,从四千个候选里挑出最值得看的十二个。但「这个路径能不能删」是另一类问题,它要求每次都给出同样的答案,还要有一份你能逐条核对的清单,这两样模型都给不了,更完整的讨论在AI Mac 清理工具:模型该决定什么,不该决定什么。

    落到实际操作上,让 Agent 直接用 shell 命令清理,会少掉四样东西:

    1. 预览。 rm 一执行就生效,你看到的是一行命令,看不到它展开后的三千个路径。
    2. 退路。 用 rm 删掉的文件不经过废纸篓,没有备份的话就找不回来了。
    3. 记录。 下周某个 App 的设置突然没了,你没办法知道是不是那次清理动过它。
    4. 不能碰的清单。 一个名字像缓存的目录,里面可能是登录会话、签名密钥,或者另一个 App 还在写的数据库,Agent 未必知道。

    专门做清理的工具本来就带着这四样,Agent 要做的就变成读懂它的输出,然后问你。

    安装

    先用 Homebrew 装 Mole CLI,再装 skill:

    brew install mole
    npx skills add tw93/Mole -a claude-code codex cursor -g -y
    

    第二条命令会一次给 Claude Code、Codex 和 Cursor 都装上 skill,用不到的 Agent 从命令里删掉就行。如果习惯用 Agent 自己的插件系统,Claude Code 里依次运行 /plugin marketplace add tw93/Mole 和 /plugin install mole@mole,Codex 里依次运行 codex plugin marketplace add tw93/Mole 和 codex plugin add mole@mole。以后更新 skill 用 npx skills update -g -y。

    装完不需要任何配置,下次你问起磁盘空间、想卸载某个 App,或者 Mac 为什么变慢,Agent 会自己加载这个 skill 并照着做。

    skill 给 Agent 定的四条规矩

    skill 是一份不长的 Markdown 文件,大部分篇幅是规矩而不是命令,和你的文件安全相关的是这四条:

    1. 先读,再动。 Agent 先用只读命令回答问题,磁盘占用看 mo analyze --json,内存和 CPU 看 mo status --json,以前清理过什么看 mo history --json,装了哪些 App 看 mo uninstall --list,再加上所有带 --dry-run 的预览,这些都不用问你就可以跑。
    2. 每次删除前先预览。 清理之前,Agent 先带上 --dry-run 跑一遍,然后把结果讲给你听,一共多大,最大的几组是什么,每一组是直接删除、进废纸篓,还是之后要重新下载才能恢复。
    3. 敲下删除命令之前先问你。 由 Agent 调用时,mo clean 一启动就开始删,中间不会再确认,所以同意这一步必须先在对话里完成。「为什么磁盘满了」只是一个问题,不算同意,看完预览之后说「就清这些」才算。
    4. 有些步骤留给你自己。 卸载 App、在列表里勾选、任何需要管理员密码的操作,都留在你自己的终端里做,Agent 只给你准确的命令然后停下,它不会运行 sudo,也不会向你要密码。

    还有两条小规矩堵住了常见的绕路,Agent 只能用 skill 里列出的命令和参数,没法自己编一个 --force 出来,Mole 跳过或保护的路径,Agent 也不能改用 rm 硬删,跳过本身就是 Mole 的答案。

    一次完整的对话是什么样

    假设你输入:「Mac 提示磁盘快满了,是什么占的?」

    Agent 先跑 mo --version,确认面对的是 macOS 版,然后跑 mo analyze --json。返回的是你用户目录里占空间大的位置,大小以字节为单位,每项带一个 scan_status,取值是 complete、partial 或 unavailable,Mole 认得出是缓存的目录还会标上 cleanable: true。最大的两三项,Agent 可能再对它们各跑一次 mo analyze --json 看看里面是什么。

    接着它会把找到的东西分给能处理的人:

    找到的东西 交给谁
    App 缓存、日志、已删除 App 的残留 mo clean
    项目里的编译产物和依赖目录 mo purge
    不再用的已安装 App mo uninstall,由你来运行
    下载文件夹里的安装包 mo installer,由你来运行
    文稿、照片、音乐、虚拟机、iPhone 备份 你自己决定,没有哪条 Mole 命令会删它们

    最后一行和前面几行一样重要。好的回答会告诉你其中 40 GB 是一台 Parallels 虚拟机,然后把决定权留给你,而不是去找一条能把它删掉的命令。

    如果你想清理出空间,Agent 会先跑 mo clean --dry-run,摘要显示在对话里,每一个候选路径都写进 ~/.config/mole/clean-list.txt,所以在真正动手之前,你问一句「我的 Slack 聊天记录在不在里面」,它可以直接查给你看。它也会提醒你 mo clean 默认会清空废纸篓,很多人是故意把东西留在里面的。只有你说了可以,它才会运行 mo clean。

    哪些事留给你,为什么

    需要管理员权限的部分。 一部分系统缓存要管理员密码才能清,由 Agent 运行时,mo clean 只清用户级的部分,跳过系统级的部分,并在输出里写明。想两部分一起清,Agent 会请你在自己的终端里运行 mo clean,Mole 会自己弹出密码输入,一次跑完。它不会先清一半、再让你补另一半,因为第二次运行会重新扫描,把第一次做过的事再做一遍。

    卸载 App。 Agent 可以用 mo uninstall --list 找到这个 App,再用 mo uninstall --dry-run <名字> 给你看会一起删掉什么,包括 App 本身、它的缓存,以及一份「保留的个人数据」清单,里面的设置和数据默认不删。真正的卸载在没有终端时会直接拒绝,所以 mo uninstall <名字> 由你自己来跑,删掉的文件会进废纸篓。以前卸载的 App 还留着东西,可以看卸载 Mac 应用后如何清理残留文件。

    项目目录。 mo purge --dry-run 会列出两类东西,一类是编译产物,离线重新构建就能恢复,另一类是 node_modules 这种依赖目录,要重新下载才能恢复。只想清其中几个项目时,Agent 会把 mo purge 交给你,它的选择列表可以让你逐个勾选。

    事后怎么核对

    真正跑完之后,Agent 会读命令自己的摘要和 mo history --json --limit 1,告诉你删了什么、跳过了什么。跳过的东西它不会再重试,Mole 跳过的通常是正在使用或者被刻意保护的文件。

    这份记录还能回答一个通常一周后才冒出来的问题:「那次清理是不是删了我的文件?」直接这样问 Agent 就行,它会在 mo history --json --limit 200 里找这个路径以及它下面的所有东西,日期更早的话再去读完整的删除日志。没找到,说明 Mole 没有删除它的记录,这不等于证明它一定没被删,Agent 也应该这样措辞。

    想让某个目录以后永远不被清理,让 Agent 把它加入保护就行,它会在你同意后把路径写进 ~/.config/mole/whitelist,再跑一次 mo clean --dry-run,确认这个路径已经不在清单里了。

    用的不是 Mole 怎么办

    skill 是为 Mole 写的,但里面的规矩不是。如果你让 Agent 用别的工具清理,可以在对话一开始先贴上这样一段:

    删除任何东西之前,先把清单给我看,说清楚哪些进废纸篓、哪些是永久删除。
    用工具自带的 dry-run 或预览模式,不要用 rm 或 find -delete,不要运行 sudo。
    任何会删文件的命令,都等我说可以再执行,执行完告诉我删了什么、跳过了什么。
    

    它没法凭空变出保护清单和操作日志,但至少把预览和决定权放回了该在的地方。不管用什么工具,哪些东西应该留着,可以看Mac 清理工具永远不该删什么和Mac 上哪些缓存可以安全删除,这两篇按目录逐个讲过。

    常见问题

    哪些 AI Agent 能用 Mole 的 skill?

    安装命令里写了 Claude Code、Codex 和 Cursor,npx skills 也能给其他读取 skill 文件的 Agent 安装。Claude Code 和 Codex 还可以从各自的插件市场安装。Agent 必须能在你的 Mac 上执行命令,所以只能聊天、没有终端的助手跑不了 Mole。

    Agent 会不会不问我就删文件?

    skill 要求它只在预览之后、你在对话里同意之后,才运行会删除的命令。但这是给 Agent 的指令,不是一把锁,所以 Agent 自己对 shell 命令的确认提示请保持打开,也不要在它的权限设置里预先放行 rm 或 mo clean。卸载和需要管理员权限的步骤,Agent 根本跑不了,只能在你的终端里完成。

    通过 Agent 清理,会比单独用 Mole 删得更多吗?

    不会。Agent 跑的就是你自己也能敲的那些 CLI 命令,保护路径和预览都一样,它多做的是阅读和解释,告诉你哪个目录属于哪个 App,该用哪条命令处理,或者哪条都不该用。

    Mole CLI 收费吗?

    不收费。Mole CLI 以 GPL-3.0 协议开源,skill 也在同一个仓库里。Mole for Mac 是另一个付费 App,适合更习惯点鼠标的人,Agent 最多只会在一次对话里提一次,而且只在某一步用窗口操作更方便时才提,比如勾选要卸载的 App。

    Windows 上能这样用吗?

    能,配合 Mole CLI for Windows 使用,它有自己的一套命令,回收站和管理员权限的规则也不一样。skill 会读 mo --version,自动切换到 Windows 的说明。Windows 版的这篇在用 Claude Code 或 Codex 安全地给 Windows 清理空间。

    延伸阅读

    • AI Mac 清理工具:模型该决定什么,不该决定什么,讲模型在清理里哪里帮得上忙、哪里帮不上。
    • 怎么清理 Mac 上 AI 编程工具留下的东西,讲 Claude Code、Codex、Cursor 在 Mac 上留下的缓存和会话。
    • Mole CLI 和 Mac 版,该选哪个,讲命令行版和 App 版的区别。

    开发工具越用越占空间,可以用 Mole 清理缓存、查找大文件。

    下载试用 Mole

    继续阅读

    • 开发者清理如何清理开发工具缓存,又不破坏构建约 5 分钟
    • 开发者清理Mac 上怎么卸载 Python 和 Node.js约 12 分钟
    • 开发者清理npm 缓存越用越大,Mole 这次只清不再被引用的部分约 6 分钟

    Mole · 鼴

    清理 Mac,管理软件,查看运行状态

    v1.18.0 (337) · 更新日志

    产品

    Mac 清理 App 卸载 Mac 优化 磁盘分析 系统监控

    支持

    帮助 功能文档 更新日志 博客

    法律

    服务条款 隐私政策 退款政策

    资源

    Windows 版 命令行工具 推广联盟

    联系

    Twitter hi@mole.fit

    Mole 唯一官网 mole.fit · 请勿下载来源不明的安装包

    命令行版继续免费开源。