你有没有遇到过这种场景:打开zed的agent面板,给你的Codex,claude code分配完任务,然后起身去接杯水,然后字去上个厕所。心里想着趁这个间隙歇一会儿,让 AI 慢慢生成代码。
回来一看,屏幕黑着。Mac 或 Windows 因为你没有敲击键盘或者动鼠标太久,自动进入了休眠,导致网络连接也罢工了。AI 的数据流被拦腰截断,生成中断
结果就是:任务列表卡住了,diff 只审了一半,多文件编辑停在了半路
等你打开电脑屏幕之后,这次运行会从被暂停的地方才得以继续
以前我遇到这个坑,我的办法都很“土”。如果电脑是Mac ,那么手动开一条 caffeinate 命令挂在后台
任务执行完之后,再实用命令cmd w关闭
如果电脑是Win ,就临时把电源计划改成“永不休眠”。等 AI 跑完再记得改回去,一旦忘了,机器就一直不睡,整夜耗电。
Zed 也想到了这个问题,并且给出了解决方法,专门解决了这件事。
怎么让电脑不睡觉呢
zed不是粗暴地全局禁止休眠,而是让生命周期完全跟着这一轮对话走。活干完,限制解除,电源策略恢复原样,不需要人工干预。
Zed 在 GPUI 底层新增了一套跨平台的空闲休眠抑制能力,采用 RAII 令牌设计。
AI 会话开始流式输出时,申请一个防休眠令牌;一旦回复结束、报错,或者用户手动取消对话,令牌对象销毁,休眠锁立刻自动释放。
怎么操作呢?zed做的也非常的人性化,可以直接再zed的Agent面板里面开启AI跑任务的时候,不要睡觉
直接点击如下图的电脑的图标就可以了,如果你还是希望电脑睡觉,再点击一次就可以了

另外你也可以再zed的配置里面搜索idle打开这个开关

和 VS Code 的对比
VS Code 目前的 Copilot 插件是支持你再跟copilot聊天的时候电脑别闲着睡过去,实现方式也是和zed差不多,但是仅限于你必须用copilot。
一个小小的改进,解决的是真实的开发痛点。以后起身倒水、短暂离开工位,不用再慌慌张张地改电源设置了。