ByteNoteByteNote
Awake:让 MacBook 合盖不休眠的开源小工具
字

字节笔记本

2026年10月5日 · 约 7 分钟读完

Awake:让 MacBook 合盖不休眠的开源小工具

API中转
¥120

用 AI Agent(Claude Code、Cursor、Codex)跑一个长任务,预估要二十分钟。你合上 MacBook 走去倒杯咖啡,回来发现任务断了:MacBook 合盖就睡,Agent 的连接断了,进度也丢了。

macOS 自带的 caffeinate 能防睡眠,但只防空闲睡眠,不防合盖睡眠,盖子一合照样睡。开源工具 Awake 解决的就是这个问题:合盖不休眠,让 MacBook 关着盖子继续跑。

caffeinate 与 Awake 的技术路径对比

一、它是什么

Awake 是一个极简的 macOS 菜单栏应用,点击菜单栏的杯子图标,开启「合盖不休眠」,MacBook 合上盖子照样运行。

它的核心价值是让长任务不因合盖而中断:Agent 会话、编译构建、下载同步、本地服务器、SSH 连接,合盖后继续跑。特点如下:

  • 菜单栏常驻,一个杯子图标
  • 一键开关
  • Homebrew 一条命令安装
  • MIT 开源
  • 要求 macOS 13 及以上

二、它和 caffeinate 的本质区别

理解 Awake 的关键在于:macOS 有两种睡眠,而 caffeinate 只能防其中一种。

睡眠类型触发条件caffeinate 能防吗Awake 能防吗
空闲睡眠一段时间没有操作能能
合盖睡眠合上屏幕盖子不能能

caffeinate 创建的是「临时睡眠断言」(assertion),告诉系统「我在忙,别睡」。但合盖是一个硬件事件,断言拦不住,盖子一合,系统强制进入合盖睡眠模式。

Awake 的做法完全不同,它用 pmset 直接修改系统的电源设置:

bash
pmset -a disablesleep 1   # Awake 开启时执行
pmset -a disablesleep 0   # Awake 关闭时恢复

disablesleep 是系统级的电源开关,设成 1 之后连合盖都不睡了。这不是「临时断言」,而是直接改了系统的睡眠策略。两种技术路径不同,效果也不同:断言是「请求」,pmset 是「命令」,合盖能忽略请求,但忽略不了命令。

三、安全设计

修改系统电源设置需要 root 权限,Awake 在这一点上的处理比较讲究:

  1. 一次性授权:首次使用时输入 Mac 密码授权
  2. 写入狭窄的 sudoers 规则:只允许 Awake 运行 pmset -a disablesleep,不能执行别的命令
  3. 规则文件在 /etc/sudoers.d/awake:可审计、可删除

也就是说,Awake 不存储你的密码,也不持有完整 root 权限,只有「修改这一个 pmset 设置」的最小权限。不用的时候可以从菜单里移除授权。

Awake 的使用流程与最小权限设计

四、安装和使用

安装只需一条命令:

bash
brew install --cask pistachionet/awake/awake

使用分五步:

  1. 启动 Awake(Spotlight 搜索 Awake)
  2. 点击菜单栏的杯子图标
  3. 选择 Grant permission (one-time),输入 Mac 密码
  4. 开启 Keep awake with lid closed
  5. 合盖走人,工作继续跑

五、谁需要它

它特别适合 AI Agent 用户,也适合所有需要 MacBook 长时间不间断工作的场景:

场景为什么需要 Awake
跑 Claude Code、Cursor AgentAgent 任务可能跑 10 到 30 分钟,合盖就断
跑 Codex 长任务长程 Agent 一跑几个小时,不能中断
编译、构建大项目Xcode、Android Studio 构建动辄二十分钟
Docker 构建镜像大镜像构建耗时很久
下载、同步大文件合盖断了要重来
SSH 远程会话合盖断 SSH,远程任务挂掉
本地开发服务器合盖后同事访问不了你的 dev server
合盖听音乐合上盖子继续放歌

在 AI Agent 时代这一点尤其明显:本地跑的多步骤 Agent 工作流、视频渲染、语音转录,动辄几十分钟起步,合盖中断就得从头再来。有了 Awake,可以合盖走人,回来结果已经出来了。

六、和同类工具对比

Awakecaffeinate(系统自带)Amphetamine(App Store)Clamshell mode
防空闲睡眠能能能能
防合盖睡眠能不能能能,但要接电源加外接显示器
一键开关菜单栏命令行能要满足硬件条件
开源MIT 协议系统自带不开源不适用
免费免费免费基础版免费免费
需要 root一次性授权不需要不需要不适用
主要限制无不防合盖部分功能付费要外接显示器和电源

简单概括:Awake 是免费、开源、又不要求外接显示器就能防合盖睡眠的工具。Amphetamine 也能防合盖,但要额外安装配置;原生 Clamshell mode 则必须外接显示器和电源。

七、注意事项

  • 耗电:合盖不休眠意味着 CPU 和内存继续工作,电池消耗加快,建议接电源使用。
  • 散热:合盖后散热变差,键盘缝隙本是散热通道之一,长时间高负载要留意温度。
  • disablesleep 是全局的:开启后所有睡眠都被禁止,不只是合盖,不用时记得关闭。
  • 系统版本:需要 macOS 13 Ventura 或更高。

八、小结

一句话总结:Awake 是一个极简的 macOS 菜单栏工具,一键让 MacBook 合盖不休眠,长任务不中断。它比 caffeinate 强在能防合盖睡眠,MIT 开源,Homebrew 一条命令安装。

如果你经常跑 AI Agent 长任务、编译大项目或者下载同步大文件,又想合盖走人,Awake 是最简单的解法:brew install --cask pistachionet/awake/awake,装完点一下杯子,合盖走人。

项目地址:https://github.com/pistachionet/awake ,MIT 协议,要求 macOS 13 及以上。

相关文章

分享: