先说结论
不会。Claude Code、Codex 这类本地 agent 跑在你的电脑上,电脑一睡,进程就被挂起,那一轮任务停在原地,醒来以后才可能接着跑(也可能因为网络请求超时而报错)。MacBook 合盖默认就会睡;不合盖,闲置一段时间后系统也可能睡。
想让 agent 在你走开时继续干活,要分两种情况处理:不合盖时防的是「闲置睡眠」,caffeinate 或系统设置就够;合盖时防的是「合盖睡眠」,这是另一条更严格的路径,caffeinate 管不到,只能接外接显示器用合盖模式,或者用 pmset 的未公开选项硬关睡眠。
下面逐个说清这些办法管哪一段、有什么代价。最后讲电脑睡着时,用 BotBus 在手机上会看到什么——BotBus 本身不阻止休眠,它只能让你知道电脑睡了,叫不醒它。
不合盖:防闲置睡眠
系统设置
MacBook 在「系统设置 › 电池 › 选项」里有一项接电源、显示器关闭时防止自动睡眠的开关,台式 Mac 在「节能」里有类似的选项(具体名称随系统版本略有不同)。打开以后,插着电源时屏幕可以黑,但系统不睡。好处是一劳永逸,坏处也是一劳永逸:不跑 agent 的时候电脑也不睡。
caffeinate
macOS 自带的 caffeinate 是最干净的办法,它只在你需要的时候持有一个「别睡」的断言。几个常用参数(以本机 man caffeinate 为准):
-i:防止系统闲置睡眠,不加参数时默认就是这个。-d:防止显示器睡眠。-s:防止系统睡眠,只在接着电源时有效。-t 秒数:到时间自动放开。-w PID:等某个进程退出后放开。
最省心的用法是把 agent 包在里面:
caffeinate -i claude
claude 退出时断言跟着释放,不会忘了关。如果 agent 已经在跑,可以用 caffeinate -i -w <进程号> 盯住它。想看现在是谁不让电脑睡,可以跑 pmset -g assertions。
Codex 自带的开关
截至 2026-10-08 核对 OpenAI 官方文档:Codex 桌面 app 在「设置 › 通用」里有「Prevent sleep while running」(运行时防止睡眠),文档写明 macOS 与 Linux 可用;Codex CLI 里可以在 /experimental 里打开同名的实验功能。它只在一轮任务正在跑时生效,两轮之间、任务跑完以后电脑照常睡;它也挡不住合盖。
Claude Code 方面,我们没在官方文档或更新日志里找到「防止睡眠」的设置项,网上流传的说法来自第三方对程序的拆解,这里不当事实写。稳妥的做法是自己用 caffeinate 包一层。
第三方小工具
Amphetamine 这类菜单栏工具做的事和 caffeinate 本质一样,只是有界面、能按时间或按程序自动开关。喜欢点按钮的人用它更方便。
合盖:防合盖睡眠
合盖睡眠不吃 caffeinate 那套断言。常见的办法有两种:
- 合盖模式(clamshell)。 苹果的支持文档提到,合着盖子用外接显示器时,Mac 要接电源并用外接键盘鼠标。这样合盖后 Mac 照常工作。一些用户报告 Apple Silicon 机型不接电源也能用,但苹果没写进文档,自己试过再依赖。通过扩展坞供电时,留意系统是不是真的认为在用电源。
pmset disablesleep。 不少人用sudo pmset -a disablesleep 1让 Mac 合盖也不睡,用完一定要sudo pmset -a disablesleep 0改回来。注意这是pmset手册里没有写的选项,苹果没承诺它的行为;不同机型、不同系统版本上的效果有人报告不一致,过夜前先实测。
合盖硬撑有实打实的代价:合盖放进包里会闷热;在电池上跑一夜可能把电耗光;忘了改回来,下次合盖就不睡了。更稳的做法是插着电、开着盖、只让屏幕黑掉。
Linux 和 Windows
BotBus 的电脑端还有 Linux 版和 Windows 版,它们同样不阻止休眠,用系统自己的办法:
- Linux:装在服务器或常开的开发机上通常不用操心。笔记本可以用
systemd-inhibit包住 agent(例如systemd-inhibit --what=sleep:handle-lid-switch claude),或者在 logind 的配置里改合盖行为。不同桌面环境另有自己的电源设置,以发行版文档为准。 - Windows:PowerToys 里的 Awake 可以按时长或一直保持唤醒,不改电源计划;合盖行为在「控制面板 › 电源选项 › 选择关闭笔记本计算机盖的功能」里改,或用
powercfg的LIDACTION。按微软的文档,Awake 只是请求「别睡」,合盖要单独设成「不采取任何操作」。
电脑睡着时,手机上看到什么
BotBus 在电脑上常驻,把本机 agent 的任务经端到端加密的中转同步到手机和手表。电脑睡着或断网时:
- 电脑显示离线。 中转服务器发现电脑断开后,手机上这台电脑显示「离线」,它的任务变成只读。
- 已同步的内容照看。 睡之前同步到手机的任务、对话还在,可以翻。
- 操作全部禁用。 审批、续聊、新建、中断都要电脑在线才能做,手机上会直接说「这台设备离线」,而不是让你点了以后一直等。
- 没有完成推送。 电脑睡着时 agent 本身不动,也就不会有「跑完了」或「在等你」的推送。如果你走开前期待一条推送却迟迟没来,先怀疑电脑是不是睡了。推送怎么来的见这篇。
- 醒来自动接上。 电脑醒来联网后,BotBus 会自己重连并重发全量状态,手机上恢复在线。BotBus 掉线时不会动 agent 的子进程,电脑那边在跑的轮次不会因为断网被打断。
换句话说,BotBus 解决的是「人不在电脑前」,不解决「电脑不醒着」。两者配合:用上面的办法让电脑别睡,用手机盯进度、批准请求、续聊,需要时远程中断。
限制与边界
- BotBus 不阻止休眠,也不能远程唤醒电脑。 电脑睡着时,手机上的所有操作都要等它醒来。
- 防睡办法都有代价。 一直不睡耗电,合盖硬撑发热;
pmset disablesleep是未公开选项,效果因机型和系统版本而异。 - 醒来不等于任务继续。 挂起期间 agent 的网络请求可能超时,醒来后那一轮可能报错,需要你在手机上续聊让它接着做。
- 离线期间排的命令有时效。 手机在电脑离线时本来就禁用了操作;电脑短暂掉线时排进队列的命令,10 分钟内电脑没收到就作废。
- 内容加密,元数据不加密。 对话、命令和结果在设备上加密后才经过中转服务器,服务器看不到内容,但看得到设备编号、在线状态、更新时间和数据大小——所以「电脑在线还是离线」这件事服务器是知道的。详见端到端加密说明。
- 平台。 电脑端有 Mac 版(菜单栏应用,macOS 26 或更新)、Linux 版和 Windows 版;iPhone 和 Apple Watch 版在 App Store 上架(iOS 26 / watchOS 26 起),Android 版需要 Android 8.0 或更新,在官网下载区下载。
常见问题
caffeinate 能让 MacBook 合盖还跑吗?
不能。caffeinate 防的是闲置睡眠,合盖睡眠走的是另一条路径。合盖要么接外接显示器和电源用合盖模式,要么用 pmset disablesleep 这类未公开选项。
Codex 的「运行时防止睡眠」打开了,为什么电脑还是睡了?
它只在一轮任务正在跑时生效,任务跑完或在等你回复时不管;它也挡不住合盖。等审批、等回复的那段时间如果电脑睡了,你在手机上就批不了。想在等待期间也保持清醒,用 caffeinate 或系统设置补上。
电脑睡着时,手机上的 BotBus 还能看任务吗?
能看已经同步过的任务和对话,但这台电脑会显示离线,审批、续聊、新建、中断都不能做,等电脑醒来联网后自动恢复。
BotBus 能远程把电脑叫醒吗?
不能。BotBus 没有远程唤醒功能,它只在电脑醒着、联网时工作。
怎么开始?
先按上面的办法让电脑在你走开时别睡,再在电脑上装最新版 BotBus,用手机扫电脑上的配对二维码。下载见官网首页。