CLI Doctor

你的代理 CLI 启动即挂。
这就是确切的原因。

代理 CLI 起不来,是 AI 编码里最让人泄气的一种失败:没有输出,没有堆栈跟踪,有时只是提示符又跳了回来。CLI Doctor 抓住那个瞬间,读懂真正发生了什么,然后回答唯一重要的问题:哪里坏了,我现在该做什么。

它知道 AgentsRoom 实际执行的那条命令,知道哪个参数来自哪项设置,也知道 CLI 在放弃之前打印了什么。这些上下文,是搜索引擎结果永远拿不到的。

CLI Doctor
启动失败
$ claude --model opus-5 --mcp-debug
error: unknown option '--mcp-debug'

一次失败的启动、真实的错误,以及一份点名该负责设置项的诊断。

代理 CLI 迭代很快。一个参数在小版本里被删掉,一个二进制文件在 Node 升级之后从 PATH 里消失,一次登录过期,一个沙盒拒绝启动,一份为别的工具写的配置文件被读了进来。落到你这边,结果永远一样:你发出一条提示词,然后什么都没发生。

难的从来不是修复本身,而是搞清楚启动命令里那二十来个东西到底是哪一个出了问题,以及它是来自应用、来自你的供应商设置、来自你三周前给那一个代理设的覆盖项,还是来自 CLI 自己在你脚下变了。

CLI Doctor 补上了这个缺口。它保存实际启动的那条命令,为每一个参数标出注入它的设置项,捕获 CLI 打印的内容,再把这一切变成一份简短的诊断加上具体步骤。确定性检查永远先跑,并且优先级更高:只有在应用自己答不上来时,AI 才开口。

你得到的不再是一个空白终端

一段大白话的失败说明,而不是一串等你破译的堆栈跟踪。一两句话,直接点出真正的原因。

具体的下一步,按顺序排好。每一步都可以带上快捷入口:直达对应的设置面板、重装命令或重新启动,你不用再满世界找那个选项藏在哪里。

参数溯源:启动命令里的每一个词都会被归到它的来源,因此答案可以直接说“这个参数来自设置里的 Autonomous mode”,而不是靠猜。

开发命令享受同样的待遇。当构建、测试或服务器命令在终端里失败时,诊断只有一次点击的距离,你还能从那里把整件事交给一个 DevOps 代理。

一次诊断是怎么发生的

分层是刻意的:便宜又确定的检查先跑,AI 是最后手段。

01

AgentsRoom 记录真实的启动

终端被派生的那一刻,完整命令就被记录下来:二进制文件、参数、模型、选项。正是这份记录,让之后的准确诊断成为可能;而且它覆盖代理能被启动的每一条路径,包括从你手机上或从一张 backlog 工单触发的启动。

02

确定性检查先说话

二进制文件缺失、CLI 不再接受的参数、未登录的会话、过时的版本:这些都是已知且确定的结论。它们会直接以一条横幅加一个修复按钮给出。不调用 AI,不用等待。

03

可疑的启动要被佐证,而不是被假定

如果这次失败不属于已知情形,AgentsRoom 会在最初几秒里寻找错误特征,然后检查终端里实际在跑的是什么。只是启动慢,或者首次运行时正忙着安装自己的 MCP 服务器的 CLI,并不算失败,会被排除。

04

被诊断的是脱敏之后的上下文

只有到这一步,AI 才带着错误片段、清理过的命令和参数溯源表介入。系统提示词、看起来像密钥的值和长引号参数,会在任何东西发出之前先在你的机器上被脱敏。

05

给你一份摘要和步骤,决定权在你

诊断出现在终端里。任何东西都不会替你执行:一个操作按钮会打开相关设置、提议重新启动或显示安装命令,而按下它的人始终是你。

答案从哪里来

CLI Doctor 读的就是你亲手配置的那些地方。以下三处贡献了大部分启动失败。

带着显而易见的边界来设计

出门之前先脱敏
系统提示词、看起来像密钥的环境变量值和长引号参数,会在诊断请求发出之前,先在你的机器上被剥离。
不会替你执行任何东西
诊断可以提议打开某个设置面板、重新启动代理或显示安装命令。它绝不会自行执行任何命令。
确定的答案保持确定
二进制文件缺失或参数被拒绝,由确定性检查作答,而不是由模型作答。只有在确实说不出确定结论的地方,AI 才开口。

FAQ

CLI Doctor 覆盖哪些代理 CLI?

全部覆盖。启动记录写在 AgentsRoom 派生终端的那唯一一处,所以 AgentsRoom 支持的全部 14 个代理 CLI(Claude、Codex、GitHub Copilot CLI、Cursor 以及另外 10 个)都在其中,从移动伴侣应用或从一张 backlog 工单启动的代理也一样。

它会把我的终端输出发到服务器吗?

它发送的是脱敏后的启动错误片段、清理过的启动命令和参数溯源表,而且只在真的要生成诊断时才发。系统提示词、看起来像密钥的环境变量值和长引号参数,会先在你的机器上被剔除。你的源代码从不在其中,自动诊断也可以在设置的 Privacy and data 里彻底关闭。

它会自己执行命令或改动我的设置吗?

不会。某个步骤可以带一个快捷入口,打开对应的设置面板、提议重新启动代理,或显示可复制的安装命令。执行动作永远由你来做。

参数溯源具体是什么?

AgentsRoom 的启动命令由好几层拼装而成:供应商默认值、自主模式、你选的模型、推理强度、按代理设置的 CLI 覆盖项,等等。参数溯源会给最终命令里的每个词标上是哪一层放进去的,于是诊断能直接指出该拨哪个开关,而不是泛泛地描述那个参数。

每次报错它都会触发吗?

不会,这是刻意的。在代理终端里,每一次启动失败只触发一次,而且必须先被佐证:只是启动慢,或者首次运行时正忙着安装自己的 MCP 服务器的 CLI,会被排除而不是被诊断。开发命令终端里的诊断只能手动点击触发,因为失败的 watch 循环会不停地重复输出同一个错误。

免费方案能用吗?

可以,有每月额度。Plus 会提高额度,Pro 在实际使用中不设上限。确定性结论覆盖了最常见的失败,比如二进制文件缺失或参数被拒绝,它们完全不计入额度:因为从不调用模型。如果你确实用到了额度上限,在应用里添加你自己的 OpenAI API 密钥,诊断就会继续用你的密钥运行。

代理通过 SSH 跑在远程机器上时会怎样?

在你这一侧,前台进程是 SSH 客户端本身,因此远端挂掉的 CLI 从这里看仍然是健康的,这一次就会被跳过。这是刻意的取舍:漏掉一次诊断,好过给出一个自信的错误结论。在连接的远端那一侧,确定性检查依然生效。

这和把报错粘贴给聊天机器人有什么不同?

聊天机器人只看得到你粘贴过去的那段文字。CLI Doctor 还握有实际执行的那条命令、其中每个参数的来源、正在使用的供应商和模型,以及进程的状态,而这些都不需要你自己拼凑。正是这些上下文,把一个泛泛的回答变成一个该改哪项设置的具体名字。

你可能还会喜欢

别再猜你的代理为什么起不来

AgentsRoom 读取这次启动,点名罪魁祸首,把修复方案递到你手上。macOS、Windows 和 Linux 上均可免费下载。

免费下载 AgentsRoom

配套应用:随时随地监控你的 Agent

使用 Claude、Codex、Antigravity CLI 或其他 AI 提供商。

获取扩展程序
Chrome Web Store

把 Bug 和需求直接发送到您的公开待办清单。

AgentsRoom 实际运行一瞥。

多项目管理
多供应商
多代理运行
实时状态
文件差异与提交
移动应用
实时预览
代理团队
浏览器自动化
Backlog 驱动开发
提示词库
技能库
查看所有功能