
字节笔记本
2026年10月5日 · 约 7 分钟读完
Awake:让 MacBook 合盖不休眠的开源小工具
用 AI Agent(Claude Code、Cursor、Codex)跑一个长任务,预估要二十分钟。你合上 MacBook 走去倒杯咖啡,回来发现任务断了:MacBook 合盖就睡,Agent 的连接断了,进度也丢了。
macOS 自带的 caffeinate 能防睡眠,但只防空闲睡眠,不防合盖睡眠,盖子一合照样睡。开源工具 Awake 解决的就是这个问题:合盖不休眠,让 MacBook 关着盖子继续跑。

一、它是什么
Awake 是一个极简的 macOS 菜单栏应用,点击菜单栏的杯子图标,开启「合盖不休眠」,MacBook 合上盖子照样运行。
它的核心价值是让长任务不因合盖而中断:Agent 会话、编译构建、下载同步、本地服务器、SSH 连接,合盖后继续跑。特点如下:
- 菜单栏常驻,一个杯子图标
- 一键开关
- Homebrew 一条命令安装
- MIT 开源
- 要求 macOS 13 及以上
二、它和 caffeinate 的本质区别
理解 Awake 的关键在于:macOS 有两种睡眠,而 caffeinate 只能防其中一种。
| 睡眠类型 | 触发条件 | caffeinate 能防吗 | Awake 能防吗 |
|---|---|---|---|
| 空闲睡眠 | 一段时间没有操作 | 能 | 能 |
| 合盖睡眠 | 合上屏幕盖子 | 不能 | 能 |
caffeinate 创建的是「临时睡眠断言」(assertion),告诉系统「我在忙,别睡」。但合盖是一个硬件事件,断言拦不住,盖子一合,系统强制进入合盖睡眠模式。
Awake 的做法完全不同,它用 pmset 直接修改系统的电源设置:
pmset -a disablesleep 1 # Awake 开启时执行
pmset -a disablesleep 0 # Awake 关闭时恢复disablesleep 是系统级的电源开关,设成 1 之后连合盖都不睡了。这不是「临时断言」,而是直接改了系统的睡眠策略。两种技术路径不同,效果也不同:断言是「请求」,pmset 是「命令」,合盖能忽略请求,但忽略不了命令。
三、安全设计
修改系统电源设置需要 root 权限,Awake 在这一点上的处理比较讲究:
- 一次性授权:首次使用时输入 Mac 密码授权
- 写入狭窄的 sudoers 规则:只允许 Awake 运行
pmset -a disablesleep,不能执行别的命令 - 规则文件在
/etc/sudoers.d/awake:可审计、可删除
也就是说,Awake 不存储你的密码,也不持有完整 root 权限,只有「修改这一个 pmset 设置」的最小权限。不用的时候可以从菜单里移除授权。

四、安装和使用
安装只需一条命令:
brew install --cask pistachionet/awake/awake使用分五步:
- 启动 Awake(Spotlight 搜索 Awake)
- 点击菜单栏的杯子图标
- 选择 Grant permission (one-time),输入 Mac 密码
- 开启 Keep awake with lid closed
- 合盖走人,工作继续跑
五、谁需要它
它特别适合 AI Agent 用户,也适合所有需要 MacBook 长时间不间断工作的场景:
| 场景 | 为什么需要 Awake |
|---|---|
| 跑 Claude Code、Cursor Agent | Agent 任务可能跑 10 到 30 分钟,合盖就断 |
| 跑 Codex 长任务 | 长程 Agent 一跑几个小时,不能中断 |
| 编译、构建大项目 | Xcode、Android Studio 构建动辄二十分钟 |
| Docker 构建镜像 | 大镜像构建耗时很久 |
| 下载、同步大文件 | 合盖断了要重来 |
| SSH 远程会话 | 合盖断 SSH,远程任务挂掉 |
| 本地开发服务器 | 合盖后同事访问不了你的 dev server |
| 合盖听音乐 | 合上盖子继续放歌 |
在 AI Agent 时代这一点尤其明显:本地跑的多步骤 Agent 工作流、视频渲染、语音转录,动辄几十分钟起步,合盖中断就得从头再来。有了 Awake,可以合盖走人,回来结果已经出来了。
六、和同类工具对比
| Awake | caffeinate(系统自带) | 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 及以上。



