@QAInsights: 开发了DiskNuke,只需几次点击即可节省磁盘空间。在AI时代拥有256GB Mac Mini并不完美。它需要频繁…
摘要
DiskNuke是一款使用Devin功能构建的原生macOS磁盘清理工具,旨在通过扫描和删除缓存、日志及其他不必要的文件来安全地回收磁盘空间。
查看缓存全文
缓存时间: 2026/09/21 17:36
构建 DiskNuke 是为了几下点击就能释放磁盘空间。
拥有256GB的Mac Mini在AI时代并不完美。
它需要频繁清理,我常常发现要耗费大量算力寻找边边角角,或为每个安装的工具更新shell脚本。于是DiskNuke应运而生。
利用Devin的新功能,能在极短时间内构建并测试Mac应用。
Devin的测试功能会超出你的预期。如果你懂得如何架构应用,Devin会完美地将其塑造成型。
仓库地址:https://github.com/QAInsights/disk-nuke…
@cognition @DevinAI @devindesktop
QAInsights/disk-nuke
来源:https://github.com/QAInsights/disk-nuke
Disk Nuke
一款原生macOS磁盘清理工具,可安全查找并删除可回收空间——缓存、日志、构建产物、旧下载文件等。
功能特性
- 分类扫描器 — 并发扫描18个类别(应用缓存、日志、临时文件、废纸篓、Xcode DerivedData/Device Support/Simulators/Archives、node_modules、Swift
.build、Gradle、Homebrew缓存、Safari/Chrome/Firefox缓存、旧下载文件、邮件下载、.DS_Store),实时显示各类别进度并提供开关选项 - 大文件查找器 — 扫描用户主文件夹,找出超过可配置阈值的最大文件,按大小和最后访问时间排序
- 预览确认机制 — 删除前显示详细确认清单,包含项目数量、递归文件总数和总字节数;删除操作不可逆,失败项会单独报告
- 安全防护 — 内置硬编码禁止列表(文档、桌面、图片、系统路径、
.app应用包、扫描根目录本身)、用户自定义排除项,跳过使用中/无法访问的文件并报告,不会导致任务中断 - 自定义设置 — 最小文件大小/时间阈值、下载文件保留期限、大文件阈值、自定义扫描路径(整个文件夹/内容/超过N天),所有设置通过UserDefaults持久化;支持
-extraScanRoot /path启动参数或DISK_NUKE_EXTRA_ROOT环境变量指定测试路径 - 主窗口+菜单栏快速清理 — 菜单栏弹窗显示可回收空间,无需打开应用即可快速清理安全类别
截图
概览界面 扫描结果 确认清单 菜单栏快速清理
系统要求
- macOS 14.0+
- Xcode 16+(使用Xcode 26开发)
构建方法
xcodebuild -project DiskNuke.xcodeproj -scheme DiskNuke -configuration Debug -derivedDataPath build clean build CODE_SIGN_IDENTITY=- CODE_SIGNING_REQUIRED=NO
应用位于build/Build/Products/Debug/DiskNuke.app。或在Xcode中打开DiskNuke.xcodeproj并按Cmd-R运行。
项目配置为临时签名(CODE_SIGN_IDENTITY="-",无开发团队),未启用应用沙盒——需要广泛文件系统访问权限以执行清理功能。
安装方法
构建Release版本并复制到应用程序文件夹:
xcodebuild -project DiskNuke.xcodeproj -scheme DiskNuke -configuration Release -derivedDataPath build build CODE_SIGN_IDENTITY=- CODE_SIGNING_REQUIRED=NO
cp -R build/Build/Products/Release/DiskNuke.app /Applications/
或从发布页面下载DiskNuke.zip。应用未经过公证,首次启动时请右键点击DiskNuke.app选择打开,或清除隔离标志:
xattr -dr com.apple.quarantine /Applications/DiskNuke.app
持续集成与发布
.github/workflows/build.yml配置在每次推送和拉取请求时构建Release版DiskNuke.app(上传为工作流产物),推送v*标签时将发布DiskNuke.zip及SHA-256校验和到GitHub Releases:
git tag v1.0.0 && git push origin v1.0.0
完全磁盘访问权限
某些位置(邮件、Safari缓存、~/Library部分内容)受macOS隐私保护控制。未授予完全磁盘访问权限时,受影响类别会显示橙色锁图标并报告无法读取的项目——不会静默失败。请在系统设置→隐私与安全性→完全磁盘访问中授予权限,或使用Disk Nuke设置→权限标签页中的按钮。
重新生成应用图标
swift Scripts/generate_icon.swift
此命令会渲染DiskNuke/Assets.xcassets/目录下所有AppIcon.appiconset的PNG文件(16–512pt @1x/@2x)及对应的Contents.json。
项目结构
DiskNuke/
├── DiskNuke.xcodeproj/ Xcode项目+共享计划
├── Supporting Files/
│ ├── Info.plist
│ └── DiskNuke.entitlements (空文件——无沙盒)
├── DiskNuke/
│ ├── DiskNukeApp.swift WindowGroup + MenuBarExtra + Settings
│ ├── Models/ CleanupCategory, ScanRule, ScanItem, CategoryResult
│ ├── Engine/ SizeCalculator, SafetyGuard, Scanner,
│ │ LargeFilesScanner, Deleter
│ ├── Storage/ AppSettings(UserDefaults持久化)
│ ├── ViewModels/ ScanCoordinator
│ ├── Views/ ContentView, LargeFilesView, ConfirmNukeSheet,
│ │ SettingsView, QuickCleanView
│ ├── Utilities/ Formatters, Debug
│ └── Assets.xcassets/ AppIcon, AccentColor
├── Scripts/generate_icon.swift AppKit/CoreGraphics图标渲染器
└── docs/screenshots/
安全说明
- 删除操作不可逆(不经过废纸篓);请务必仔细审阅确认清单。
- 安全防护机制会拒绝删除禁止列表路径、用户排除项、缓存根目录外的
.app应用包,以及配置的扫描根目录本身——仅允许删除其内容。 - 删除失败的文件(使用中、权限拒绝)会被跳过并在结果清单中列出。
- 自定义路径和排除项功能强大;请仅添加您了解的目录。
许可证
MIT — 详见LICENSE文件。版权所有 2026 QAInsights。
Cognition (@cognition): 特别快讯:Devin有了自己的Mac 🍎
现在Devin可以:
- 在自己的Mac虚拟机(带iOS模拟器)上构建和测试应用
- 通过Slack发送屏幕录制
- 发送TestFlight链接供您立即使用 📲
相似文章
@GitHub_Daily: 长时间使用电脑后,你经常会遇到磁盘空间不足的问题。当你检查存储设置时……
MangoDisk 是一款适用于 macOS 和 Windows 的开源磁盘清理工具,可以扫描并安全地移除不必要的文件,具有深度清理、开发者友好扫描以及对模糊项目提供 AI 解释等功能。
FindDiskKiller
FindDiskKiller 帮助 Mac 用户识别哪些应用程序正在占用磁盘资源。
DevCleaner
DevCleaner 是一款工具,可通过清理开发工具和 AI 应用中的文件,帮助您回收数 GB 的存储空间。
一款开源工具让你在 macOS 上删除 12GB 的 Apple Intelligence 数据
一款名为 RemoveMacAI 的开源命令行工具,可以让 macOS 用户禁用 Apple Intelligence 功能、从磁盘上删除约 12GB 的 AI 模型,并防止这些模型被重新下载。因为 Apple 已移除了曾经用于处理此事的单一设置开关。
De Stash
De Stash 是一款原生 macOS 应用,可将你的整个硬盘以交互式地图的形式可视化,并帮助你安全清理存储空间、查找重复文件、卸载带有残留文件的应用,全部 100% 在本地完成,无任何跟踪。