01 从一次"帮忙看电脑"说起
上个月,朋友抱着一台 2020 款 Intel MacBook Pro 来找我,说机器越来越卡。
开机一看,系统本身没什么大毛病,真正让我绷不住的是菜单栏:图标挤到溢出,被 macOS 折叠进了二级菜单。外接屏亮度一个 App、风扇一个 App、Xcode 清理一个 App,还有个调音量的,正在续第二年的订阅。
他不好意思地补了一句:都是网上种草装的。
我自己的机器也没好到哪去。当晚打开启动台数了数,为"单一功能"服务的工具,我装了十一个。
工具没错,错在组合方式——每个 App 都想常驻,每个都想往菜单栏里挤一格。
后来在 GitHub 上看到 MacTools,我第一反应是"又一个工具箱",抱着挑刺的心态装了。一周之后,我卸掉了七个工具。
02 它是什么:一个入口,48 个插件
先把基本面摆出来:
- 开源,Apache-2.0 协议,源码和发行都在公开仓库
- SwiftUI + AppKit 原生构建,不是网页套壳,也不是给一摞 shell 脚本套了个图形界面
- 要求 macOS 14 及以上
- 本地优先,作者不做运营侧的数据统计
- 仓库目前一千一百星上下,最近几个月涨得比较快;翻提交记录,最新的 PR 是我写这篇稿子的当天合并的,维护状态在线
官方插件页列出的原生插件有 48 个,分布在显示、音频、系统、清理、效率、监控六个大类里。日历、风扇、电量、IP 检测,每一个都是独立插件——这一点是理解 MacTools 的关键。
它不是一个"功能很多的大 App",而是一个宿主:插件市场装什么、Feature Panel 开什么、菜单栏排什么,全由你决定。用不上的直接关掉,设置里还可以排序、隐藏、分类。
很多菜单栏工具的逻辑是"全都要",装了就是一整个全家桶;MacTools 的逻辑是"自选"。对菜单栏寸土寸金的 Mac 用户来说,这个差别比功能清单重要得多。
03 安全设计,藏在细节里
系统级工具最容易翻车的地方,不是功能不够,而是动手太狠。我特意翻了它的实现说明:
调音量、控麦克风,走的是 CoreAudio,正路。
外接屏亮度优先用 DDC/CI 协议直连显示器,设备不支持时才降级到 Gamma/Shade——调不了硬件亮度就调屏幕输出,思路是对的。
磁盘清理默认把文件移进废纸篓而不是直接抹掉,扫描和删除之间留了一步确认,路径还带安全校验。
Xcode 清理只在白名单目录里动手,只碰 DerivedData、设备支持文件、归档、模拟器这几类;而且检测到 Xcode 正在运行时,会直接禁用删除。
自动化模块里,没有声明"可无人值守"的动作不会在后台偷偷执行,动作重叠运行默认拦截。
这些设计单拎出来都不起眼,堆在一起,就是"敢长期放在主力机里"的底气。
04 我留下的那几个插件
48 个插件全开是灾难——菜单栏和设置页会一起乱掉。我的策略是只留天天会碰的:
显示器亮度。 内建屏和外接屏一个滑条搞定,多屏用户的刚需。
磁盘清理 + Xcode 清理。 开发机上这两项接近每周固定动作,node_modules、构建产物、模拟器缓存,扫完过目再删。
系统状态。 CPU、GPU、内存、磁盘、网络的一小时曲线,外加占资源进程排行,替代了我原来单独装的监控工具。
阻止休眠。 挂长任务时用,支持定时。
输入法记忆。 按 App 记住输入源——写代码用英文、聊天切中文,换窗口不用再手动切输入法。这个不起眼的功能省下的烦躁,比想象中多。
另外几个值得一提:电池充电上限默认压在 80%,到顶即停;Device Battery 能把 Mac、iPhone、AirPods 和蓝牙外设的电量汇总进一张面板;macOS 15 上还能单独调某个 App 的音量,开会时只想压低音乐、不想动系统音量的场景,很顺手。
05 1.2 之后,它开始像个小系统
八月中旬发布的 1.2.0,补上了动作系统这块拼图:
- Action Grid:可编辑的 3×3 快捷面板,常用操作钉在上面
- Automation:把多个步骤串成命名工作流,可以挂日程、电源、网络这类规则触发
- Run Links:提供
mactools://深度链接,启动器、脚本、Apple 快捷指令都能直接唤起具体功能 - Saved Scripts:内置 AppleScript 和 shell 脚本仓库,带超时和输出边界
到这一步,MacTools 已经分成两层:底下是一批可以审计的系统小工具,上面开始长出统一的动作和自动化能力。再往前走,可能会碰一碰 Raycast、BetterTouchTool 这些工具的领地。
06 上手指南
安装一行命令:
brew install --cask mactools
升级:
brew update
brew upgrade --cask --greedy mactools
官网也提供直接下载。应用每天会静默检查一次更新,菜单栏面板出现 Update 按钮时,走的是标准的 Sparkle 更新流程。
装完先别急着全开。去插件市场挑三五件天天要做的事,权限按需给:清理类可能要完整磁盘访问,分 App 音量第一次会碰到音频录制权限,风扇控制会装一个 helper。本地优先不等于零权限,只是数据默认不出本机。
界面语言覆盖中英日韩等十来种,可以跟随系统,也可以手动指定。
07 几句实话
它不是万能的。
有些能力吃硬件和系统版本:DDC/CI 依赖显示器支持,合盖继续跑要求接电源、且会创建实验性的虚拟屏,分 App 音量只在较新的系统上可用。README 把这些边界写得很清楚,装之前值得过一遍。
另外,如果你只是想要一根极简的亮度条,它确实偏重;但如果你已经攒了一排各管一事的菜单栏工具,它更像一次彻底的搬家。
08 写在最后
评价这类工具箱,多数文章会去数功能:有没有亮度、有没有清理、有没有风扇。
我觉得更值得看的是另一件事:Mac 上的系统工具,正在从"一个个黑盒 App"变成"一个可拆、可审计、可替换的入口"。商业工具的贵,不在价格,在订阅和黑盒;MacTools 把宿主、插件市场、动作系统全部摊开在开源仓库里。装它,不只是少点几次系统设置,更是把那些高频零碎活,收进一个自己看得懂、随时能关掉的地方。
有 Mac 的话,先挑三个插件试一周。
菜单栏安静下来那天,你大概率会和我一样,开始盘算该卸载谁。