用途:当代码涉及自身无法控制的外部黑盒系统(浏览器、编辑器、CDN/WAF、IM 平台、第三方 API、操作系统剪贴板等)时,提供一套先采集真实数据、再推理修复的调试方法论。
触发场景:输出被第三方平台消费(HTML 推送至 CSDN/微信/Notion/钉钉/飞书);集成浏览器或系统 API(Clipboard、Drag-Drop、File System);调用经 CDN/WAF/反代的第三方 HTTP API;在 IM 或富文本编辑器渲染内容。调试侧包括跨浏览器/设备表现不一致、粘贴复制异常、第三方 API 返回怪结果、本地复现失败但线上有问题,以及连续两轮凭代码推理的修复均无效。
黑盒判定:控制权在第三方、文档不全、只能从外部观察输入输出、同一输入在不同环境表现不同,满足任意两项即适用。
数据采集:按黑盒类型采集对应数据,如剪贴板用 navigator.clipboard.read() 列出所有 mime 并打印 outerHTML;第三方编辑器对比粘贴前后 DOM;跨浏览器用真机截图加 DOM;HTTP API 用 curl -v 或 Charles/mitmproxy 抓完整请求响应;CDN/WAF 用 curl -I 查看 Server/Via 头;IM 平台需真机截图发送与接收两端;系统剪贴板可用 macOS pbpaste -Prefer html。采集须保留原始格式,HTML 用 outerHTML,JSON 用原始字节,二进制用 hexdump。
决策流:判断是否涉及黑盒,是则采集数据、基于数据提假设、单变量验证、修复并沉淀案例;否则走通用调试流程。
限制与反模式:不得跳过数据采集,假设须能引用具体抓取结果,一次只改一个变量,避免用 try-catch 或全局 polyfill 掩盖未理解行为,避免凭主流环境应支持某特性的臆测。修复后应追加案例到 references/case-{name}.md。资料未提供具体安装命令与价格信息。