用途:Debug Mode 是一套假设驱动的调试工作流,要求按阶段推进,不直接跳到修复。
主要能力:分为六个阶段。阶段一理解缺陷,向用户确认预期与实际行为、复现步骤和错误信息,并阅读相关源码理解调用链与数据流。阶段二生成编号的可测试假设列表,涵盖明显与非明显原因(竞态、差一错误、过期闭包、类型强制转换等)。阶段三插桩:默认写入 {project_root}/.agents/debug.log,project_root 为从上下文推断的硬编码常量,禁止使用 import.meta.dir、__dirname、process.cwd()、Deno.cwd()、path.resolve() 等运行时探测;远程或 CI 环境改用 /tmp/.agents/debug.log。每次复现前创建 .agents/,若 debug.log 非空则先按 debug-1.log、debug-2.log 顺序归档再清空。服务端用文件追加 API,浏览器端用 fetch POST 到调试 API 路由,需在开发与发布环境均可用。所有插桩必须包裹在 #region DEBUG / #endregion DEBUG 区块中。日志消息带假设编号如 [DEBUG H1],记录变量状态、执行路径、时序与决策点,保持最小化。禁止使用 console.log、print 等标准输出。插桩后让用户复现并停止等待。
阶段四分析日志:先检查日志大小,过大时用 tail 或 grep "[DEBUG H" 提取相关行,将日志映射到假设,给出确认或排除的诊断与证据;若无结论则生成新假设、继续插桩、归档重置日志并再次等待复现。阶段五编写修复,保留插桩,归档重置日志后请用户验证并停止等待。阶段六验证与清理:修复成功则用 Grep 找到并移除所有 #region DEBUG 区块,删除全部 .agents/debug*.log 文件并总结;未修复则读取新日志、询问观察结果并回到阶段二迭代。
规则:不得跳过阶段,即使用户认为已知答案也要插桩验证;用户确认修复前不得移除插桩;每次复现前归档并重置日志;插桩必须包裹在 DEBUG 区块中;请用户复现后必须等待。
适用场景:需要可复现证据的缺陷排查,尤其是间歇性缺陷,可保留插桩等待用户回传日志。限制:移动端、嵌入式或远程运行时无法写入项目根目录时需调整日志目的地并请用户提供日志;资料未提供具体支持的语言、平台、收费与价格信息。