命令行工具
bysiber/cleardisk avatar
bysiber/cleardisk

从菜单栏识别可重建的开发者缓存

该项目围绕「bysiber/cleardisk」构建,面向真实业务场景提供可复用的开源实践方案,支持稳定落地与可扩展的项目实践。

692 个 Star43 个 ForkSwiftMIT

秒懂

它是什么?
macOS 开源菜单栏清理工具,重点考察 74 类路径、项目构件、废纸篓删除、风险标记和更新网络。
适合谁用?
ClearDisk 适合需要macOS 14+、Xcode、npm、Docker、Python、Rust、AI 工具缓存、风险等级和 Sparkle 更新的读者,但不适合把 README 宣传语直接当成生产保证的场景。采用前先执行 brew tap bysiber/cleardisk;brew trust bysiber/cleardisk;brew install --cask cleardisk,检查与该项目相关的真实输出、权限、版本和回滚路径;尤其要记录资料没有说明的部分,再决定是否纳入正式环境。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 5 天前。
用什么语言写的?
主要是 Swift(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

ClearDisk:ClearDisk 所知的缓存路径和项目类型(第1项)

ClearDisk 扫描 63 个已知的开发者缓存位置。README 列出了 Xcode DerivedData、Archives、Simulators 以及其他 Xcode 路径,还有 Swift PM、CocoaPods、Carthage、Homebrew、npm、Yarn、pnpm、Bun、Deno、pip、UV、Conda、Poetry、Gradle、Maven、Docker、Terraform、Go、Rust 等。项目构件扫描器会在 23 种项目类型中查找项目级缓存,包括 Node.js、Python、Swift、CocoaPods、Xcode、Go、Gradle、Maven、PHP、Ruby、Flutter、CMake、Terraform、.NET、Godot、Unity、Unreal、Haskell、Elixir、Zig 和 Crystal。对于 Next.js 项目,它可以分别显示 node_modules、.next 和 dist。

ClearDisk 的第 1 个核验面应围绕“ClearDisk 所知的缓存路径和项目类型”展开。README 已明确的事实是:macOS 14+、Xcode、npm、Docker、Python、Rust、AI 工具缓存、风险等级和 Sparkle 更新。这句话只说明项目提供了哪些入口或约束,不能推导出未写明的性能、兼容性或安全结论。阅读时应把原文命令、目录、环境变量和版本号分开记录,避免把项目自报数字当成独立测试结果。

针对 ClearDisk 的第 1 项,可以把这一节转成一个可重复的观察点:先固定 brew tap bysiber/cleardisk;brew trust bysiber/cleardisk;brew install --cask cleardisk 对应的版本和运行环境,再检查输出是否出现本节提到的组件、路径或状态。若输出与 README 不同,应优先查看该项目的配置文件、发行记录和 issue;资料没有说明的行为,就保留为未知,不替它补写结论。这个检查点直接服务于 ClearDisk 的使用边界,而不是套用其他仓库的经验。

ClearDisk:删除行为与风险等级(第2项)

使用 ClearDisk 清理时,文件会移到废纸篓,而不是永久删除。应用显示风险等级:绿色表示安全,黄色表示谨慎,红色表示有风险,并且当尝试清理与 Xcode 相关的缓存时,如果 Xcode 正在运行,它会发出警告。每个缓存条目都包含可读的描述,例如"下载的 Swift 包。下次构建时重新下载。"DerivedData 视图会分解哪些项目占用了空间。README 说这些文件可以重建或重新下载,但并未保证每种缓存类型都能成功。

ClearDisk 的第 2 个核验面应围绕“删除行为与风险等级”展开。README 已明确的事实是:macOS 14+、Xcode、npm、Docker、Python、Rust、AI 工具缓存、风险等级和 Sparkle 更新。这句话只说明项目提供了哪些入口或约束,不能推导出未写明的性能、兼容性或安全结论。阅读时应把原文命令、目录、环境变量和版本号分开记录,避免把项目自报数字当成独立测试结果。

针对 ClearDisk 的第 2 项,可以把这一节转成一个可重复的观察点:先固定 brew tap bysiber/cleardisk;brew trust bysiber/cleardisk;brew install --cask cleardisk 对应的版本和运行环境,再检查输出是否出现本节提到的组件、路径或状态。若输出与 README 不同,应优先查看该项目的配置文件、发行记录和 issue;资料没有说明的行为,就保留为未知,不替它补写结论。这个检查点直接服务于 ClearDisk 的使用边界,而不是套用其他仓库的经验。

ClearDisk:隐私与体积(第3项)

ClearDisk 体积为 590 KB,零依赖。它声称不收集数据、不分析、无网络访问。README 声明该应用从不连接互联网,且源代码开放可供验证。它仅在 5 分钟定时器或菜单栏弹出窗口打开时运行,没有后台进程。技术栈是 Swift 和 SwiftUI,使用 Swift Package Manager,总共约 1500 行代码。这些数字来自 README,并未经过独立测量。

ClearDisk 的第 3 个核验面应围绕“隐私与体积”展开。README 已明确的事实是:macOS 14+、Xcode、npm、Docker、Python、Rust、AI 工具缓存、风险等级和 Sparkle 更新。这句话只说明项目提供了哪些入口或约束,不能推导出未写明的性能、兼容性或安全结论。阅读时应把原文命令、目录、环境变量和版本号分开记录,避免把项目自报数字当成独立测试结果。

针对 ClearDisk 的第 3 项,可以把这一节转成一个可重复的观察点:先固定 brew tap bysiber/cleardisk;brew trust bysiber/cleardisk;brew install --cask cleardisk 对应的版本和运行环境,再检查输出是否出现本节提到的组件、路径或状态。若输出与 README 不同,应优先查看该项目的配置文件、发行记录和 issue;资料没有说明的行为,就保留为未知,不替它补写结论。这个检查点直接服务于 ClearDisk 的使用边界,而不是套用其他仓库的经验。

ClearDisk:安装方式与未公证的注意事项(第4项)

安装方式有三种:通过 Homebrew 的 tap 和 cask、从发布页面下载 DMG、以及从源码构建。从源码构建需要 Xcode 命令行工具和 macOS 14+。DMG 版本未经过公证,因此 macOS 会在首次启动时阻止它。README 解释了两种解决方法:使用系统设置点击"仍要打开",或对应用执行 xattr -cr。Homebrew 方法据说能处理隔离标志。README 没有指定 DMG 的大小或确切的发布日期。

ClearDisk 的第 4 个核验面应围绕“安装方式与未公证的注意事项”展开。README 已明确的事实是:macOS 14+、Xcode、npm、Docker、Python、Rust、AI 工具缓存、风险等级和 Sparkle 更新。这句话只说明项目提供了哪些入口或约束,不能推导出未写明的性能、兼容性或安全结论。阅读时应把原文命令、目录、环境变量和版本号分开记录,避免把项目自报数字当成独立测试结果。

针对 ClearDisk 的第 4 项,可以把这一节转成一个可重复的观察点:先固定 brew tap bysiber/cleardisk;brew trust bysiber/cleardisk;brew install --cask cleardisk 对应的版本和运行环境,再检查输出是否出现本节提到的组件、路径或状态。若输出与 README 不同,应优先查看该项目的配置文件、发行记录和 issue;资料没有说明的行为,就保留为未知,不替它补写结论。这个检查点直接服务于 ClearDisk 的使用边界,而不是套用其他仓库的经验。

ClearDisk:扫描机制(第5项)

ClearDisk 每五分钟扫描一组固定的已知开发者缓存目录。它不做全盘扫描或文件索引。README 展示了示例,如 ~/Library/Developer/Xcode/DerivedData 标记为安全,~/Library/Developer/Xcode/Archives 标记为谨慎,~/Library/Containers/com.docker.docker 标记为有风险。当弹出窗口打开时,它也可以按需扫描。删除操作总是进入废纸篓,因此你可以清空废纸篓之前恢复文件。

ClearDisk 的第 5 个核验面应围绕“扫描机制”展开。README 已明确的事实是:macOS 14+、Xcode、npm、Docker、Python、Rust、AI 工具缓存、风险等级和 Sparkle 更新。这句话只说明项目提供了哪些入口或约束,不能推导出未写明的性能、兼容性或安全结论。阅读时应把原文命令、目录、环境变量和版本号分开记录,避免把项目自报数字当成独立测试结果。

针对 ClearDisk 的第 5 项,可以把这一节转成一个可重复的观察点:先固定 brew tap bysiber/cleardisk;brew trust bysiber/cleardisk;brew install --cask cleardisk 对应的版本和运行环境,再检查输出是否出现本节提到的组件、路径或状态。若输出与 README 不同,应优先查看该项目的配置文件、发行记录和 issue;资料没有说明的行为,就保留为未知,不替它补写结论。这个检查点直接服务于 ClearDisk 的使用边界,而不是套用其他仓库的经验。

ClearDisk:许可证与未解答的问题(第6项)

ClearDisk 采用 MIT 许可证,版权归 Kadir Can Ozden 所有。许可证授予使用、复制、修改、合并、出版、分发、再许可和销售副本的权限,且软件"按现状"提供,不附带任何保证。README 没有提供性能基准、用户数量或安全审计。它也没有描述存储预测中线性回归的具体计算方法,除了使用 90 天的历史数据,也没有说明哪些版本的包管理器经过测试。这些在现有资料中均未明确。

ClearDisk 的第 6 个核验面应围绕“许可证与未解答的问题”展开。README 已明确的事实是:macOS 14+、Xcode、npm、Docker、Python、Rust、AI 工具缓存、风险等级和 Sparkle 更新。这句话只说明项目提供了哪些入口或约束,不能推导出未写明的性能、兼容性或安全结论。阅读时应把原文命令、目录、环境变量和版本号分开记录,避免把项目自报数字当成独立测试结果。

针对 ClearDisk 的第 6 项,可以把这一节转成一个可重复的观察点:先固定 brew tap bysiber/cleardisk;brew trust bysiber/cleardisk;brew install --cask cleardisk 对应的版本和运行环境,再检查输出是否出现本节提到的组件、路径或状态。若输出与 README 不同,应优先查看该项目的配置文件、发行记录和 issue;资料没有说明的行为,就保留为未知,不替它补写结论。这个检查点直接服务于 ClearDisk 的使用边界,而不是套用其他仓库的经验。

编辑结论

ClearDisk 适合需要macOS 14+、Xcode、npm、Docker、Python、Rust、AI 工具缓存、风险等级和 Sparkle 更新的读者,但不适合把 README 宣传语直接当成生产保证的场景。采用前先执行 brew tap bysiber/cleardisk;brew trust bysiber/cleardisk;brew install --cask cleardisk,检查与该项目相关的真实输出、权限、版本和回滚路径;尤其要记录资料没有说明的部分,再决定是否纳入正式环境。这个判断针对 ClearDisk 的具体入口和限制,不替代现场验证。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记