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

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

Canonical: https://botbus.io/blog/keep-mac-awake-for-ai-agents  
Published: 2026-10-08

## 先说结论

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

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

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

## 不合盖：防闲置睡眠

### 系统设置

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

### caffeinate

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

- `-i`：防止系统闲置睡眠，不加参数时默认就是这个。
- `-d`：防止显示器睡眠。
- `-s`：防止系统睡眠，只在接着电源时有效。
- `-t 秒数`：到时间自动放开。
- `-w PID`：等某个进程退出后放开。

最省心的用法是把 agent 包在里面：

```bash
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 版](https://botbus.io/docs/install-linux)和 [Windows 版](https://botbus.io/docs/install-windows)，它们同样不阻止休眠，用系统自己的办法：

- **Linux**：装在服务器或常开的开发机上通常不用操心。笔记本可以用 `systemd-inhibit` 包住 agent（例如 `systemd-inhibit --what=sleep:handle-lid-switch claude`），或者在 logind 的配置里改合盖行为。不同桌面环境另有自己的电源设置，以发行版文档为准。
- **Windows**：PowerToys 里的 Awake 可以按时长或一直保持唤醒，不改电源计划；合盖行为在「控制面板 › 电源选项 › 选择关闭笔记本计算机盖的功能」里改，或用 `powercfg` 的 `LIDACTION`。按微软的文档，Awake 只是请求「别睡」，合盖要单独设成「不采取任何操作」。

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

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

- **电脑显示离线。** 中转服务器发现电脑断开后，手机上这台电脑显示「离线」，它的任务变成只读。
- **已同步的内容照看。** 睡之前同步到手机的任务、对话还在，可以翻。
- **操作全部禁用。** 审批、续聊、新建、中断都要电脑在线才能做，手机上会直接说「这台设备离线」，而不是让你点了以后一直等。
- **没有完成推送。** 电脑睡着时 agent 本身不动，也就不会有「跑完了」或「在等你」的推送。如果你走开前期待一条推送却迟迟没来，先怀疑电脑是不是睡了。推送怎么来的见[这篇](https://botbus.io/blog/coding-agent-push-notifications)。
- **醒来自动接上。** 电脑醒来联网后，BotBus 会自己重连并重发全量状态，手机上恢复在线。BotBus 掉线时不会动 agent 的子进程，电脑那边在跑的轮次不会因为断网被打断。

换句话说，BotBus 解决的是「人不在电脑前」，不解决「电脑不醒着」。两者配合：用上面的办法让电脑别睡，用手机盯进度、[批准请求](https://botbus.io/blog/approve-claude-code-from-phone)、[续聊](https://botbus.io/blog/continue-agent-session-on-phone)，需要时[远程中断](https://botbus.io/blog/stop-ai-agent-remotely)。

## 限制与边界

- **BotBus 不阻止休眠，也不能远程唤醒电脑。** 电脑睡着时，手机上的所有操作都要等它醒来。
- **防睡办法都有代价。** 一直不睡耗电，合盖硬撑发热；`pmset disablesleep` 是未公开选项，效果因机型和系统版本而异。
- **醒来不等于任务继续。** 挂起期间 agent 的网络请求可能超时，醒来后那一轮可能报错，需要你在手机上续聊让它接着做。
- **离线期间排的命令有时效。** 手机在电脑离线时本来就禁用了操作；电脑短暂掉线时排进队列的命令，10 分钟内电脑没收到就作废。
- **内容加密，元数据不加密。** 对话、命令和结果在设备上加密后才经过中转服务器，服务器看不到内容，但看得到设备编号、在线状态、更新时间和数据大小——所以「电脑在线还是离线」这件事服务器是知道的。详见[端到端加密说明](https://botbus.io/docs/security)。
- **平台。** 电脑端有 Mac 版（菜单栏应用，macOS 26 或更新）、Linux 版和 Windows 版；iPhone 和 Apple Watch 版在 [App Store](https://apps.apple.com/app/id6815751066) 上架（iOS 26 / watchOS 26 起），Android 版需要 Android 8.0 或更新，在官网下载区下载。

## 常见问题

### `caffeinate` 能让 MacBook 合盖还跑吗？

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

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

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

### 电脑睡着时，手机上的 BotBus 还能看任务吗？

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

### BotBus 能远程把电脑叫醒吗？

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

### 怎么开始？

先按上面的办法让电脑在你走开时别睡，再在电脑上装最新版 BotBus，用手机扫电脑上的配对二维码。下载见[官网首页](https://botbus.io/#download)。
