BOTBUS / 博客

Mac 合盖后 Claude Code、Codex 还跑吗?让电脑别睡的几种办法

电脑一睡,本机的 Claude Code、Codex 就停了。这篇讲清什么时候会睡、caffeinate、pmset、系统设置和 Codex 自带开关各管哪一段,以及电脑睡着时手机上看到什么。

先说结论

不会。Claude Code、Codex 这类本地 agent 跑在你的电脑上,电脑一睡,进程就被挂起,那一轮任务停在原地,醒来以后才可能接着跑(也可能因为网络请求超时而报错)。MacBook 合盖默认就会睡;不合盖,闲置一段时间后系统也可能睡。

想让 agent 在你走开时继续干活,要分两种情况处理:不合盖时防的是「闲置睡眠」,caffeinate 或系统设置就够;合盖时防的是「合盖睡眠」,这是另一条更严格的路径,caffeinate 管不到,只能接外接显示器用合盖模式,或者用 pmset 的未公开选项硬关睡眠。

下面逐个说清这些办法管哪一段、有什么代价。最后讲电脑睡着时,用 BotBus 在手机上会看到什么——BotBus 本身不阻止休眠,它只能让你知道电脑睡了,叫不醒它。

不合盖:防闲置睡眠

系统设置

MacBook 在「系统设置 › 电池 › 选项」里有一项接电源、显示器关闭时防止自动睡眠的开关,台式 Mac 在「节能」里有类似的选项(具体名称随系统版本略有不同)。打开以后,插着电源时屏幕可以黑,但系统不睡。好处是一劳永逸,坏处也是一劳永逸:不跑 agent 的时候电脑也不睡。

caffeinate

macOS 自带的 caffeinate 是最干净的办法,它只在你需要的时候持有一个「别睡」的断言。几个常用参数(以本机 man caffeinate 为准):

最省心的用法是把 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 那套断言。常见的办法有两种:

  1. 合盖模式(clamshell)。 苹果的支持文档提到,合着盖子用外接显示器时,Mac 要接电源并用外接键盘鼠标。这样合盖后 Mac 照常工作。一些用户报告 Apple Silicon 机型不接电源也能用,但苹果没写进文档,自己试过再依赖。通过扩展坞供电时,留意系统是不是真的认为在用电源。
  2. pmset disablesleep。 不少人用 sudo pmset -a disablesleep 1 让 Mac 合盖也不睡,用完一定要 sudo pmset -a disablesleep 0 改回来。注意这是 pmset 手册里没有写的选项,苹果没承诺它的行为;不同机型、不同系统版本上的效果有人报告不一致,过夜前先实测。

合盖硬撑有实打实的代价:合盖放进包里会闷热;在电池上跑一夜可能把电耗光;忘了改回来,下次合盖就不睡了。更稳的做法是插着电、开着盖、只让屏幕黑掉。

Linux 和 Windows

BotBus 的电脑端还有 Linux 版和 Windows 版,它们同样不阻止休眠,用系统自己的办法:

电脑睡着时,手机上看到什么

BotBus 在电脑上常驻,把本机 agent 的任务经端到端加密的中转同步到手机和手表。电脑睡着或断网时:

换句话说,BotBus 解决的是「人不在电脑前」,不解决「电脑不醒着」。两者配合:用上面的办法让电脑别睡,用手机盯进度、批准请求、续聊,需要时远程中断。

限制与边界

常见问题

caffeinate 能让 MacBook 合盖还跑吗?

不能。caffeinate 防的是闲置睡眠,合盖睡眠走的是另一条路径。合盖要么接外接显示器和电源用合盖模式,要么用 pmset disablesleep 这类未公开选项。

Codex 的「运行时防止睡眠」打开了,为什么电脑还是睡了?

它只在一轮任务正在跑时生效,任务跑完或在等你回复时不管;它也挡不住合盖。等审批、等回复的那段时间如果电脑睡了,你在手机上就批不了。想在等待期间也保持清醒,用 caffeinate 或系统设置补上。

电脑睡着时,手机上的 BotBus 还能看任务吗?

能看已经同步过的任务和对话,但这台电脑会显示离线,审批、续聊、新建、中断都不能做,等电脑醒来联网后自动恢复。

BotBus 能远程把电脑叫醒吗?

不能。BotBus 没有远程唤醒功能,它只在电脑醒着、联网时工作。

怎么开始?

先按上面的办法让电脑在你走开时别睡,再在电脑上装最新版 BotBus,用手机扫电脑上的配对二维码。下载见官网首页。

← 全部文章