中断与恢复会话
当智能体的做法不对、无限期等待,或需要补充指示时,可以使用这些控制操作。它们作用于已有的对话;要创建新对话,请参阅从 Chorus 发起远程工作。
Hermes 恢复
Section titled “Hermes 恢复”恢复原 Hermes 网关,而不是 Chorus 后台服务。中断取消网关工作;恢复需要服务器支持 Hermes 续接轮次,并保持原仓库。恢复前检查部分完成的修改。
后台子智能体(0.22.0)
Section titled “后台子智能体(0.22.0)”Claude 后台唤醒在主轮次后等待子智能体,默认上限 60 分钟(3600000 毫秒)。CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS 优先于 CHORUS_CLAUDE_BG_WAIT_CEILING_MS,不是整次唤醒时限。父智能体必须收齐完成结果或明确停止子智能体后再结束轮次。后台任务被强制终止时,即使原始退出码为零也记为异常;Chorus 尝试在触发的想法或任务上评论,不会自动修复状态或新增重试。零值/空值风险、配置和诊断见后台服务超时设置。
中断正在执行的工作
Section titled “中断正在执行的工作”- 打开正在运行的对话。
- 查看最新输出,确认确实需要中断。
- 选择打断。
- 等待对话报告执行已停止。
打断会先请求智能体进程正常停止。如果它没有在配置的超时时间内停止,后台服务会结束该进程。
对话一直显示运行中
Section titled “对话一直显示运行中”进程已经结束、对话却仍显示运行中时,请在该对话中选择打断。即使没有列出活跃执行, 此操作也可用。如果 Chorus 没有可停止的活跃执行,它可以直接把该轮次标记为已中断; 否则会把请求转发给后台服务,并等待停止结果。
轮次结束的上报遇到临时故障时,Chorus 会重试;智能体进程一旦退出,Chorus 就视其为已结束,
即使它启动的某个后台进程仍在运行。这些机制都不限制一个轮次可以运行多久,但运行后端自身的限制仍然适用:
DeepSeek Harness(dsh)每轮默认限时 30 分钟,可通过 CHORUS_DSH_TIMEOUT_MS 配置。
恢复之前,请检查最后的输出以及仍在运行的进程。
查看失败回合的诊断信息
Section titled “查看失败回合的诊断信息”从 Chorus 0.21.0 起,启动或执行失败会在对应对话回合中显示 Agent 唤醒失败摘要,即使智能体没有任何回复。有详情时,选择展开错误详情,查看捕获的诊断输出、退出码或信号。这些信息随回合保存,刷新或重新打开对话后仍可查看。
并非每次失败都有详情。旧回合或未捕获诊断的失败会显示通用说明;用户主动中断不等于崩溃。根据摘要检查工作目录、后端登录或模型配置、凭据,必要时查看 chorus daemon logs。恢复前先检查已产生的修改,失败不会撤销文件或外部操作。诊断文本可能含敏感信息,分享前请脱敏。
检查已完成的部分
Section titled “检查已完成的部分”恢复之前:
- 阅读智能体最后的输出和错误详情;
- 检查已修改的文件和仍在运行的进程;
- 决定是继续、给出更正后的指令,还是按你平常的版本控制流程丢弃这部分修改。
在弄清第一个会话改动了什么之前,不要在同一目录上再开启第二个会话。
当对话已被打断,或在崩溃后可以恢复时:
- 如果原来的后台服务连接已离线,先把它恢复。
- 打开同一个对话。
- 补充更正或缺失的上下文。
- 选择恢复。
恢复会使用原来的智能体连接和工作目录,不会把会话迁移到另一台机器或另一个目录。如果原来的运行环境无法恢复,请明确地开启一个新会话,并带上上一次尝试的相关上下文。
反复失败时,请参阅排查智能体连接故障。
从终端接管会话
Section titled “从终端接管会话”除了界面上的恢复按钮,你也可以在自己的终端里继续这个对话。打开对话,在对话记录顶部选择复制 session ID。它复制的是智能体 CLI 自己恢复会话时使用的会话 ID,因此手动恢复会回到同一个对话,而不是新开一个。
在对话原本运行的工作目录下,把复制的会话 ID 传给对应运行后端的恢复命令:
- Claude Code:
claude --resume <sessionId> - Codex:
codex exec resume <thread_id> - Kiro:
kiro-cli chat --resume-id <sessionId>
每种运行后端都有自己的 ID 格式,复制到的值就是该后端所接受的形式。各平台的确切命令见对应参考页:Claude Code、Codex 和 Kiro。
Chorus 对每个想法只保留一个会话。如果你从另一个工作目录对该想法开始工作,Chorus 会把这一个会话移到那里,而不是新开一个会话,因此无论它最后在哪里运行,需要接管的始终只有一个对话。完整模型见在线智能体总览。