macos 原生不支持快捷指令直接添加硬件状态图标到菜单栏,但可通过“快捷指令+shell命令+第三方工具”组合实现轻量级实时系统看板,支持控制中心、键盘快捷键和程序坞三种高频触达方式;若需真菜单栏常驻,则需 sketchybar。
macos 原生不支持用快捷指令直接往菜单栏添加实时硬件状态图标(比如 cpu 占用、内存使用率),因为系统菜单栏(menu extras)由 systemuiserver 管控,且未开放命令行或快捷指令 api。但你可以绕过这个限制,用“快捷指令 + 第三方工具”组合,实现一个**功能完整、触手可及的自定义系统状态栏看板**——它不是原生菜单栏项,而是以轻量弹窗、控制中心小组件、键盘快捷键触发的实时快照面板,兼顾实用性与低侵入性。
用快捷指令抓取并结构化系统数据
快捷指令本身不能读取硬件指标,但能运行 shell 命令并处理输出:
- 在“运行 Shell 脚本”操作中调用终端指令,例如:
CPU 和内存:`top -l1 | grep -E "(CPU|PhysMem|Load)"`
内存分页:`vm_stat 1 | head -n 5`
磁盘 I/O:`iostat -w 1 -c 1 | tail -n +4 | head -n 1`
网络收发:`netstat -ib | awk '/en[0-9]+/ {print $1, $7, $8}' | head -n 1` - 输出建议统一为制表符分隔的单行文本(如:
CPU: 18% Mem: 5.1G/16G Disk: 2.4MB/s Net↑: 1.1MB/s),方便后续用“查找文本”或正则提取 - 加时间戳标题,例如拼接:
系统快照 · $(date "+%H:%M:%S"),让每次刷新都有明确时效标识
把数据变成可交互的“看板”界面
原始命令结果是纯文本,需封装成易读、可操作的视图:
- 用“创建表格”操作生成两列表格:左列为“CPU 使用率”“可用内存”“主磁盘读写”等标签,右列为对应数值;支持导出到 Numbers 或直接显示为通知
- 搭配“显示通知”操作,设置为带按钮的横幅提醒(如“刷新”“打开活动监视器”),点击即可重跑指令或跳转系统工具
- 若需长期追踪,用“追加到文件”操作,将每次结果写入 iCloud 同步的 TXT 日志,路径如:
~/Library/Mobile Documents/com~apple~CloudDocs/StatsLog.txt
集成进高频触达路径
再好的看板,不顺手也等于没用。推荐三种最实用的接入方式:
- 控制中心小组件:在“系统设置 > 控制中心 > 编辑控制中心”中,添加该快捷指令为“运行快捷指令”项,点击即查——比打开 Activity Monitor 快 3 秒以上
- 全局键盘快捷键:前往“系统设置 > 键盘 > 键盘快捷键 > 应用快捷键”,为该指令分配组合键(如 ⌘⌥S),任意界面下按一下就弹出当前系统快照
- 程序坞固定入口:在快捷指令 App 中右键指令 → “添加到程序坞”,图标常驻 Dock,鼠标悬停即显示名称,点按即执行
想真正在菜单栏里常驻?换 SketchyBar
如果必须让 CPU、温度、风扇等数据以图标形式始终显示在右上角,快捷指令做不到,但 SketchyBar 可以:
- 安装后通过终端配置:
brew tap FelixKratz/formulae && brew install sketchybar - 用脚本驱动菜单栏条目,例如动态显示 CPU:
sketchybar --add item cpu right --set cpu update_freq=3 script="top -l1 | grep 'CPU usage' | awk '{print $3}'" - 所有配置可存为 Git 管理的脚本,重装系统一键恢复;快捷指令此时可作为它的辅助工具(比如一键重启 SketchyBar 或切换主题)











