文档 / 智能体 / 智能体休眠
当同时打开数十个工作树时,空闲代理会不断累积——每一个都是一个活动 PTY,在内存中保持一个模型会话。代理休眠可让 Orca 在它们已完成且长时间未操作后悄悄停止这些终端,然后在你下次打开工作树时恢复同一会话。
代理休眠默认关闭。在我们继续调整安全模型期间,请在 设置 → 实验性功能 → 代理休眠 下开启它。
哪些内容会被休眠¶
Orca 仅在以下所有条件都为真时,才会休眠一个代理终端:
- 代理处于 done 状态——它已完成最后一轮,且未在等待输入。
- 该终端不在活动工作树中,也不在任何当前正在渲染前台终端的工作树中。
- 自代理完成后,它未收到任何按键。
- 该代理具有 可恢复会话:Claude、Codex、Gemini、Antigravity、OpenCode、Pi、MiMo Code、Droid、Grok、Devin 或 OMP。
- 它已空闲至少达到配置的空闲窗口(默认 30 分钟)。
- 当前没有移动会话正在驱动该终端。
- 没有 编排 Dispatch 仍未结束(
pending、dispatched或未知)。在运行时确认completed、failed或circuit_broken后,允许再次休眠。 - 窗格上未保留活动子代理 / 队友名册(仅提供者 “done” 并不足够,子项仍附加时)。
任何未通过任一检查的终端都会保持运行。如果工作树有多个代理窗格,它们会作为一个单元一起休眠,因此不会出现部分暂停的工作树被交付。
你也可以从侧边栏手动休眠工作树(当存在嵌套子项时,包括 连同后代休眠)。参见 工作树。手动休眠会保留 finished 和 interrupted 的可恢复会话,因此重新打开工作树时仍可使用相同的恢复标志重新启动——它不会仅因为窗格不再“活动”就清除这些会话记录。
调整空闲窗口¶
在 代理休眠 开关下,休眠等待 设置已完成的后台代理在 Orca 暂停它之前需要空闲多少分钟。
- 默认:30 分钟。
- 范围:1 分钟 到 24 小时。
- 计时从代理最后一次
done更新开始;任何按键、新输出或返回代理终端标签页都会重置它。
较长窗口以牺牲内存节省为代价减少暂停;较短窗口暂停更积极,但下次切回时需要一次恢复。
查找休眠的工作树¶
侧边栏筛选菜单控制是否显示休眠的工作树。如果你经常隐藏它们,请在 设置 → 快捷键 下为 切换休眠工作区 分配快捷键,以便在不打开筛选菜单的情况下显示或隐藏它们。
恢复¶
当你打开一个已休眠的工作树时,Orca 会使用与从 代理会话历史 中相同的恢复标志重新启动代理 CLI——claude --resume <id>、codex resume <id> 等——以便对话、工作目录和提供者会话从中断处继续。无需点击任何内容;恢复是终端重新回到前台过程的一部分。
恢复还会复用 Orca 首次打开代理时捕获的启动命令、参数和私有环境变量。
如果代理 CLI 因任何原因无法恢复会话(对话记录被删除、提供者轮换会话 ID),终端会打开一个新的提示,而之前的对话记录仍可在代理的会话历史中访问。
限制¶
只有列出的可恢复代理会休眠。Cursor CLI、Hermes、Copilot、Trae 以及其他不可恢复终端会保持运行。
后续步骤¶
- 代理会话历史 — 手动恢复任何过去的会话,包括 Orca 未休眠的会话。
- 热切换 Codex 账户 — 在不重启会话的情况下切换当前 Codex 登录,可与休眠配合使用。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 orca48/orca