用途:当 webcmd <site> <command> 因网站改版导致适配器失效时,自动诊断、修复并重试。适用错误码包括 SELECTOR、EMPTY_RESULT、API_ERROR/NETWORK、PAGE_CHANGED、COMMAND_EXEC、TIMEOUT。
主要能力:收集失败 trace(webcmd <site> <command> --trace retain-on-failure 2>trace-error.yaml),读取 summary.md 等证据;用 webcmd browser 探索当前站点 DOM 与网络请求;仅修改 trace 中 adapterSourcePath 指向的适配器文件;修补后重试验证;可起草上游 issue。
使用方式:先运行 webcmd doctor 确认扩展与守护进程连通。修复前需排除误报:空结果可能为真实答案,应换查询或入口重试、在普通浏览器核对、排查软 404;持久会话适配器的错误弹窗可能来自陈旧 DOM,需在干净标签页复现。修复时只改 adapterSourcePath,不改 src/、extension/、tests/、package.json、tsconfig.json;只使用 @agentrhq/webcmd/* 导入;保持输出结构兼容;每轮为诊断→修补→重试,最多 3 轮。
限制与硬性停止:AUTH_REQUIRED(退出码 77)与 BROWSER_CONNECT(退出码 69)属环境问题,需按登录或 webcmd doctor 流程处理并等待用户完成验证;CAPTCHA、限流或 IP 封禁时停止自动化;不得请求、输入或存储密码、OTP、Cookie 等凭据;不得为消除失败而放宽 verify 夹具。3 轮未解决、功能被移除或需整体重写时停止并如实报告。上游 issue 仅针对可复现的 Webcmd 缺陷,提交前需用户批准,并用 gh auth status 检查登录,命令为 gh issue create --repo "${WEBCMD_FEEDBACK_REPO:-agentrhq/webcmd}" --title "[Bug]: <site>/<command>: <short failure summary>" --body "<approved, sanitized draft>"。