两个核心概念① agent session = 一个 Agent CLI 跑在一个工作树的一个终端里;② Orca 会恢复你在哪、开了什么、Agent 干到哪了——你不需要记住。
Agent 状态指示
Orca 通过 Agent CLI 发出的 OSC 终端标题序列与 hooks 检测状态。Agent 标签页与侧边栏工作树行共用同一套状态符号:
| 状态 | 符号 | 含义 |
|---|---|---|
| 工作中 | 转圈 spinner | Agent 正在跑 |
| 等你输入 | 黄色问号 | 需要权限 / 有问题要答 |
| 完成 | 绿色勾(仪表盘)/ 绿点(侧边栏) | 干完活了 |
| 阻塞 | 红点 | 中断 / 失败 |
| 空闲 | 灰点 | 安静待命 |
| 无指示 | 无 | 普通 shell,不是被识别的 Agent CLI |
提示:从 agent combobox 启动(而不是手敲二进制命令)才能获得状态检测。Codex 的 Task 子 Agent、Claude 的子 Agent / Teams 队友会显示为主 Agent 下的可展开子行。
会话恢复(Session restore)
关掉 Orca 再打开,整个工作区原样回来:
| 恢复项 | 说明 |
|---|---|
| 打开的工作树 | 侧边栏一个不少 |
| 标签与分屏 | 每个工作树的布局、焦点标签 |
| 运行中的 Agent 进程 | 后台 daemon 持有 PTY,关窗不杀 Agent |
| 终端滚动缓冲 | 包括 Orca 关闭期间产生的输出 |
| 焦点位置 | 回到你关闭时的视图 |
什么时候 Agent 会丢
关键区别在于 daemon 是否存活:
- daemon 存活(正常
Cmd+Q、自动更新重启、应用崩溃)→ Agent 继续在后台跑,下次启动热重连 - daemon 死亡(整机重启、内核崩溃、强制断电)→ 布局和滚动缓冲恢复,但 Agent 进程没了,需要重新启动
想要干净起点
没有「新会话模式」——Orca 总是恢复。想从零开始就显式关闭工作树再退出。
启动默认与权限
- Orca 以全自主权限标志启动受支持的 Agent(Claude
--dangerously-skip-permissions、Codex--dangerously-bypass-approvals-and-sandbox等),理由见模块二 - Settings → Agents 可改每个 Agent 的 launch arguments
- Settings → Agents → Agent Permissions 可全局在 Yolo / Manual 之间切换未自定义过的 Agent
落地练习:验证恢复
- 启动一个 Agent 让它干活(比如让它跑一个长测试)
- 趁它运行直接
Cmd+Q退出 Orca - 重新打开:确认布局恢复、滚动缓冲还在
- 观察 Agent 是否仍在运行(daemon 场景)还是需要重启
- 把 Agent 干完活的工作树休眠,再打开,验证恢复
怎么判断做对了?——你能区分「daemon 存活(Agent 续跑)」与「daemon 死亡(Agent 需重启)」两种情形,并说出判定依据。
卡住了怎么办? Agent 丢了就重启它——会话内容可以用 claude --resume / codex resume 找回(进阶课 Agent 会话历史会讲)。
小结
- Agent session = 一个 CLI Agent 在一个工作树的一个终端
- 状态符号:转圈 / 黄问号 / 绿 / 红 / 灰
- Session restore 恢复布局、滚动缓冲与运行中的 Agent
- daemon 决定 Agent 是否跨关闭存活
- 想从零开始就显式关闭工作树
下一节,导航利器:快速打开与 Jump Palette。