openclaw triage¶
收集经过无害化处理的诊断信息,并在此机器上启动一个编程智能体,以诊断、修复并验证此 OpenClaw 安装。
在交互式终端中,triage 会按以下检测顺序启动 PATH 上第一个可直接启动的智能体:Codex(codex)、Claude Code(claude)、Pi(pi)、OpenCode(opencode)、Muse Code(muse)、Grok Build(grok)、Cursor(cursor-agent)、Kimi Code(kimi),然后是 Qwen Code(qwen)。当 Codex 和 Claude Code 都可用时,Codex 优先,除非你通过 --agent 选择其他智能体。显式调用 openclaw triage 会打印所选智能体,并直接传递一个受限的修复提示,而不会显示选择器或启动确认。该智能体会使用其现有的身份认证和原生执行策略。
选择 Cursor 时使用 --agent cursor,并且需要由 Cursor 的 CLI 安装程序安装的 cursor-agent 别名。Triage 不会使用 cursor 编辑器命令或通用的 agent 别名——Grok 也会安装该别名。
Kimi Code 使用 kimi --prompt 进行单次修复轮次。其原生提示模式使用自动权限,不会出现审批提示;triage 会在启动或手动移交前打印此策略。Kimi Code 不提供交互式初始提示标志。Qwen Code 使用 qwen --prompt-interactive 以修复提示开始,并保持交互式会话打开,包括其正常的工具审批。
Claude Code 以 --safe-mode 启动,这会禁用自定义钩子(hooks)、插件、技能(skills)、MCP 服务器和项目指令,同时保留身份认证和内置工具。这样可以防止项目启动钩子(例如依赖安装)延迟修复提示的出现。直接启动要求 Claude Code 2.1.169 或更高版本。当已安装的 CLI 未声明支持 safe-mode 时,triage 会改为打印手动移交命令。打印的手动命令会使用 Claude 的常规自定义设置,包括插件和 MCP 服务器。
使用 --agent 选择特定智能体,或使用 --json 或 --non-interactive 在不启动任何智能体的情况下收集诊断信息:
openclaw triage --agent codex
openclaw triage --agent cursor
openclaw triage --agent grok
openclaw triage --agent kimi
openclaw triage --agent muse
openclaw triage --agent qwen
openclaw triage --json
openclaw triage --non-interactive
提示中包含 OpenClaw 版本、平台、Node.js 版本、按优先级排列的 Doctor 发现及修复提示、以及诊断归档路径。归档包含经过无害化处理的配置、尽力而为的 Gateway 状态与健康快照、操作日志摘要,以及可用的稳定性诊断。如果 Gateway 不可达,triage 仍会使用可用的本地诊断写入归档,并在其中记录快照失败情况。Doctor 或导出失败会记录在提示中,以便智能体仍可进行调查。
诊断归档不包含机密信息、令牌、原始聊天载荷和原始日志。更新失败的提示包含受限且经过无害化处理的诊断摘录,机密信息和本地路径会在截断前被移除。提示中的路径以相对于 ~ 或 $OPENCLAW_STATE_DIR 的形式显示。保存的提示路径、归档路径和打印的移交命令会保留你的 shell 所需的真实绝对路径。诊断收集是只读的。被启动的智能体会被要求在现有权限内自主修复,并保留配置、历史和数据库。
归档的配置摘要会统计保存文件中声明的智能体、插件和频道条目。共享频道设置和 $include 指令不计入这些统计。诊断不会展开包含的文件。
更新失败恢复¶
在失败的更新到达 triage 之前,更新器可能会运行有界无人值守修复,以处理候选项验证失败或激活后验证失败且回滚不安全或失败的情况。这些尝试使用配置的推理服务,并会出现在更新运行报告中。更新器负责所有服务重启,并根据验证结果决定是否成功。当恢复无法完成时,triage 仍然是移交对象。
交互式更新恢复在更新器释放其维护状态后使用相同的移交流程。它从捕获到的更新失败开始。它将新的 Doctor 检查和归档收集推迟给修复智能体,这样针对损坏安装的检查就不会延误移交。智能体在操作员捕获的工作目录中启动;如果该目录已被删除或变得不可访问,则在操作系统的用户主目录中启动。即使状态目录无法访问或创建,绝对安装选择器仍能识别需要修复的状态、配置和默认工作区。
在自动交互式启动之前,OpenClaw 会显示它将运行的内容。它会显示所选二进制文件,或使用你所配置模型的嵌入式 OpenClaw 智能体。它还会在可用时显示保存的提示路径,并提示将使用你自己的账户或令牌。然后 OpenClaw 请求确认。只有明确的“是”(Yes)才会启动智能体。按 Enter、n、取消,或 30 秒内没有回答,都会跳过启动,打印所选智能体的一条手动后续步骤,并保留诊断信息和失败更新的退出状态。若要选择另一个外部智能体,请运行 openclaw triage --agent codex 或其他受支持的 --agent 值。这取代了之前超时视为 Yes 的默认行为;显式的独立 triage 和无人值守的自主恢复保持其现有行为。
提示会保留原始错误、更新前后的版本,以及在当前 Doctor 发现之前的已记录恢复状态。它最多包含三个失败或中断的步骤(不包括建议性的 Doctor 结果),并带有来自 stderr 和 stdout 的受限摘录。它还会保留受限的插件失败信息和最终的 Doctor 警告。失败记录限制为 4 KiB,整个提示限制为 8 KiB。健康的 Doctor 检查不会抹去失败的尝试,而缺失的重启安全判定仍保持未知状态。
使用 --yes、JSON 输出或非交互式会话的更新,可以在符合条件的变更或重启失败后启动一次受管自动修复,如下所述。其他失败会报告正在准备 triage 诊断,并保留一个人工后续步骤;它们不会声称已启动修复代理。初始参数、所有权和安装拒绝仍不属于自动修复范围。对于无法接受受管恢复的后台或 Control UI 失败,请使用 Gateway 主机上打印的安装特定命令,或在那里运行 openclaw triage。独立诊断会将待处理的失败更新通知作为上下文保留。嵌入式验证通过解析所有者选择当前 ledger 历史。这些读取不会消费该通知,也不会创建状态数据库。投递路由和继续指令被排除。
使用 --update-result <path> 可包含更新器保存的失败工件。Triage 最多读取 8 KiB 的有效 UTF-8 JSON,并验证失败记录。其打印的嵌入式交接命令使用经过清理的支持导出,因此在临时更新器输入被删除后仍可使用。带有已捕获失败的交互式交接会推迟新的诊断。JSON 和强制非交互式运行仍会收集它们。
修复提示会指示代理保留已迁移的状态,在回滚或重启之前进行调查,并在修复后验证目标安装以及 Gateway 健康状况和 RPC 连接性。代理成功退出不会将原始更新器失败变为成功的更新。
安装目标与嵌入式交接¶
Triage 会捕获被诊断安装的已解析状态目录、精确配置路径和默认工作区,包括自定义路径和命名配置。本地 shell 命令会将其作为 OPENCLAW_STATE_DIR、OPENCLAW_CONFIG_PATH 和 OPENCLAW_WORKSPACE_DIR 接收。因此,归档引用和默认工作区检查会针对被诊断安装进行解析,即使其选择器是隐式的。安装配置中创建的工作区仍优先于其默认工作区。嵌入式代理会将其自身的配置快照、会话、执行 cwd 和临时运行状态分开。进程内配置和会话工具指向该临时运行。使用本地 shell 命令来检查或修复被诊断安装。
openclaw triage --run 会在交互式终端中请求最多一次有界的嵌入式修复轮次。推理使用系统代理所有者的默认模型,然后使用其配置的 model.fallbacks,再使用其他已配置代理的已认证路由。明确不支持工具的模型以及没有可用认证的路由会被跳过。如果没有可用路由,triage 会报告嵌入式修复不可用。请使用已保存的交接命令,或使用 openclaw onboard 修复模型配置。
对于独立安装 triage,循环会在轮次前后运行 Doctor lint,并使用错误发现的数量来衡量改进。初始健康的安装会打印 already resolved,而不会启动推理。Triage 允许一轮、总共十分钟、轮次五分钟,以及 40 次工具调用。一轮之后错误发现更多会将安装报告为未修复。
对于已记录的更新失败(包括 Doctor 最终化),干净的 Doctor lint 是不够的。Triage 要求一个已完成的更新器结果,并验证已安装的包或 Git 运行时、Doctor 发现,以及受管 Gateway 的安装和就绪状态。显式提供的失败工件会针对其记录的目标保持严格检查。普通 triage 接受之后到相同或更新版本的更新成功,并验证该当前完成项的安装,因此历史失败不会将安装固定到较旧版本。插件失败还要求插件健康。之后经过验证的回滚到相同或更新版本也会保留该恢复:普通 triage 会检查回滚运行自身的先前和恢复身份、记录的包恢复以及当前安装。显式工件仍要求回滚到其原始版本。Triage 保留历史失败运行;它从不将失败结果中残留的 after.version 视为请求的目标。
包更新会记录其已解析的 registry 版本。Git 更新会在目标检查期间记录所选 commit 和可用的 manifest 版本,早于候选验证或激活。Triage 可以使用任一记录身份验证 Git 目标;它会检查所有存在的身份。仅包含 dev/latest 等 channel/tag 选择器的旧版 Git 记录不会建立已解析目标。
普通 triage --run 会通过解析所有者验证更新历史,即使没有剩余的重启通知或出现较新的预览。修复确认会清除历史废弃运行阻塞项,但仍需要新的 Doctor 检查;它们不能隐藏当前配置错误。较新的预览和已确认的废弃运行也不能替代已完成的更新。Doctor/配置失败需要与其他更新失败相同的更新器记录完成。待处理的插件状态迁移保持未解决,并会出现在判定中,直到其迁移所有者记录完成,包括在较新的成功更新之后以及没有剩余重启通知时。
显式的 --update-result 工件或没有运行身份或记录目标的待处理通知仍保持 unrepaired,包括 Doctor/配置失败。Triage 会报告无法确定更新目标,并指示你检查 openclaw update status --json,然后运行 openclaw update repair。对于未关联的更新失败,它从不回退到健康的 Doctor 判定。有意停止或未受管的 Gateway 无法提供受管服务验证。当初始检查证明已解决时,面向人的输出会说 already resolved;在修复轮次之后,只有当相同检查通过时,它才会说 repaired。worker 协议保留其现有的 repaired 和 unrepaired 状态。代理成功退出或声称已修复问题,并不是已解决的证据。
回合后的 Doctor 检查仅在执行器确认清理后运行。如果清理失败或超时,修复会报告失败、保留执行状态,并拒绝在该 CLI 进程中再次修复。检查诊断,并在从新进程重试前停止任何剩余工作。
操作员拥有更新或显式 --run 请求。因此,嵌入式修复会用无提示运行替代交互式 exec 批准,范围限定于安装目录或暂存候选根目录(fs.workspaceOnly: true)。它保留 safe-bin 和工具允许列表。它从不覆盖显式 exec 或 repair-tool 拒绝。它拒绝已配置的沙箱、node 和远程执行路由,而不是将它们重定向到主机,并且不启动外部编码代理 CLI。显式拒绝会报告 exec-denied-by-policy。使用 openclaw triage 进行外部交接。已保存的执行策略保持不变。
修复提示指示代理仅修改安装目录或暂存候选根目录,并使用固定的 OpenClaw 状态进行诊断。它禁止编辑凭据或认证存储、删除状态或数据库、在目标根目录外进行包管理器写入,以及启动、停止或重启服务或 Gateway。文件系统工具强制工作区边界。主机命令遵循提示的范围约定,而不是操作系统沙箱。允许的检査包括 openclaw doctor --lint --json、openclaw doctor --fix 和 openclaw health --json。修复循环不会激活更新、重启服务、创建快照或撤销文件。
每个回合都被要求以一行机器可读内容结束:
状态可以是 fixed、partial 或 not-fixed。缺失或格式错误的行会回退到最终文本的有界摘要。所有者验证仍具有权威性。故障上下文和修复指令共享 8 KiB 提示限制。
在 Windows 上,识别的 npm .cmd 和 .bat 垫片会直接启动其 Node.js 或原生可执行入口点,并保留交互式终端。Node.js 入口点需要正在运行的 Node.js 运行时或 PATH 上的 node.exe。需要 shell 的自定义包装器仍为手动交接。显式 --agent 如果缺失或仅支持手动,则以非零状态退出,而不会选择其他代理。
手动交接¶
非交互式会话会保存诊断,而不会启动代理。人类输出会为显式选择或首个检测到的编码代理打印一个下一步。如果未检测到编码代理,它会说明如何安装一个并重新运行 triage。需要 shell 的 Windows 包装器仍可作为手动命令使用。JSON 输出会保留所有外部交接命令和显式嵌入式路由。保存的外部提示从 stdin 读取,或者对于 Grok 和 Muse,使用 --prompt-file。Kimi Code 会收到一条简短指令,用于读取保存的提示,因为它没有提示文件或 stdin 输入选项。在 macOS 和 Linux 上,命令如下所示:
env OPENCLAW_STATE_DIR='<state-dir>' OPENCLAW_CONFIG_PATH='<config-path>' OPENCLAW_WORKSPACE_DIR='<default-workspace-dir>' claude -p < '<prompt-path>'
env OPENCLAW_STATE_DIR='<state-dir>' OPENCLAW_CONFIG_PATH='<config-path>' OPENCLAW_WORKSPACE_DIR='<default-workspace-dir>' codex exec --skip-git-repo-check - < '<prompt-path>'
env OPENCLAW_STATE_DIR='<state-dir>' OPENCLAW_CONFIG_PATH='<config-path>' OPENCLAW_WORKSPACE_DIR='<default-workspace-dir>' cursor-agent --print < '<prompt-path>'
env OPENCLAW_STATE_DIR='<state-dir>' OPENCLAW_CONFIG_PATH='<config-path>' OPENCLAW_WORKSPACE_DIR='<default-workspace-dir>' grok --prompt-file '<prompt-path>'
env OPENCLAW_STATE_DIR='<state-dir>' OPENCLAW_CONFIG_PATH='<config-path>' OPENCLAW_WORKSPACE_DIR='<default-workspace-dir>' kimi --prompt 'Read the debugging prompt at <prompt-path> and follow its repair and verification instructions.'
env OPENCLAW_STATE_DIR='<state-dir>' OPENCLAW_CONFIG_PATH='<config-path>' OPENCLAW_WORKSPACE_DIR='<default-workspace-dir>' muse exec --prompt-file '<prompt-path>'
env OPENCLAW_STATE_DIR='<state-dir>' OPENCLAW_CONFIG_PATH='<config-path>' OPENCLAW_WORKSPACE_DIR='<default-workspace-dir>' opencode run < '<prompt-path>'
env OPENCLAW_STATE_DIR='<state-dir>' OPENCLAW_CONFIG_PATH='<config-path>' OPENCLAW_WORKSPACE_DIR='<default-workspace-dir>' pi --print < '<prompt-path>'
env OPENCLAW_STATE_DIR='<state-dir>' OPENCLAW_CONFIG_PATH='<config-path>' OPENCLAW_WORKSPACE_DIR='<default-workspace-dir>' qwen < '<prompt-path>'
env OPENCLAW_STATE_DIR='<state-dir>' OPENCLAW_CONFIG_PATH='<config-path>' OPENCLAW_WORKSPACE_DIR='<default-workspace-dir>' openclaw triage --run
捕获的更新失败会为嵌入式命令添加 --update-result <saved-failure-path>。外部命令会使用其代理的原生非交互式工具策略,包括 Kimi Code 的自动权限。Triage 不会添加权限覆盖。使用 openclaw triage --agent <name> 启动会话;Kimi Code 仍为单次提示运行。
打印的 Windows 命令面向 PowerShell,包括 Windows PowerShell 5.1。它们会以 UTF-8 读取保存的提示,保留字面路径,并在命令完成后恢复你的安装选择器。WSL 使用 POSIX shell 命令。
JSON 输出还包括 detectedAgents,列出在 PATH 上找到的外部代理。带 JSON 输出的独立 triage、非 TTY 会话或 --non-interactive 从不启动代理,即使使用 --agent。Codex 命令可在 Git 检出之外工作。它不会更改 Codex 沙箱或审批设置。
自动故障交接¶
已到达安装更改的失败更新、不健康的更新重启以及记录的 Gateway 服务器启动失败可以自动调用相同的 triage 流程。现有更新结算会先运行。恢复要求更新所有者验证重启是安全的。包替换后,已安装的 CLI 拥有 triage。不可用或不兼容的 CLI 文件会留下保存的故障诊断和手动指导。受监督的 Gateway 仅在其现有崩溃循环断路器首次触发时尝试 triage。同一 Gateway 进程中的后续故障不会启动另一个代理。
自动交接(handoff)首先选择已配置的嵌入式代理,否则按顺序选择一个可直接启动的 Codex 或 Claude Code CLI。外部代理使用其现有的身份验证和权限以非交互方式运行。Claude Code 使用 --safe-mode 禁用自定义钩子、插件和项目指令,同时保留身份验证和内置工具。找到可执行文件并不代表身份验证已建立。所选路由失败时——包括不支持安全模式的 Claude 版本——会报告错误,而不会尝试另一个代理。私有提示词和手动交接命令仍然可用。
自动嵌入式恢复仍然使用已配置的运行时,因为它必须调查原始故障,包括 Doctor lint 无法检测到的症状。其修复提示词在需要运行健康验证时,可以允许一次自有的原子性 Gateway 重启。有意停止的安装保持停止状态。这与手动 triage --run 不同,后者的 Doctor 验证修复循环从不掌控服务生命周期变更。
进程内重启失败后,当前台 triage 完成且清理得到确认时,Gateway 会重试一次启动。新的启动读取修复后的配置并记录自身的启动结果;代理的成功本身并不能确证恢复。如果 triage 无法完成或重试也失败,CLI 会报告启动失败并以非零状态退出,以便其监管者可以恢复它。在 triage 期间收到停止信号会取消恢复并等待清理,而不会启动另一个 Gateway。
定向自动 Codex 修复要求一个自有的 stdio 应用服务器进程。Unix 套接字和 WebSocket 连接被拒绝。套接字服务器具有独立的生命周期,断开连接不会停止其活动轮次。WebSocket URL 也无法确定原生命令在何处执行。请使用现有的 plugins.entries.codex.config.appServer.transport 设置并指定 "stdio",或者使用本机上保存的外部/手动交接。Triage 绝不会将已配置的套接字路由静默切换为 stdio。没有安装目标的普通 Codex 运行仍保留套接字和 WebSocket 支持。ACP、预配置沙箱、远程/节点执行以及带有 remoteWorkspaceRoot 的 Codex 应用服务器仍不支持自动本地目标修复。原生沙箱和审批策略予以保留。
修复代理会收到原始故障和验证目标:使用 openclaw health --json 和 openclaw status --all 或 openclaw gateway status --deep 检查目标安装;如果已知有更新,确认更新后期望的运行版本;并验证原始症状。仅凭 PID、有效配置或成功的修复命令并不能证明恢复。报告必须包括变更、验证证据以及任何剩余的阻碍因素。
被跳过或阻止的更新、能力审批拒绝、所有权和 schema 拒绝、未确认清理的启动失败、现有 Gateway 锁冲突、外部监管者,以及修复代理内已在运行的命令,都不会触发另一个自动代理。自动 triage 遵守 --no-restart,并让有意停止的服务保持停止。终止信号会取消前台 triage。诊断信息和代理输出写入 stderr。即使代理报告成功,原始失败结果和退出状态也保持不变。
从较旧的受管更新辅助程序升级时,只有在记录的进程实例被确证死亡的情况下,遗留的临时声明才会在下一次接纳(admission)时被回收。这包括已退出的更新运行器或已验证复用的 PID,而不仅仅是已死的辅助程序。存活的、无法验证的、格式错误的或同时被替换的声明则保持不动。此清理不会将存活的旧辅助程序纳入自动 triage:不兼容的存活交接仍需要保存的诊断信息和手动指导。
自动修复对每个规范安装都是单飞(single-flight)的,包括前台更新和无监督的 Gateway 启动。竞争性故障会报告 triage 已被占用,保留其原始输出和退出状态,并让正在运行的尝试不受干扰。在确认清理之后,后续的独立故障可以开始新的尝试。
前台 triage 保持与其调用方的关联。取消或该连接丢失会停止新的工作,已注册的 OpenClaw 资源将获得其现有的清理截止时间。取消或终端断开后,CLI 有现有的 30 秒交接宽限期用于退出。随后,卡住的 CLI 将被终止,其代次(generation)保持隔离状态。外部编码 CLI 在独立进程组中管理原生命令,因此即使正常或协作性的 CLI 退出也会使前台自动清理变得不确定。其结果和手动交接仍然可用。失败的嵌入式代理仍然可以正常完成清理。
如果修复进程突然消失、需要强制终止或拆除(teardown)失败,在该操作系统启动期间自动接纳仍然被阻止。在协作取消后确认清理的已注册嵌入式资源允许再次尝试。强制或不确定的最终结果无法确证该清理已彻底完成。请检查保存的诊断信息,并手动使用 openclaw triage。在先前的任务可能仍在运行时,请勿删除该声明。已验证的不同操作系统启动允许新的尝试。Triage 从不发起重启。启动身份不可用或私有交接数据不兼容时,只能依靠诊断信息和手动指导。
在 macOS 和 Linux 上,嵌入式 OpenClaw 修复会将本地非 PTY 命令和 stdio LSP/MCP 服务器置于一个进程组所有者之下。清理必须确认自有进程组已消失。关闭的管道、进程列表或已完成的根命令不足以证明。脱离该进程组并关闭继承描述符的命令不受此清理保证的覆盖。带有 pty: true 的 OpenClaw exec 请求会回退为非 PTY 子进程,而不会启动原生 PTY,并报告警告。需要终端的命令可能会失败。Windows 上的 stdio 工具仍然缺乏清理确认,因此使用它们会使自动清理结果不确定。
对于嵌入式 Codex 修复,清理必须观察其拥有的后代在 app-server 正常退出前停止。检查失败、未确认的原生终端终止、仍被拥有的共享客户端,或已发出信号的 app-server 退出,即使传输已关闭,也会使自动恢复保持阻塞。故意从 Codex 终端所有权 分离的命令仍不在该清理保证范围内。
对于 Linux user-systemd Gateway,自动托管恢复会在附加到 Gateway 服务的原生作用域中复用现有的更新交接。取消从该原生作用域附加被验证时开始,在就绪被宣布或修复代理启动之前。更早的更新停放、恢复和准备保留其现有更新行为。在附加之前完成的停止不被视为对未来恢复的取消。失败的更新恢复可能使已安装服务处于非活动状态,且 triage 仍可能被接受。不安全的安装或 preserve-activation 请求允许在保持主进程停止的情况下进行离线诊断和修复。运行健康验证被延迟。
在托管更新之后,更新器会暂存其修复请求,并且仅在确认和最终取消检查之后才显式转移它。从未被转移的已取消或断开连接的请求无法启动代理。原生作用域仍负责其内部的所有进程组。在 systemd 仍跟踪其 cgroup 时,失败或非活动的作用域不被视为已关闭。
当托管 triage 需要重启时,使用原子命令 openclaw gateway restart。显式停止会取消恢复及其后代,包括在主进程已非活动或重启待处理时执行 systemctl --user stop <gateway-unit>。恢复期间不要使用先停止后启动。失去 helper、修复子进程或当前交接声明也会关闭恢复。之后更新器无法恢复 Gateway。必须报告取消或不可行,且仅凭代理退出码或文本不足以证明健康。
当目标离线且所有权、schema 和维护锁允许修复时,诸如 openclaw doctor --fix 的修复命令仍可用。如果维护需要停止托管 Gateway,它会在发出停止之前从该 Gateway 的自动修复子树内部拒绝。继续执行只读诊断,或执行安全的离线工件修复,随后进行原子重启。否则报告阻塞项,以便独立操作员可以从 triage 之外的 shell 运行维护。
自动托管执行仅限于已验证的 Linux user-systemd 所有权。Launchd、Windows、system-scope systemd 以及无法验证的托管所有权保留诊断/手动指导。前台恢复仍可用。不意味着更广泛的原生取消支持。
此连接需要可用的 CLI。缺少 Node 或 CLI 文件、Gateway 服务器启动前或记录其启动期间的失败,以及保留现有 Doctor 恢复流程的无效配置路径,可能仍需要手动运行 openclaw triage。它不会安装单独的恢复服务。
输出与退出码¶
提示词会以仅所有者权限写入状态目录内的 logs/support/,与诊断归档以及可用的已清理更新失败信息放在一起。会打印提示词和归档路径,并且 --json 会返回它们,以及按严重程度划分的发现计数和交接命令。
如果支持工件无法保存,triage 会报告存储错误。它仍会将内存中的提示词传递给可用的交互式代理,包括显式请求的嵌入式回合。对于失败的写入,它不会报告已保存的提示词路径。独立 JSON 输出、非交互式会话以及没有可启动交接的会话会保留非零工件失败。这些显式诊断运行永远不会自动启动代理。
启动的外部代理会继承当前环境,并固定所捕获安装的状态、配置和默认工作区选择器。打印的命令固定相同的选择器并保留 shell 引号。外部代理仍控制其自身的 shell 环境和执行策略。保持交接在本机上。Triage 以启动的代理的退出码退出。如果代理无法启动,triage 会打印其手动命令并以非零退出。它不会尝试其他提供商。嵌入式推理检查失败、不支持的执行路径,或没有交互式终端的 --run 也会以非零退出。已保存的提示词和手动交接命令仍可用。
嵌入式修复在其验证证明已解决时以 0 退出,在时间预算停止运行时以 2 退出,其他不完整或不可用的修复以 1 退出。留下错误或未验证更新的改进仍视为不完整。
选项¶
| 选项 | 效果 |
|---|---|
--json |
输出提示词和归档路径、发现计数、检测到的代理以及命令。 |
--no-export |
跳过诊断归档;仍会准备提示词并使用所选交接路径。 |
--agent <name> |
选择 claude、codex、cursor、grok、kimi、muse、opencode、pi 或 qwen,而不是自动检测。 |
--run |
运行一个有界的嵌入式修复回合,并进行安装或更新解决验证。 |
--non-interactive |
准备诊断,而不提示或启动代理,包括在终端上。 |
--update-result <path> |
包含由更新器写入的有界更新失败 JSON 诊断工件。 |
| 选项 | 效果 |
|---|---|
--run 不能与 --json、--non-interactive 或 --agent 一起使用。
相关:Doctor、Gateway 和 Troubleshooting。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw