smctl:开源 Mac 硬件控制 CLI,实现 Apple Silicon 风扇手动调速与电池自定义限充(70-80%),支持 TOML 声明式配置与温度安全护栏,打造无头 Mac 服务器的终极运维工具缩略图
DISCOVER SOMETHING GOOD

smctl:开源 Mac 硬件控制 CLI,实现 Apple Silicon 风扇手动调速与电池自定义限充(70-80%),支持 TOML 声明式配置与温度安全护栏,打造无头 Mac 服务器的终极运维工具

macOS 虽然强大,但在硬件底层控制上往往显得“黑盒”且保守。smctl 是一款开源(MIT 许可)、命令行优先的 Mac 硬件控制工具,它打破了这一限制,让用户能在终端中直接掌控风扇转速、电池充电策略及温度功耗遥测。特别是针对 Apple Silicon (M 系列) 芯片,smctl 实现了此前被认为不可能的手动风扇控制与声明式风扇曲线,同时内置了严苛的温度安全护栏,确保在释放性能的同时绝不牺牲硬件安全。

smctl:开源 Mac 硬件控制 CLI,实现 Apple Silicon 风扇手动调速与电池自定义限充(70-80%),支持 TOML 声明式配置与温度安全护栏,打造无头 Mac 服务器的终极运维工具插图

核心亮点:精准、安全、可脚本化

1. 确定性电池管理

  • 自定义限充区间:不同于 macOS 固定的 80% 或黑盒优化,smctl 允许设置任意区间(如 70-80%),有效延缓电池老化。
  • 主动维护:支持 maintain 模式,自动将电量维持在设定范围;支持 --force-discharge 主动放电至目标区间。
  • 状态透明:实时查看充电状态、剩余时间及当前限充配置。

2. Apple Silicon 风扇完全掌控

  • 手动与自动曲线:支持手动设定目标转速,或通过 TOML 配置文件定义声明式风扇曲线(含滞回与变速率限制)。
  • 多模式切换:提供 quiet(静音)、full(全速)、auto(自动)及自定义模式。
  • M4 Mac mini 验证:已在最新硬件上完整验证直写路径,部分 MacBook 机型需解锁诊断模式。

3. 军工级安全设计

  • 温度护栏:每秒监控所有温度传感器。若持续超过上限(默认 100°C,热点 110°C),强制交还风扇控制权并锁定手动模式,直到降温。护栏不可关闭。
  • 写入校验:每次 SMC 写入后回读验证,失败即报错,绝不静默假装成功。
  • 优雅降级:若 macOS 更新改变 SMC 行为,受影响功能自动降级为只读并提示,防止误操作。
  • 绝不留砖:卸载或杀死 daemon 时,通过退出钩子与 launchd 对账,确保硬件控制权安全交还系统。

4. 无头服务器友好

  • JSON 输出:所有命令支持 --json 格式,便于接入 Prometheus、Grafana 或其他监控体系。
  • SSH 友好:所有功能均可通过 SSH 远程执行,是管理 Mac Mini 家用服务器的理想工具。
  • 告警集成:支持基于 TOML 配置的 Webhook、Shell 命令或日志告警,轻松对接 Gotify 等通知服务。

快速开始

1. 安装 (Homebrew 推荐)

# 添加 Tap
brew tap leaperone/smctl

# 安装 smctl
brew install smctl

# 安装并启动特权守护进程 (必需用于风扇/电池控制)
sudo smctl daemon install

2. 常用命令

电池管理:

# 维持电量在 70%-80%
smctl battery maintain 70-80

# 查看电池状态
smctl battery status

风扇控制:

# 应用静音风扇曲线
smctl fan profile quiet

# 手动设定风扇转速为 2500 RPM
smctl fan set 2500

# 查看风扇状态
smctl fan status

传感器监控:

# 实时监控温度、风扇及功耗
smctl sensors --watch

# 以 JSON 格式输出,便于脚本解析
smctl sensors --json

3. 配置示例 (/etc/smctl/config.toml)

# 风扇曲线配置

[fan.profiles.custom]

min_rpm = 1000 max_rpm = 6000 temp_start = 50 temp_full = 80 # 告警规则 [[alert]] name = “cpu-hot” on = “temp” sensor = “Tp09” above = 85 for = 30 action = “webhook” url = “http://gotify.lan/message?token=…”

smctl 填补了 macOS 在底层硬件控制上的空白,特别是为 Apple Silicon 用户带来了前所未有的自由度。它不仅是一个工具,更是一套安全、透明、可审计的硬件管理方案。

对于每一位希望彻底掌控自己设备的 Mac 用户而言,smctl 都是终端里不可或缺的新成员。立即安装,让你的 Mac 听命于你!

下载地址
夸克
密码:无
GOOD TOOLS ARE BETTER TOGETHER

分享到社交平台

微微博QQQ 好友☆QQ 空间XX↗Telegram

复制链接后,也可以粘贴到微信或其他社交平台。