Orca 如何开启 Agent 休眠:自动暂停空闲 Agent 并设置 Hibernate after 空闲窗口
【免费下载链接】orcaOrca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.项目地址: https://gitcode.com/GitHub_Trending/orca48/orca
如果你同时开着大量 worktree 并行跑编码 Agent,空闲的 Agent 会持续占用内存——每个都是一个持有模型会话的活 PTY。Orca 的Agent hibernation功能可以静默暂停这些长时间无操作的后台 Agent 终端,并在你重新打开对应 worktree 时自动恢复同一个会话。这个功能目前默认关闭,属于实验特性,需要手动在设置里打开,并且只支持文档列出的可恢复(resumable)Agent。本文的适用前提:你在使用 Orca 桌面端,且 Agent 属于支持休眠的类型(Claude、Codex、Gemini、Antigravity、OpenCode、Pi、MiMo Code、Droid、Grok、Devin 或 OMP)。
开启入口:Settings → Experimental → Agent hibernation
Agent hibernation 位于实验特性分组下,默认是关闭的,Orca 官方标注"我们仍在持续调整其安全模型"。开启步骤:
- 打开设置(macOS 可用
Cmd-,,然后直接输入关键词搜索)。 - 进入Settings → Experimental → Agent hibernation,打开该开关。
设置参考文档中对这一项的描述是:"Agent hibernation — pause idle background agents and auto-resume them on reopen." 打开后无需重启应用,行为即刻生效;具体哪些终端会被暂停由下文条件决定,不满足条件的终端会继续运行。
什么样的 Agent 终端才会被休眠
Orca 只在以下所有条件同时成立时才会休眠一个 Agent 终端,任何一条不满足,终端都会保持运行:
- Agent 处于done状态——已完成最后一轮对话,且不在等待输入;
- 该终端不在当前活跃 worktree 中,也不在任何正在渲染前台终端的 worktree 中;
- Agent 完成后没有再收到任何按键输入;
- Agent 属于支持会话恢复的类型:Claude、Codex、Gemini、Antigravity、OpenCode、Pi、MiMo Code、Droid、Grok、Devin、OMP;
- 空闲时间已达到配置的空闲窗口(默认 30 分钟);
- 没有移动端会话正在驱动该终端;
- 该 worktree 没有未结束的 orchestration Dispatch(
pending、dispatched或 unknown 状态都会阻止休眠;runtime 确认completed、failed或circuit_broken之后才允许休眠); - 面板上没有存活的 subagent / teammate 名册(仅 provider 报 "done" 不够,子 Agent 仍挂接时不会休眠)。
另外一条规则值得注意:如果一个 worktree 里有多个 Agent 面板,它们会作为一个整体一起休眠,不会出现"部分暂停"的 worktree。
除了自动休眠,Orca 也支持手动休眠:在侧边栏右键 worktree 可以使用 sleep 操作,嵌套子 worktree 存在时上下文菜单还提供Sleep with Descendants (N)——它只针对有活跃终端或浏览器标签的 workspace(含所选 workspace 及同一项目、仓库、host 下校验通过的嵌套子级)。手动 sleep 会保留状态为finished和interrupted的可恢复会话记录,重新打开 worktree 时仍可用相同的 resume 参数重启,不会因为面板已"不活跃"而清除这些记录。
设置 Hibernate after 空闲窗口
在Agent hibernation开关下方,Hibernate after控制"一个已完成的后台 Agent 要空闲多少分钟后,Orca 才会暂停它":
- 默认值:30 分钟;
- 可设置范围:1 分钟到24 小时;
- 计时起点:Agent 最后一次
done状态更新。任何按键、新输出、或切回该 Agent 的终端标签页,都会重置计时。
选择逻辑:窗口越长,暂停越少、省内存的效果越弱;窗口越短,暂停越激进,但每次切回都要付出一次会话恢复的代价。这是文档给出的权衡方向,具体取多少取决于你并行 worktree 的数量和内存压力。
验证休眠效果:找到 sleeping worktrees 并确认自动恢复
确认终端确实被休眠:侧边栏的过滤菜单控制 sleeping worktree 是否显示。如果经常隐藏它们,可以在 Settings → Shortcuts 里给Toggle Sleeping Workspaces绑定一个快捷键(该绑定默认未分配),用快捷键直接切换显示/隐藏,不用每次打开过滤菜单。过滤开启 "Hide sleeping" 时,每个项目的入口 / main workspace 仍会保留显示,项目行不会整体消失。
验证恢复行为:重新打开一个已休眠的 worktree 时,Orca 会用与 Agent Session History 相同的 resume 参数重启 Agent CLI——例如claude --resume <id>、codex resume <id>——对话、工作目录和 provider 会话都会从暂停处继续。这个过程不需要点任何按钮,恢复发生在终端重新进入前台时。resume 还会复用 Orca 首次打开该 Agent 时捕获的启动命令、参数和私有环境变量。
恢复失败时的表现:如果 Agent CLI 因任何原因无法恢复会话(例如 transcript 被删除、provider 轮换了 session ID),终端会打开一个新的空提示,而之前的 transcript 仍保留在该 Agent 的 session history 里,不会丢失。
限制:哪些终端不会被休眠
只有上述列出的可恢复 Agent 支持休眠。Cursor CLI、Hermes、Copilot、Trae 以及其他不可恢复的终端会一直保持在运行状态。如果你的 Agent 不在这个列表里,开启 hibernation 对它没有效果,只能靠手动 sleep 释放终端。
下一步
- 手动恢复任何历史会话(包括 Orca 没有休眠过的会话):参考 Agent session history 文档,该面板支持
Resume、Copy resume command、查看原始 transcript 等操作。 - 在不重启会话的情况下切换 Codex 登录:参考 Hot-swap Codex accounts 文档,它与 hibernation 可配合使用。
- hibernation 的完整官方文档见 docs/site/content/docs/agents/hibernation.mdx。
【免费下载链接】orcaOrca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.项目地址: https://gitcode.com/GitHub_Trending/orca48/orca
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考