MacOS息屏后OpenClaw无法相应飞书Channel消息
问题表现
OpenClaw 运行在 MacBook Air 上,通过 WebSocket 长连接(飞书 SDK 的 WSClient)接收飞书消息。息屏一段时间后,从飞书发消息,机器人不响应。查看飞书开放平台的事件投递日志,失败原因为 app not online。

唤醒屏幕(移动鼠标/按键)后,等片刻,机器人恢复正常响应。
之前已经设置过sudo pmset -c sleep 0
解决方案
禁用 AC 电源下的 Standby:
sudo pmset -c standby 0
根本原因
macOS 的电源管理有两个独立机制:
| 机制 | 参数 | 作用 |
|---|---|---|
| Idle Sleep | sleep | 长时间闲置后进入轻度睡眠 |
| Standby / Hibernate | standby + standbydelay | 内存写入磁盘,深度休眠 |
sleep 0 只禁用了 Idle Sleep,而 Standby 是完全独立的机制。
Standby 会:
- 将内存内容写入磁盘(/var/vm/sleepimage)
- 完全冻结 CPU 和所有进程(包括 Node.js)
- 关闭网络栈
Node.js 进程被冻结后,飞书 SDK 的 WebSocket 心跳(ping)无法继续发送。飞书服务器检测到连接超时,标记 app 为 not online,后续事件投递失败。

浙公网安备 33010602011771号