ARTICLE · 979967
分享一个漂亮实用的能分析清理本地 AI 应用缓存的工具
随着AI工具越用越多越频繁,缓存文件也越堆越多,平常也不注意清理,时间一长,磁盘就开始告警。
虽然市面上有很多清理软件,但是最主要的是针对AI缓存文件的清理,于是就自己开发了这么一款工具,代码已经开源,从评论区获取。
下面介绍一下这款工具:DSHClean!
DSHClean 是一个用 SwiftUI 原生实现的 macOS 清理与维护工具,菜单栏常驻,主窗口提供系统清理、AI 工具分析、应用卸载、磁盘分析等九个模块。
极简风格,点击菜单栏的托盘图标,展开仪表盘:


扫描类别:AI 工具缓存(目前还在测试,代码已经开源)、应用缓存、应用日志、沙盒容器缓存、浏览器缓存、开发工具缓存(Xcode DerivedData、npm/pip/Homebrew 等)、系统杂项、废纸篓。
自己了做了一个测试:扫出 28 项 / 26.2GB,其中 AI 工具缓存里仅 claude 一项就有 7.85GB。
这是开发 DSHClean 的主要原因,可以知道这些 AI 工具到底在我的 Mac 上做了什么?

操作步骤:
1、进入模块自动开始分析(只读,不删任何东西); 2、左侧是识别到的 AI 工具列表及总占用,右侧是选中工具的详情; 3、详情分两部分——
• 占用分布:每个数据目录的大小、占比,以及用途标注(「会话记录」「缓存(可重建)」「模型文件」「登录凭据(勿删)」……); • 最近 7 天写入的文件:按时间排列的写入活动,能看到工具最近在活跃地写什么。 
识别范围:Claude Code / Desktop、Codex、ChatGPT、Gemini CLI、GitHub Copilot、Cursor、Trae、Kimi、豆包、DeepSeek、Windsurf、Aider、MiniMax——13 类主流 AI 编程与对话工具。
实际使用感受: AI 工具在使用了很长一段时间后,能过知道这些工具在磁盘上都存储了一些什么文件。点开 Claude Code 能看到 ~/.claude 下会话记录与缓存各占多少,标着「缓存(可重建)」的就可以放心交给系统清理模块处理。
注意:本模块只做分析,不提供删除——清理动作统一收口到系统清理的「AI 工具缓存」类别。

操作步骤:
1、进入模块自动盘点; 2、用右上角排序切换:按大小 / 按上次使用 / 按名称(「按上次使用」配合「从未使用」标记,是找出积灰应用的利器); 3、点某应用的「卸载…」,弹窗预览将一并移入废纸篓的全部关联文件(Application Support、Caches、Preferences、LaunchAgents 等 12 类位置); 4、确认后应用本体和残留一起进废纸篓。
安全细节:残留匹配以 bundle ID 精确匹配为主(不做全盘模糊搜索,快且不误伤);若同一应用还有另一处安装(如 Homebrew 装了同款 CLI),共享数据会被自动跳过;正在运行的应用拒绝卸载。

操作步骤:
1、进入模块自动扫描用户目录,按大小降序列出; 2、双击任意目录下钻,顶部出现面包屑可随时返回任意层级; 3、需要找大文件时切换右上「大文件」标签页,按需列出 ≥100MB 的文件(只在打开该标签时才扫描,不拖累主扫描); 4、支持搜索框过滤;勾选条目可移入废纸篓。

实测:用户目录下 Library 223.1GB、soft 87.5GB、Applications 87.3GB;下钻 Library → Application Support 后立刻看到 Claude 16.9GB、Cursor 3.31GB 排在最前——和 AI 工具分析的结论互相印证。
性能提示:扫描用 4 路并发 du 子进程,冷缓存扫完整用户目录约 3.5 分钟;扫过的目录会被系统页缓存预热。

面向开发者的模块:扫描配置目录下的 node_modules、target、dist、build、.next、__pycache__、venv 等构建产物。
1、进入模块点「开始扫描」; 2、结果按大小排列,每项标注所属项目与产物类型; 3、7 天内有活跃提交的项目默认不勾选(通过 .git/index、package.json等文件的修改时间判断,不会误删正在进行的项目依赖);4、确认清理,全部进废纸篓。
实测:一条 workplace-dsh/node_modules 就有 1.75GB。扫描根目录默认为 ~/Projects、~/Developer、~/soft,可在设置页增删。

列出 LaunchAgents 启动项及其运行状态,「禁用」后重启依然保持(写入 launchctl 的 disabled 数据库)。系统级启动项只读展示,避免误伤。觉得开机变慢、后台不明进程多的时候先来这里看。

按名称 / PID / 端口查询进程,查看启动时间、资源占用、完整启动命令;lsof 反查「哪个进程占了我的端口」是高频用法。只能结束当前用户自己的进程,系统进程只读。

每一次删除都记录在 ~/Library/Logs/DSHClean/operations.log,带应用图标归属。清理出问题时来这里查「当时到底删了什么」。

• 产物清理扫描目录:增删产物清理的扫描根目录; • 温度数据源:显示当前温度来源,并说明如何开启 CPU 核心温度(见文末常见问题)。
相比 CleanMyMac:CleanMyMac 功能确实最全(粉碎机、隐私、健康监控、实时防护),UI 打磨也是标杆;但它是订阅制,且「智能清理」一键式的设计让用户看不清删了什么。DSHClean 反其道:每一步都给你看清单和说明。如果你只想装一个工具解决所有维护问题,CleanMyMac 依然合理;如果你在乎「知道它在删什么」和免费开源,DSHClean 是更干净的选择。
相比 Mole:清理规则与安全模型借鉴了 Mole 的设计思想(Mole 的领域知识很扎实)。差异在于 DSHClean 有图形界面、AI 工具分析、应用卸载和趋势图;Mole 更极简,命令行习惯者会喜欢。两者不冲突。
相比 DaisyDisk:磁盘可视化 DaisyDisk 的太阳图交互确实比列表直观,这是它的护城河。DSHClean 的磁盘分析朴素(列表+面包屑+大文件),胜在和清理动作打通——看到大的就能勾选进废纸篓,不用二次拖拽。
相比 AppCleaner:卸载残留查找是它的本行,做得很好。DSHClean 的卸载能力相当(12 类位置精确匹配、姊妹安装守卫、按上次使用排序),好处是不用再多装一个应用。
DSHClean 目前的不足(手册如实说):没有粉碎机 / 隐私清理这类进阶功能;磁盘分析没有可视化图表;不支持 Intel Mac 和 macOS 13 及以下;无多语言;温度显示在未配置 powermetrics 时是主板传感器而非核心温度。都在权衡之内,但你应该知道。
以下数据来自 M1 系列芯片 + macOS 14 的真实测量:
扫描全部以后台低优先级(.utility QoS)执行,可以随时取消;磁盘遍历刻意压在 4 路并发并带节流,宁可慢一点也不让风扇转起来——
长时间全速扫描发热的清理工具本身就违背了它存在的意义。
Q1:温度显示 50 多度,但其他工具显示 CPU 78 度?A:温度显示目前显示的还存在问题,正在优化。未配置 powermetrics 时,DSHClean 只能读到主板传感器(免 root 的最优来源),它比 CPU 核心温度低 15–30°C,面板上标注为「主板(非核心)」。想显示真实核心温度,跑一次配置脚本:
配置后约 5 分钟内自动切换为「核心」温度,无需重启应用。该脚本只向 /etc/sudoers.d/ 写入一条仅允许 /usr/bin/powermetrics 的免密规则,可用 remove-powermetrics.sh 随时撤销。
Q2:清理后磁盘空间没有立刻变化?A:因为内容在废纸篓里。确认无误后清空废纸篓(系统清理里「废纸篓」类别默认不勾选,就是防误删)。
Q3:扫描可以中途停止吗?A:可以,所有扫描都有「取消」按钮,立即生效。已经列出的结果不会丢失,切换模块再回来还在。
Q4:为什么不支持清理 X(某个系统目录)?A:DSHClean 刻意只做用户级目录:系统级清理收益小、风险高,且需要 root 权限。判断依据见 DESIGN.md。
Q5:卸载应用后 Preferences 里的 .plist 还在?A:检查该应用是否在保护名单(密码管理器、云盘、聊天类应用的数据被刻意保留)。
— END —
如果这篇文章对你有帮助,点赞、在看、转发就是对我最大的支持。