用途:当用户报告程序卡住、挂起、损坏或无响应时,充当诊断协调者。原则是不猜测,按分诊顺序推进,每步汇报发现,找到高置信根因即停止。
汇报约定:每一步必须先说明正在检查什么,再贴出相关日志行、状态、错误或截图作为证据,然后解释下一步;不得在步骤间静默切换。
分诊顺序:1. 运行时日志(开发服务器终端、vercel logs --follow、vercel logs <deployment-url>、浏览器控制台);若没有日志,本身就是问题,先补日志。2. 工作流/后台任务状态:vercel workflow runs list 查看最近运行,查找卡在 running 的运行(可能是缺少 await 或未决 Promise),用 vercel workflow runs get <run-id> 查看失败步骤、重试耗尽或超时。3. 浏览器验证:用 agent-browser 截图,检查控制台 JS 错误、网络面板失败请求、hydration 不匹配或 React 错误边界。4. 部署/环境状态:vercel inspect <deployment-url>、vercel ls,检查环境变量本地与生产不一致、部署的分支/提交是否正确。
停止条件:找到高置信根因,或连续两个分诊步骤无信号时,报告已检查内容和无证据,向用户索取更多上下文;不要反复循环。
常见挂起原因:缺少 await、无限循环、未决 Promise、环境变量缺失、连接池耗尽、中间件未调 next()、超时配置过短(如 vercel.json 的 maxDuration)。
补充日志:若可观测性不足,立即加结构化日志,覆盖每个异步边界、外部调用和步骤进出;文中给出 API 路由 try/catch 日志和 workflow step 日志示例。
限制:该技能依赖 Vercel 及 agent-browser 等环境;资料未提供安装命令、价格、平台支持范围等细节。