【免费下载链接】MacSai
Mac Sai: the open-source Mac cleaner, optimizer, and malware scanner. A free, Apple-notarized alternative to CleanMyMac, built with Swift 6 and SwiftUI.
Mac Sai 菜单栏小组件是开源 Mac 清理工具 Mac Sai 的独立监视器,让 CPU 使用率、内存压力、磁盘空间、网络速度与电池状态常驻菜单栏。它由独立的 MacCleanMenu 进程驱动,每 3 秒刷新一次数据,无需打开主窗口即可掌握 Mac 的实时健康状态,并在空间吃紧时给出可一键执行的优化建议——这是它与 CleanMyMac 等付费工具最大的区别之一。
一键开启 Mac Sai 菜单栏监视器
小组件由独立的菜单栏进程负责,首次使用只需两步:
- 打开 Mac Sai 主应用,进入设置页面;
- 打开「在菜单栏显示 Mac Sai」开关,选择想常驻显示的指标(可用磁盘空间 / GPU 使用率 / 内存使用率 / 电池温度 / 仅图标)。
开关状态由系统登录项服务托管(MenuBarLauncher.swift),开机自动运行;如果小组件意外退出,主应用会自动拉起它,除非你是手动点击了「退出监视器」。选择哪项指标显示在菜单栏图标旁,由 MenuBarMetric.swift 定义,设置会永久保存。
2×2 圆环面板:CPU、内存、磁盘、电池一目了然
点击菜单栏图标弹出面板后,最先看到的是四张实时状态圆环卡片(视图定义见 MacCleanMenuApp.swift):
| 卡片 | 数据来源 | 颜色含义 |
|---|---|---|
| CPU | host_processor_info负载采样 | 青 → 黄 → 红,越高越烫 |
| 内存 | vm_statistics64内存压力 | 附带已用内存(如 25.33 GB) |
| 磁盘 | APFS 卷容量(内核级statfs调用,避免 Spotlight 卡死) | 显示可用空间 |
| 电池 / 运行时间 | IOKit 电源信息 | 充电中显示 ⚡ 图标,电量低于 20% 变红 |
数据采集逻辑在 SystemStatsCollector.swift。每个采集步骤都有超时预算,某一步卡住时面板会保留上一次的有效数值而不是整个卡死——这是针对真实用户机器上 APFS 快照卡死问题(issue #78)专门设计的。
💡 桌面 Mac 没有电池时,第四个卡片会自动切换为系统运行时间,面板布局保持一致。
网络速度与 Swap 用量:一条横栏实时可见
圆环下方是一条紧凑的信息栏,横向排布:
- ⬇下载速度/ ⬆上传速度:由 NetworkMonitor.swift 按接口流量差值实时计算;
- ⏱系统运行时间;
- Swap 用量:仅在 Swap 不为 0 时才出现,是判断内存是否吃紧的关键信号。
面板刷新由 MenuStatsModel.swift 中的常驻轮询循环驱动:核心指标每 3 秒一轮,较重的设备与提示类数据则每 10 轮执行一次,保证面板始终轻快。
可执行优化建议:不只是看数字,还能直接动手
小组件最有价值的部分是「建议」卡片(推荐引擎见 TipsEngine.swift)。它会做轻量级目录扫描(带文件数上限,绝不会让你等一次完整扫描),并只在阈值被超过时给出提示:
- 废纸篓超过 1 GB→ 建议「清空废纸篓」;
- 用户缓存超过 2 GB→ 建议运行「系统垃圾」清理可再生的缓存文件。
每条建议按可回收空间从大到小排序,并附黄色按钮一键直达:按钮会通过macclean://module/深度链接直接跳转到主应用对应模块(路由逻辑见 MenuTipRouting.swift),例如「释放空间」会直接打开系统垃圾清理界面。
📌 不需要的建议点 × 即可隐藏 30 天,不会反复打扰。
防护状态、连接设备与健康提醒
除了性能数据,面板还提供三块「安全感」信息:
- 防护状态:显示上次恶意软件扫描的时间和威胁数量,颜色随新鲜度变化(已防护 / 过期 / 发现威胁)。实时监视逻辑见 RealTimeMalwareMonitor.swift;
- 已连接设备:外接卷及其剩余空间、外接显示器数量;
- 健康提醒:当磁盘空间 critically 不足或内存压力持续偏高时,可选择接收节流后的系统通知(阈值评估见 HealthMonitor.swift)。
常见问题:图标消失了怎么办?
这是菜单栏小组件最常见的疑问,先排除两种情况:
- 被 macOS 控制中心收纳了:菜单项太多时系统会把小组件藏进溢出区,打开控制中心把它拖回菜单栏即可;
- 进程意外退出:Mac Sai 已内置看门狗——设置开关仍开着且你没手动退出时,主应用会侦测到进程终止并自动重启它(MenuBarLauncher.swift 中的
ensureHelperRunningIfPreferred,设计文档见 menu-bar-widget-persist-design.md)。
如果重启后仍不出现,可在设置里关掉再打开一次开关重新注册登录项。
小结
Mac Sai 菜单栏小组件把「体检报告」变成了常驻仪表盘:2×2 圆环看核心指标、横栏看网络与 Swap、建议卡片看可回收空间,并且每条建议都能一键落地到主应用对应模块。它是完全免费、开源(BSD-3 许可)、经 Apple 公证签名的 CleanMyMac 替代方案,适合想长期盯住 Mac 状态又不想为订阅付费的用户。
更多安装与功能细节可参考 README.md 与 Casks 配方 mac-sai.rb。
【免费下载链接】MacSai
Mac Sai: the open-source Mac cleaner, optimizer, and malware scanner. A free, Apple-notarized alternative to CleanMyMac, built with Swift 6 and SwiftUI.
相关推荐
终极LiquidPrompt系统监控指南:实时掌握CPU、内存、电池状态的10个实用技巧
终极LiquidPrompt系统监控指南:实时掌握CPU、内存、电池状态的10个实用技巧 LiquidPrompt是一款功能全面且设计精心的自适应命令行提示工具
开发工具如何用3个步骤实现B站视频智能总结:BiliTools开源工具箱完整指南
如何用3个步骤实现B站视频智能总结:BiliTools开源工具箱完整指南 BiliTools是一个基于Tauri构建的跨平台哔哩哔哩工具箱,能够智能解析B站视频
桌面应用音视频Homepage 的 Resources 信息组件完整配置指南:CPU、内存、磁盘、温度、网络与运行时长监控
Homepage 的 Resources 信息组件完整配置指南:CPU、内存、磁盘、温度、网络与运行时长监控 Resources 是 Homepage 内置的信
前端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考