用途
该技能用于在手动测试或实现过程中帮助调试问题。它通过检查日志、数据库状态和 Git 历史来调查问题,且不编辑任何文件。可以将其视为一种在不使用主窗口上下文的情况下启动调试会话的方式。
主要能力
- 调查应用程序日志,查找错误、警告、堆栈跟踪或重复出现的问题。
- 查询 SQLite 数据库,检查表结构、最近数据以及是否存在卡住的状态或异常。
- 检查 Git 状态,包括当前分支、最近提交、未提交的更改以及文件是否存在或权限问题。
- 检查服务状态,如运行中的进程和监听端口。
- 并行启动多个调查任务以提高效率。
- 生成聚焦的调试报告,包含问题描述、证据、根因和下一步建议。
使用方式
调用时可以附带计划或工单文件,也可以不带参数。
- 附带计划/工单文件时,会先询问具体问题:正在测试/实现什么、出了什么错、是否有错误信息,然后调查日志、数据库和 Git 状态。
- 不带参数时,会要求描述当前问题:正在做什么、具体发生了什么、上次正常是什么时候,然后调查日志、数据库状态和最近更改。
调查过程分为三步:
- 理解问题:读取提供的上下文,快速检查 Git 分支、最近提交、未提交更改以及问题开始出现的时间。
- 调查问题:并行启动三个任务,分别检查最近日志、数据库状态(如适用)以及 Git 和文件状态。
- 呈现发现:输出调试报告,包含问题所在、证据(来自日志、数据库、Git/文件)、根因和下一步建议。
适用场景
- 在手动测试或实现过程中遇到问题时。
- 需要快速了解当前状态而不想消耗主窗口上下文时。
- 需要检查日志、数据库或 Git 历史来定位问题时。
限制
- 不编辑文件,仅进行调查。
- 必须提供问题描述,否则无法调试。
- 某些问题可能超出其能力范围,例如浏览器控制台错误(需在浏览器中按 F12 查看)、MCP 服务器内部状态以及系统级问题。
- 读取文件时要求完整读取,不使用限制或偏移。
- 需要像 commit 或 describe_pr 命令那样理解 Git 状态和更改。
- 部分问题需要引导用户自行处理。