AI 诊断与 Autopilot

查明 Agent 卡住的原因、将席位自动切换到备用 Agent,并让 Autopilot 恢复在任务中途崩溃或断连的 Agent。

Agent 停止工作有两种情况。它可能仍然活着但卡住了:配额墙、登录提示或升级弹窗挡在屏幕上,你的消息始终无法送达。也可能直接死掉:连接中断,或 CLI 在任务执行到一半时退出。AI Diagnosis(AI 诊断)处理第一种情况,Autopilot 处理第二种。两者位于同一个位置。

从顶栏打开 Orchestration Dashboard(编排仪表盘),或在 Command Palette(命令面板)中运行 Open Orchestration Dashboard,然后选择 Advanced → AI DiagnosisTutorials → How-to → Autopilot 可以直接跳转过去。

AI Diagnosis 设置界面:Diagnose & restore stuck agents 为 On,已选择 With AI,下方是按顺序排列的检查器 Agent 列表——Claude 使用 claude-opus-5、Codex 使用 gpt-5.6-sol——各自带有独立的模型选择器

Diagnose & restore stuck agents(诊断并恢复卡住的 Agent)

当发往某个 Agent 终端的消息持续约两分钟无法送达时,一个已安装的 AI CLI 会读取该终端的屏幕文本,并说明出了什么问题。消息每 15 秒重试一次,第八次失败会触发诊断。如果该终端位于配置了备用 Agent的席位上,席位会自动切换。其他所有终端则会以通知形式收到诊断结果,方便你采取行动。健康的终端永远不会被检查。

Diagnose & restore stuck agents 默认开启,并在整个应用范围内生效,覆盖每个团队、席位图和已链接的终端。在 How to restore 下选择:

  • With AI (recommended)(使用 AI,推荐):检查器 AI 会先读取卡住终端的屏幕,只有确认是配额墙或登录墙时才会触发恢复。它绝不会打扰一个只是在忙碌的 Agent。
  • Manual timer — no AI(手动计时,不用 AI):仅凭超时即恢复。这更快且完全在本地运行,但它无法区分真正卡死的 Agent 和正在执行长任务的 Agent。

检查器 Agent,按顺序尝试

检查器会逐个尝试。如果某个检查器未安装、达到自身限额或超时,下一个会接管。卡住终端所属的 provider 始终会被跳过,因此 Agent 永远不会给自己打分。Claude、Codex、Gemini、OpenCode、Qwen、Kimi、Grok 和 Hermes 都可以充当检查器,最多同时配置四个。使用 + Add checker 添加、箭头调整顺序、Remove 移除来编辑列表。如果你一个都不选,则按此顺序使用第一个已安装的 CLI。

每个检查器都有独立的模型(自 v1.75.0 起)。打开 Agent 旁边的下拉菜单选择一个模型,或保留 Default model 以使用该 CLI 的默认模型。

检查器以无头方式运行,权限受限,且在中立目录中执行。它们对屏幕进行分类,并以一行 JSON 作答,绝不会触碰你的项目。只有在你给予一次性的屏幕读取授权后,屏幕文本才会发送给检查器。

Autopilot (failed tasks)

Autopilot 会重启在任务中途死掉或断连的 Agent。它会恢复该 Agent 的会话,或将任务切换到该席位的备用 Agent。它从不回答问题,也从不向选择器中输入内容。**它默认关闭。**将 Autopilot (failed tasks) 卡片切换为 On。开启它同时也会授予 AI Diagnosis 所用的屏幕读取授权。

Agent Orchestration → AI Diagnosis 中的 Autopilot (failed tasks) 卡片,已切换为 On 并显示 Watching,上方是 Resume the session、Switch to backup 和 Wait for you 三个区块,下方是已恢复 Agent 的 Recent decisions 列表

开启后,卡片会显示 Watching. Acts only when a running task goes quiet, its process exits, or a message to it stalls. Idle tabs are never checked.(监视中:仅当正在运行的任务静默、进程退出或消息送达受阻时才会行动,空闲标签页从不检查。)按 How it works 查看动画演示。

何时触发

Autopilot 只关注正在处理你发送的 prompt 的终端。三种情况会触发它:

触发条件判定标准
进程退出CLI 在 prompt 尚未完成时因错误退出。用 /exit 或 Ctrl-D 主动退出属于正常退出,不会被处理。
任务静默正在运行的任务停止产生输出,检查器读取屏幕确认它确实卡住了。
消息受阻消息投递持续失败,且 AI Diagnosis 报告连接已断开。

它会做什么

  • Resume the session(恢复会话)。Autopilot 在同一终端中用该 CLI 自带的恢复命令重启 Agent,原来的会话和记录会一并回来。支持 Claude Code、Codex、Gemini、Cursor、OpenCode、Grok、Kimi、Qwen、Amp、Cline、Hermes、Antigravity 和 Qoder。
  • Ask it to continue(让它继续)。当 After a resume, ask the agent to continue 开启时(默认),恢复后的 Agent 会收到一条指令:从中断处继续,不重做已完成的步骤,并在重复某个被中断的步骤之前先检查其结果。
  • Switch to backup(切换到备用)。如果标签页无法恢复——因为致命错误或没有可恢复的会话——配置了备用 Agent 的席位会连同任务简报一起接管任务。旧标签页保持打开。
  • Wait for you(等待你处理)。如果屏幕上有问题、选择器、输入到一半的草稿或登录墙,或其他任何不明确的情况,则不会输入任何内容。问题、选择器和草稿会被原样保留;登录墙和不明确的屏幕会向你发送通知。

重试限制

Autopilot 在首次重启前等待 5 秒。如果同一个 prompt 再次失败,第二次重启前等待 20 秒,第三次前等待 60 秒。之后它会停止,并通过一张 Activity 卡片通知你:Stopped retrying "…" after 3 resumes; waiting on you.(在 3 次恢复后停止重试,等待你处理。)你发送新的 prompt 会重置计数。任何终端在一小时内重启次数不会超过 6 次。

Recent decisions(最近决策)

Recent decisions 列出本机最近 5 次操作。每行显示时间、prompt、项目和原因,并带有徽标:ResumedSwitched to backupCouldn't resumeContinuedStopped retryingWaiting on you。Activity 卡片带有 Autopilot 标记。完整账本仅追加写入,保存在 ~/.1devtool/orchestration/autopilot-ledger.jsonl

Pause or off(暂停或关闭)

  • Pause 会阻止 Autopilot 恢复或切换任何内容,直到你解除暂停。来自 Diagnose & restore stuck agents 的备用切换仍会运行。
  • Off 会停止 Autopilot 并清除暂停状态。

要在不修改设置的情况下仅对单次启动关闭 Autopilot,使用 ONEDEVTOOL_AUTOPILOT=off 启动 1DevTool。此时卡片会显示 Off for this launch.(本次启动已关闭。)

相关文档