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 派生终端的那唯一一处,所以 Claude Code、Codex CLI、GitHub Copilot CLI、Antigravity CLI、OpenCode、Aider、Grok Build、Mistral Vibe 和 Kimi Code 都在其中,从移动伴侣应用或从一张 backlog 工单启动的代理也一样。

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

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

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

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

参数溯源具体是什么?

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

每次报错它都会触发吗?

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

免费方案能用吗?

可以,有每月额度。Plus 会提高额度,Pro 在实际使用中不设上限。确定性结论覆盖了最常见的失败,比如二进制文件缺失或参数被拒绝,它们完全不计入额度:因为从不调用模型。

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

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

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

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

你可能还会喜欢

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

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

免费下载 AgentsRoom

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

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

获取扩展
Chrome Web Store

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

AgentsRoom 实际运行一瞥。

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