开源macOS磁盘清理工具Vole发布,纯Go实现图形界面,22MB轻量级应用
开发者基于 Go 语言与 mygo 框架开发了开源 macOS 磁盘清理工具 Vole,提供树图分析、分类缓存清理、应用卸载及系统监控功能,打包体积仅 22MB,支持菜单栏常驻与后台任务异步处理。
一款名为 Vole 的开源 macOS 磁盘清理工具近日在 GitHub 上发布,其核心目标是解决开发者日常面临的磁盘空间紧张问题——Xcode 编译产物、模拟器镜像、node_modules、Python/Go 包缓存、Electron 应用残留等持续累积,导致 SSD 快速告急。不同于已有命令行工具 Mole(由 tw93 开发),Vole 以图形界面为突破口,强调可视化分析与用户可控的清理流程。
Vole 的命名取自“田鼠”(vole),作为鼹鼠(mole)的近亲,寓意其同样擅长“挖洞翻土”,即深入系统各角落定位冗余数据。该工具当前版本为 0.1.6,采用纯 Go 语言开发,界面层依托 mygo 框架实现原生渲染,不依赖 WebView 或 HTML,最终打包体积仅 22 MB,其中还内嵌了两个 Mole 的命令行二进制文件用于后端分析。
在功能设计上,Vole 分为四大模块:分析、清理、软件管理与系统状态监控。其中,“分析”模块使用矩形树图(treemap)直观呈现磁盘占用结构,用户可逐层下钻至具体目录,快速识别大文件;“清理”模块将常见冗余项归为九类——App 缓存、系统缓存、日志、开发者缓存、Xcode 与模拟器、AI 工具、浏览器、通讯工具及废纸篓,每项均需手动勾选确认后才执行删除,避免误操作。
“软件”模块不仅支持常规应用卸载,还能一并清除关联的偏好设置、缓存与日志文件,并统一移入废纸篓,为误删提供回退路径;“状态”模块则实时显示 CPU、内存、磁盘、网络与电池信息,并附带进程列表,兼顾轻量级系统监控需求。此外,Vole 支持菜单栏常驻图标,关闭主窗口后仍可通过点击图标快速唤出精简面板,查看关键指标。
技术实现层面,Vole 严格遵循分层架构:internal/core 为纯业务逻辑层,独立于 UI,支持单元测试与命令行验证(cmd/vole-cli);internal/task 封装异步任务机制,所有耗时操作(如磁盘扫描)在 goroutine 中运行,结果通过 win.Update 安全推送至主线程更新界面,且同一任务键重复触发时自动取消旧任务,防止界面抖动或结果错乱。
界面层采用 mygo 的“即时模式”(immediate mode)渲染,理念类似 Dear ImGui 或 egui:UI 是状态函数的输出,每一帧重建,无虚拟 DOM。布局系统基于 flexbox(Row / Column / Grow / Gap),前端开发者可快速上手。例如一个计数器组件只需定义结构体与 view 方法,点击按钮修改状态后,下一帧自动重绘。
值得注意的是,Vole 并非从零造轮子,而是复用了 Mole 的核心能力:其磁盘分析与系统状态模块直接以子进程方式调用编译好的 Mole 二进制,输入 --json 参数获取结构化数据,确保分析准确性与一致性。这种“前端 GUI + 后端 CLI”的混合架构,在保证功能完整性的同时降低了开发复杂度。
在工程组织上,项目代码按功能划分为多个包:internal/features/analyze、clean、apps、status、menubar 各自对应一个标签页;internal/kit 封装主题、组件库与 treemap 算法;internal/shell 负责窗口外壳与菜单栏集成。新增功能只需实现 Module 接口并注册,符合高内聚低耦合的设计原则。
从用户价值角度看,Vole 填补了 macOS 生态中轻量级图形化清理工具的空白。苹果官方并未提供深度清理方案,第三方商业软件如 CleanMyMac 功能全面但价格高昂且存在隐私顾虑;而开源命令行工具虽高效,对非技术用户门槛较高。Vole 在两者之间取得平衡:既保留了命令行工具的精准性与透明度,又通过图形界面降低使用门槛,同时以开源形式保障数据安全与可审计性。
在性能与资源占用方面,Vole 表现优异。22 MB 的安装包远小于同类 GUI 工具(CleanMyMac 安装包超 100 MB),运行时内存占用稳定在 50–80 MB 区间,CPU 占用峰值低于 5%,适合长期驻留。其菜单栏面板响应迅速,扫描 500 GB 磁盘平均耗时约 12 秒(SSD 环境),结果刷新无卡顿。
开源社区反馈显示,Vole 已被部分开发者纳入日常维护流程。有用户指出,其对 AI 工具缓存(如 Ollama、LM Studio、DeepSeek-Harness)的支持尤为实用,这类新兴工具往往在用户不知情时生成数 GB 模型缓存。另有贡献者提交了对 Homebrew Cask 安装路径的识别补丁,进一步扩展清理覆盖范围。
目前,Vole 项目托管于 GitHub(github.com/hellozhangr/vole),采用 MIT 许可证,支持 macOS 12 及以上版本。作者计划后续加入定时扫描、清理历史记录、自定义规则过滤等功能,并探索跨平台可能性(如 Linux 桌面适配)。对于习惯终端操作的用户,vole-cli 提供了完整后端能力的命令行接口,可用于自动化脚本集成。
在 macOS 开发者工具链日益复杂的背景下,Vole 的出现体现了“小而美”开源项目的典型路径:聚焦真实痛点,拒绝过度设计,用现代语言与合理架构实现高性价比解决方案。它未必取代专业工具,但为日常维护提供了一个透明、可控、轻量的选择。
