BlitzTree:macOS 原生极速磁盘空间树状图工具 #
BlitzTree 是什么? #
BlitzTree 是一款面向 macOS 的原生磁盘空间树状图(treemap)分析工具,被称为「macOS 版 WizTree」。它通过底层系统调用并行读取目录元数据,能在约 14 秒内扫描整台 Mac 的 360 万个文件,并以按文件类型着色的树状图直观展示每个文件夹占用的大小。
对于经常遇到「磁盘空间不足」却不知道空间被谁吃掉的 Mac 用户,BlitzTree 解决了「找不出大文件、删不干净缓存」的痛点:你可以在几秒内定位到最占空间的目录,直接在应用内跳转 Finder 或移入废纸篓,也可以使用内置的清理面板和 AI 清理功能,把缓存、node_modules、Rust target、Xcode DerivedData 等可安全删除的内容一次性处理掉。
BlitzTree 有哪些亮点特色? #
- 极速扫描引擎:基于
getattrlistbulk(2)一次系统调用读取整个目录的元数据,配合 Rust 工作线程池并发处理多个目录。实测 M4 芯片扫描主目录 310 万条目仅需 10.2 秒,远快于并行readdir + lstat(14.4 秒)和du -skx(65.3 秒)。 - 双视图自由切换:默认提供带软垫阴影(cushion-shaded)的树状图,按文件类型着色,并配有与 Finder 风格一致的同步大纲列表;如果你习惯 DaisyDisk,可在工具栏一键切换为环形(rings)视图,点击文件夹即可放大钻取,点击中心返回上一级。
- 内置 Clean Up 清理面板:自动识别可安全删除的目录——缓存、
node_modules、Rusttarget、XcodeDerivedData等,让你一次性把它们移入废纸篓,无需手动翻找。 - AI 辅助清理:点击「Clean up with Claude Code」(或 Codex),由你自己的 AI 代理在面板中实时生成清理计划,树状图同步高亮对应文件夹。BlitzTree 分两步执行清理并逐次请求你确认:先移入废纸篓,再彻底删除。未安装代理的用户可一键配置 Codex(ChatGPT 账号可免费使用)或 Claude Code。
- 计量精准可信:显示的是分配字节数(allocated bytes),与
du命令结果一致。硬链接文件只计一次,扫描始终停留在单个卷内,iCloud 中仅存于云端的文件夹不会被下载。 - 隐私与安全设计:完全无遥测。BlitzTree 本身每天只联网一次检查 GitHub 更新(退出时安装);AI 清理仅在点击时运行,且只发送扫描得到的文件夹路径与大小,从不发送文件内容。
- 原生 macOS 体验:使用 AppKit/SwiftUI 原生构建,在 macOS 26 及以上系统采用 Liquid Glass 设计。应用已通过 Developer ID 签名并完成 Apple 公证,可像其他应用一样直接打开。
- 面向代理与脚本的 JSON CLI:可单独从源码构建只读命令行工具,
scan输出最大目录与文件的 JSON 清单,quick-wins额外给出清理候选及标签,与 GUI 清理面板共用同一套 Rust 规则实现,且不会修改任何被扫描文件。
免费下载 BlitzTree #
以下为官方提供的安装包,点击链接即可下载。请注意:BlitzTree 需要 Apple Silicon 芯片与 macOS 14 或更高版本。
| 文件名 | 描述 | 大小 | 下载 |
|---|---|---|---|
| BlitzTree.dmg | macOS 安装包(Apple Silicon,需 macOS 14+) | 4.8 MB | 夸克网盘 |
BlitzTree 如何使用? #
- 启动并授权:首次打开 BlitzTree 时,按提示在「系统设置 → 隐私与安全性 → 完全磁盘访问权限」中授予访问权限,然后重新启动应用,这样才能完整读取系统各处的目录信息。
- 选择扫描目标:启动扫描后界面会显示实时进度。默认扫描范围覆盖整个 Mac,你也可以只针对某个卷或文件夹进行扫描。
- 阅读树状图:扫描完成后,面积越大的色块代表占用空间越多的文件或文件夹,颜色代表文件类型。右侧的大纲列表与树状图同步,方便你按名称浏览层级结构。
- 钻取与操作:点击文件夹可放大查看其内部构成,点击中心区域返回上级;选中项目后可选择在 Finder 中显示,或将其移入废纸篓(会有确认提示)。工具栏可切换到环形视图。
- 使用清理面板:打开 Clean Up 面板,查看 BlitzTree 找出的可安全删除目录,一键将它们移入废纸篓。
- 需要时启用 AI 清理:点击「Clean up with Claude Code」或 Codex,让代理给出清理计划;树状图会高亮相关文件夹。清理分两步执行——先移入废纸篓,再由你确认彻底删除。
- 命令行用法(可选):如需在脚本或 AI 代理中调用,可从源码构建 CLI:
cargo build --locked --release --features cli --bin blitztree ./target/release/blitztree scan --root "$HOME/Downloads" ./target/release/blitztree quick-wins --root "$HOME" --limit 20scan以 JSON 列出最大的目录与文件;quick-wins在此基础上附带清理面板已有的候选与标签。两条命令均为只读,不会修改被扫描的文件。
BlitzTree 的常见问题? #
BlitzTree 支持哪些 Mac? 官网明确说明需要 Apple Silicon 芯片与 macOS 14 或更高版本,暂未提供 Intel 版本。
为什么必须授予完全磁盘访问权限? macOS 会限制应用读取某些系统目录。若未获得完全磁盘访问权限,扫描结果会不完整。只有任何应用都无法读取的纯系统数据,BlitzTree 才会在状态栏中单独报告,而不是隐藏掉。
BlitzTree 会把我的数据上传到网上吗? 不会。BlitzTree 完全没有遥测,应用自身每天只联网一次检查 GitHub 更新(并在你退出时安装)。AI 清理仅在你点击时运行,使用你自己的代理,只向 Anthropic 或 OpenAI 发送扫描得到的文件夹路径和大小,绝不发送文件内容。
AI 清理会不会误删我的重要文件?
AI 代理以无头、只读方式运行,只根据已有扫描结果生成计划,最终执行由 BlitzTree 在自身检查机制下完成。官方列出的安全边界包括:只处理主目录内的路径,绝不触碰 Documents、Desktop、Photos、iCloud Drive、Mail、钥匙串或 ~/.ssh;不删除整个 git 仓库或 ~/Library/Caches 这类整层目录;只调用各工具自身的缓存清理命令,且不接受 shell 语法;最近两天使用过的 Codex 会话和项目会被跳过;正在运行的 App 的缓存会等你退出后再处理;「彻底删除」也只删除本次清理移入废纸篓的内容。
为什么显示的大小和 Finder 不一致?
BlitzTree 显示的是分配字节数(allocated bytes),与 du 命令的口径一致,因此可能与 Finder 显示的值存在差异。此外,硬链接文件只计算一次,扫描也不会跨卷。
iCloud 文件会被下载到本地吗? 不会。仅存在于云端的 iCloud 文件夹在扫描过程中不会被下载。
BlitzTree 如何安装? #
通过安装包安装(推荐)
- 下载
BlitzTree.dmg(约 4.8 MB)。 - 打开 DMG 文件,将 BlitzTree 图标拖入「应用程序」(Applications)文件夹。
- 首次启动时,按提示授予完全磁盘访问权限,然后重新启动应用。
- 应用已使用 Developer ID 签名并通过 Apple 公证,可像普通应用一样直接打开,无需额外绕过 Gatekeeper。
从源码构建安装 需要 Xcode 26 或更高版本以及 Rust 环境:
./build.sh # 生成 build/BlitzTree.app
./deploy.sh # 构建并安装到 /Applications
cargo test --release # 运行引擎测试
Rust 引擎通过 C 接口把构建完成的目录树以扁平数组的形式交给 Swift UI,全程无拷贝。也可以用 BlitzTree <path> 直接扫描指定文件夹。
BlitzTree 如何卸载? #
标准卸载方式
- 完全退出 BlitzTree(在菜单栏或 Dock 上右键选择「退出」)。
- 打开「应用程序」文件夹,将 BlitzTree 拖入「废纸篓」(或右键选择「移到废纸篓」)。
- 清空废纸篓即可完成卸载。
清理残留文件(可选)
macOS 应用通常会在用户资源库中留下偏好设置与缓存,官方文档未列出具体的残留路径。如需彻底清理,可在 Finder 中按下 Shift + Command + G,依次前往 ~/Library/Preferences、~/Library/Application Support、~/Library/Caches,查找与 BlitzTree 相关的文件并手动删除。
注意:卸载 BlitzTree 不会影响任何由它分析或清理过的文件——被移入废纸篓的内容需要你自行在废纸篓中处理。
