DiskClean:一键找出并清理占空间的构建、依赖与缓存目录

+
DiskClean:扫描后按项目分组,勾选即可清理
DiskClean:扫描后按项目分组,勾选即可清理

DiskClean 是一个给程序员用的磁盘清理工具。

写代码的机器上,node_modulestargetvenvbuild 这些可以随时重新生成的目录会悄悄吃掉几百 GB 空间。麻烦的是,用系统自带的工具很难一眼看清:它们到底散落在哪、各有多大、哪些删了安全。DiskClean 把这件事变简单——扫描 → 分组看大小 → 勾选 → 一键清理,源码一律不动。

为什么做这个工具

起因很简单:我自己的代码盘满了。

我在一个目录里堆了几十个工程,技术栈混杂——Rust / Tauri、Node、Python、Flutter。每个项目编译、装依赖之后都会留下一堆产物目录,时间一长就积成了黑洞。系统自带的工具只能告诉我"某个文件夹很大",却没法回答那个真正的问题:哪些是源码,哪些只是能重建的垃圾?

于是我写了 DiskClean。第一次拿它扫自己的代码盘,结果是 5835 个可清理目录、合计 435 GB——光 Rust 的 target 就占了 262 GB。挑掉不再需要的项目,一次释放了 305 GB

主要功能

DiskClean 只认那些"删了也能重新生成"的目录,源码和配置一律不碰。

  • 递归扫描,命中即停:找到一个目标目录(比如 node_modules)后就不再深入它内部,因此不会把嵌套的 node_modules 重复计算,大小算得准。
  • 并行统计大小:多线程同时计算各目录体积,几百 GB 的大目录树也能很快出结果,扫描过程中实时显示"正在扫哪里"。
  • 三种视图自由切换
    • 按项目——看每个工程能腾出多少空间,适合"这个项目不做了,整个清掉"。
    • 按类型——看 target / node_modules / venv 各占多少。
    • 全部目录——平铺按大小排序,逐个挑。
  • 勾选、预览、再删:分组或单个勾选,顶部实时显示"已选中 XX GB",删除前二次确认,完成后告诉你实际释放了多少。
  • 安全兜底:只删可重建目录;被进程占用、加锁删不掉的会自动跳过并列出来,不会中断整个流程。

默认识别的目录类型

node_modules  target  __pycache__  .pytest_cache  .mypy_cache  .ruff_cache
dist  build  out  .next  .nuxt  .turbo  .parcel-cache  .vite  .svelte-kit
.gradle  .venv  venv  .cache  coverage  .angular

覆盖了 Node、Rust、Python、前端框架、Java/Gradle、Flutter 等常见技术栈的产物目录。

中英双语界面

界面支持简体中文和英文,首次运行会按系统语言自动选择,右上角也能随时一键切换。

DiskClean 英文界面

怎么用

  1. 选一个根目录(比如你放所有代码的总目录),或直接粘贴路径。
  2. 扫描,等它跑完——过程中能看到当前正在扫描的目录和已发现数量。
  3. 按项目 / 按类型 / 全部目录切换视角,勾选要清理的项。
  4. 清理选中,确认后完成,界面会显示这次释放了多少空间。

删掉的东西都能用 npm installcargo buildflutter build 等命令随时重建,所以放心清。

小提示:build / out / dist 这几个名字,在极少数项目里可能是手写的源码目录。DiskClean 面向的是它们通常为生成物的场景——如果不确定,删前展开看一眼路径就好。

技术实现

DiskClean 用 Tauri 2 + Rust 后端构建,界面是原生 HTML / CSS,跨平台(Windows / macOS / Linux)。

扫描、体积统计和删除全部在 Rust 侧完成,跑在后台线程,界面始终保持流畅不卡顿;进度通过事件实时推送给前端。打包出来的程序很小,Windows 安装包只有 1 MB 出头

系统要求

Windows 10 / 11 64 位可直接运行(依赖系统自带的 WebView2)。macOS 和 Linux 可自行从源码构建。

下载

Windows 安装包(约 1 MB,安装后自带中英双语界面):

推荐用 .exe(NSIS 安装器)。安装后首次运行会按系统语言自动选择中文或英文,右上角可随时切换。