DuckDisk:macOS 上的开源 WizTree 替代品 #
DuckDisk 是什么? #
DuckDisk 是一款运行在 macOS 上的开源磁盘与云存储分析工具,被官方定位为“macOS 版 WizTree 替代品”。它用表格优先(table-first)的方式呈现目录大小、分配空间、条目数、文件数、文件夹数与扩展名总量,让用户在同一个密集视图中看清每一份存储到底去了哪里。
除了本地磁盘,DuckDisk 还能通过 OneDrive、Google Drive 的开放 API 以及 SSH 连接分析云端与远程存储的元数据,无需把文件下载到本地即可完成扫描。对于经常被“磁盘空间不足”困扰、又不想逐个文件夹手动翻找的 Mac 用户来说,它提供了一条从扫描、定位到安全清理的完整路径。软件基于 AGPL-3.0-or-later 许可开源,免费使用,同时提供 Apple Silicon 与 Intel 两种架构的安装包。
DuckDisk 有哪些亮点特色? #
- 表格优先的密集视图:目录大小、分配空间、条目数、文件数、文件夹数与扩展名总量始终同屏可见,展开文件夹或切换当前工作目录都不会打乱列对齐,方便快速纵向比较。官网称其为“A working view, not a dashboard”(一个可工作的视图,而非仪表盘)。
- 就地展开的密集树导航:可在原位展开文件夹,也可把某个文件夹设为当前工作目录,配合父级百分比对比,无需切换页面即可逐层定位空间占用大户。
- 文件类型总量统计:直接列出最占空间的扩展名排行,不必手动遍历每个文件夹去寻找“到底是什么类型的文件吃掉了磁盘”。
- 定向刷新(Targeted refresh):只需要从右键菜单刷新某个发生变化的文件或文件夹,而不必重建整个扫描结果,日常维护更省时间。
- 有意识的清理流程:把待删除的文件与文件夹拖入删除区集中排队,确认列表后再执行,并跟踪每一项的成功或失败状态,避免误删。
- 云端存储“零下载”扫描:连接 OneDrive 或 Google Drive 后,DuckDisk 通过服务商 API 读取元数据,文件内容不会被下载,大容量云端资料库也能完成分析;支持可恢复检查点的全量扫描、基于上次完成的云扫描做增量更新、以及依据服务商变更记录进行快速补充扫描。
- 本地优先的隐私设计:本地扫描与分析全程在自己的 Mac 上完成,结果仅缓存于本地;云账号使用 OAuth 授权,刷新令牌存放在 macOS 钥匙串(Keychain)中,而非项目文件夹内。
- 完全开源、代码可审计:DuckDisk 以 AGPL-3.0-or-later 许可在 GitHub 上公开开发,任何人都可以检查代码、提交 issue 或参与贡献。
免费下载 DuckDisk #
以下为官方提供的 macOS 安装包(版本 0.6.4),请根据你的 Mac 芯片类型选择对应文件下载。
| 文件名 | 描述 | 大小 | 下载 |
|---|---|---|---|
| DuckDisk_0.6.4_arm64.dmg | Apple Silicon(M 系列芯片)版本 | 10.4 MB | 夸克网盘 |
| DuckDisk_0.6.4_x86_64.dmg | Intel 芯片版本 | 10.9 MB | 夸克网盘 |
说明:官网同时提供 Mac App Store 版本与直接下载(DMG)版本。Mac App Store 版本为沙盒版本、由 Apple 托管更新,不包含 Google Drive 支持;直接下载版本包含 Google Drive,并经过 Developer ID 签名与 Apple 公证(Notarized)。两者均支持 Apple Silicon 与 Intel。
DuckDisk 如何使用? #
-
启动并授权:首次打开 DuckDisk 后,按提示在「系统设置 → 隐私与安全性 → 完全磁盘访问权限」中为 DuckDisk 开启 Full Disk Access,这样整盘扫描才能取得最完整的结果。
-
发起一次本地扫描:选择 Macintosh HD(或其他磁盘位置)开始扫描,界面上会实时显示扫描进度,完成后即可看到完整的分析结果。
-
在密集树中逐层下钻:直接展开占用空间最大的文件夹,或把某个文件夹打开成为当前工作目录;用大小、条目数、文件数等列做横向比较,并用「文件类型总量」快速找出最占空间的扩展名。
-
定向刷新而非全量重扫:当某个文件或文件夹发生变化时,在其右键菜单中执行刷新,只更新这一部分结果,无需重建整份扫描。
-
拖入删除区、复核后清理:把准备清理的文件或文件夹拖入删除区排队,逐项复核列表后再确认执行,界面会跟踪每一项的完成或失败状态。
-
(可选)连接云端或远程存储:在云存储功能区连接 OneDrive 或 Google Drive,DuckDisk 会通过服务商 API 仅读取元数据进行扫描;若配置了 SSH 存储,也可以用同样方式分析远程目录。云端删除操作会先把项目移入服务商的回收站/垃圾桶(OneDrive 回收站、Google Drive 废纸篓),通常可以恢复。
DuckDisk 的常见问题? #
为什么 DuckDisk 需要「完全磁盘访问权限」? macOS 对照片、邮件、下载目录以及应用数据等文件夹单独做了保护。开启完全磁盘访问权限(Full Disk Access)可以减少整盘扫描时的权限盲区,让扫描结果更完整。
为什么扫描出的文件空间和 macOS 显示的存储用量不一致? DuckDisk 展示的磁盘级「Unscanned(未扫描)」数值,等于 macOS 当前已用空间减去本次扫描去重后的分配总量。系统卷、受保护路径、文件系统自身的计量方式,以及扫描之后发生的文件变动,都可能造成这个差值。点击该数值旁的问号可以查看详情和无法读取的路径。需要说明的是,它并不是一个被实际测量出来的文件夹,也不是一份可直接删除的文件清单。
云端扫描会把我的文件下载到本地吗? 不会。DuckDisk 只通过 Microsoft Graph 或 Google Drive API 读取文件与文件夹的元数据用于分析,不会下载文件内容。
在 DuckDisk 里删除云端文件会发生什么? DuckDisk 会请求服务商把所选项目移动到 OneDrive 回收站或 Google Drive 废纸篓,通常可以正常恢复。DuckDisk 不会永久清空服务商的回收站,任何云端项目都不会在未由用户主动发起操作的情况下被修改。
SSH 远程删除和云端删除一样吗? 不完全一样。当你在 SSH 场景中明确确认远程删除时,DuckDisk 会请求所配置的 SSH 服务器永久删除所选项目。应用会把该操作限制在配置的远程根目录内,并拒绝删除根目录本身,但远程服务器未必提供可恢复的回收站。
DuckDisk 是免费的吗?是开源的吗? DuckDisk 是免费的开源软件,采用 AGPL-3.0-or-later 许可证,源码托管在 GitHub 上公开开发。你可以检查代码、提交 issue 或参与贡献。
0.6.4 版本更新了什么? 根据官方发布说明,0.6.4 带来了支持云端安全的本地扫描、清晰的跳过文件提示、修正后的分配总量统计,以及一个用于解释扫描范围之外磁盘占用的「Unscanned」列。
DuckDisk 如何安装? #
DuckDisk 目前仅支持 macOS,且同时提供直接下载(DMG)与 Mac App Store 两种安装方式。
方式一:通过 DMG 安装(推荐,包含 Google Drive) #
- 根据你的 Mac 芯片类型下载对应安装包:Apple Silicon 机型下载
DuckDisk_0.6.4_arm64.dmg,Intel 机型下载DuckDisk_0.6.4_x86_64.dmg。 - 双击打开下载好的 DMG 磁盘映像。
- 将窗口中的 DuckDisk 图标拖入「应用程序(Applications)」文件夹。
- 从「应用程序」中首次启动 DuckDisk;如遇系统安全提示,请在「系统设置 → 隐私与安全性」中允许打开。
- 按需在「系统设置 → 隐私与安全性 → 完全磁盘访问权限」中为 DuckDisk 开启权限,以获得最完整的本地扫描结果。
- 直接下载版由 Developer ID 签名并通过 Apple 公证(Notarized),支持自动更新检查。
方式二:通过 Mac App Store 安装 #
- 打开 Mac App Store,搜索 DuckDisk 并点击获取安装。
- 该版本为沙盒版本,更新由 Apple 统一托管。
- 注意:Mac App Store 版本不包含 Google Drive 支持,且仅该版本会在钥匙串中保存 SSH 密码与私钥。如需 Google Drive 功能,请改用 DMG 版本。
安装注意事项 #
- 请仅从官方网站或官方发布页面下载安装包,避免使用来路不明的第三方镜像。
- 首次扫描前建议先完成完全磁盘访问权限的授予,否则部分受保护目录可能无法读取。
- 云端功能需要登录你有权访问的 OneDrive 或 Google Drive 账号;SSH 功能仅应连接你已获授权的服务器。
DuckDisk 如何卸载? #
DuckDisk 目前仅面向 macOS,卸载流程与其他 macOS 应用一致。
通过 DMG 版本安装的卸载方式 #
- 退出正在运行的 DuckDisk(可在菜单栏或 Dock 上右键选择退出)。
- 打开「访达 → 应用程序」,找到 DuckDisk,将其拖入废纸篓。
- 清空废纸篓以完成删除。
通过 Mac App Store 版本安装的卸载方式 #
- 打开「启动台(Launchpad)」,找到 DuckDisk 图标。
- 长按图标直至出现删除标记,点击删除;或在「访达 → 应用程序」中将其拖入废纸篓。
清理残留数据(可选) #
DuckDisk 采用本地优先设计,扫描索引缓存与已连接账号记录都保存在当前 macOS 用户的 DuckDisk 应用数据目录下。如果希望在卸载后彻底清除这些数据,可以:
- 在卸载前打开 DuckDisk,先执行「清除扫描缓存」并「断开云账号」,这会一并移除对应的本地元数据与已保存的凭证。
- 卸载后手动检查
~/Library/Application Support、~/Library/Caches、~/Library/Preferences等目录下与 DuckDisk 相关的文件夹并删除。 - 如需撤销 Google Drive 的授权,可登录 Google 账号的「第三方应用与已连接网站」页面,撤销 DuckDisk 的访问权限。
- 存放在 macOS 钥匙串中的 OAuth 刷新令牌,可在「钥匙串访问」中搜索 DuckDisk 相关条目并手动删除。
注意:卸载仅移除本地应用与数据,不会影响你在 OneDrive、Google Drive 或 SSH 服务器上的任何文件。
