当任务依赖于用户的实时浏览器会话或可见渲染状态(而非静态获取)时使用,尤其适用于浏览器调试上下文、DevTools选中的元素或请求、已登录的仪表盘或CMS流程、localhost应用、表单、上传、下载、媒体检查、DOM或iframe检查、Shadow DOM,或表现为软404、认证墙、反爬虫检查或速率限制的浏览器故障。
不要将此技能视为通用浏览默认项。根据你需要的证据来路由,而不是根据工具偏好。
每个任务在路由前必须分类:
static-capable:证据可以在没有实时浏览器状态、可见确认或页面交互的情况下生成browser-required:证据依赖于渲染状态、交互、实时会话行为或浏览器专属结构
只有 static-capable 任务可以回退到静态检索、curl 或其他非浏览器路径。一旦任务被归类为 browser-required,就应坚持使用浏览器路径,并将缺失的能力标记为 blocked,而不是静默降级。
前置检查
此技能用于在用户的实时浏览器会话内工作,而非启动一个独立的新自动化浏览器。
在执行浏览器自动化之前,确认你的环境已经能够访问一个实时浏览器栈,该栈可以提供任务所需的能力,例如页面清单、任务拥有的页面创建、页面选择、快照或可见状态读取、DOM检查、文本或表单输入、上传、对话框、控制台检查和网络检查。具体栈无关紧要:确认能力,而非品牌。
如果实时浏览器栈不可用,不要通过此技能尝试浏览器自动化。只有 static-capable 的工作可以回退到静态检索。
实时浏览器自动化可能在某些网站上触发反爬虫或反自动化防御。仅在任务真正需要时使用浏览器交互,一旦获得所需证据,避免不必要的重复操作。
经验循环
将站点模式视为浏览器协议的一部分,而非可选的背景阅读。
对于 browser-required 的工作,运行以下循环:
- 一旦知道目标域名,检查
references/site-patterns/下是否已存在匹配的笔记。 - 如果笔记存在,在对该域名进行第一次有意义的浏览器操作之前阅读它。
- 在运行过程中,留意已验证的站点特定事实,这些事实可能会改变未来运行的操作方式。
- 在认为任务完成之前,判断本次运行是否产生了可重用的事实、否定了现有事实,或没有产生可重用的站点特定学习。
- 如果运行验证了可重用的内容或否定了现有声明,在完成前更新匹配的笔记。
不要为一次性噪音创建域名笔记。不要仅仅因为任务本身成功就跳过运行结束的审查。
当运行验证了以下任何一项时,预期进行回写:
- 稳定的路由形状或必需的查询参数
- 登录、会话继承或
isolatedContext的怪癖 - 可靠的交互原语,如悬停、键盘输入、上传顺序或选择器桥接模式
- DOM生成的链接可靠但手工构建的URL不可靠的域名
- 可预测的反自动化摩擦或误导性的平台错误状态
- 可重用的媒体提取或iframe / Shadow DOM访问模式
决策指南
从结果开始,而不是工具。明确用户的目标,定义完成的标准,并选择能够产生正确证据的最廉价路径。
使用以下路由顺序:
- 判断任务是
static-capable还是browser-required。 - 如果任务是
static-capable,加载references/task-routing.md并坚持使用仍能满足证据目标的最廉价路径。 - 如果任务是
browser-required,加载references/browser-playbook.md。 - 如果在新的主机会话中不确定浏览器所需的能力,同时加载
references/browser-capability-matrix.md。 - 如果用户已有活动的浏览器调试上下文,例如选中的检查器元素或网络请求,同时加载
references/debug-handoff.md。 - 如果浏览器必需的任务涉及已登录的仪表盘、管理界面、CMS、编辑器或任何保存/发布/更新流程,同时加载
references/control-plane-workflows.md。 - 如果当前的失败形态暗示软404、内容不可用状态、可疑的无操作交互、认证墙、速率限制或反自动化防御,同时加载
references/anti-automation-friction.md。 - 如果浏览器必需的任务包含iframe、Shadow DOM、折叠内容或懒加载证据,同时加载
references/deep-dom.md。 - 如果重要证据存在于图像、音频剪辑或视频中,同时加载
references/media-inspection.md。 - 如果浏览器工作可以分配给独立的页面所有者或子代理,同时加载
references/parallel-browser-ownership.md。 - 如果你已经知道一个可靠的选择器但需要MCP原生的
uid目标,同时加载references/selector-bridge.md。 - 如果页面操作使状态模糊、页面意外导航、旧的
uid可能已失效,或者现在需要控制台/网络检查来解释下一个浏览器决策,同时加载references/browser-recovery.md。 - 如果目标站点在
references/site-patterns/下已有匹配的域名笔记,在操作该站点前阅读该笔记。
默认将以下情况视为 browser-required:
localhost、127.0.0.1或基准测试风格的本地夹具- 上传、下载、拖放、悬停、键盘原生输入或可见确认状态
- 同源iframe检查、Shadow DOM检查、
details/折叠证据或懒加载内容 - 任何“页面可见显示的内容”本身就是证据的任务
常见任务的正常快乐路径是此入口点加上一两个参考文件,而非整个参考集。
硬性规则
- 仅当实时浏览器状态是证据或必需操作的一部分时,才使用浏览器交互。
- 一旦任务被归类为
browser-required,不要静默降级。 - 将此文件视为入口点,每个参考文件视为单一用途的权威。不要在文件间重复规则。
- 保持参考加载深度为一级。从此入口点决定下一个文件,而不是将一个参考文件变成链接更多参考文件的枢纽。
- 不要仅仅因为页面看起来受限就要求用户登录。首先确认目标内容或操作是否真的被阻止。
- 一旦页面显示了你期望的路径,优先使用站点生成的DOM链接而非手工构建的URL。
- 当任务确实是浏览器内操作时,优先使用MCP原生操作而非脚本驱动的交互。
- 只关闭你创建的页面。
- 优先使用一手来源而非聚合器或重复的二手报告。
- 如果存在匹配的站点模式笔记,在对该域名进行第一次有意义的浏览器操作之前阅读它。
- 在完成
browser-required任务之前,必须明确检查本次运行是否应创建、更新、降级或移除站点模式声明。 - 如果现有站点模式声明在类似条件下失败,停止信任它,回退到通用工作流,并更新笔记,而不是重试过时的假设。
- 不要对
browser-required任务使用curl、Invoke-WebRequest或shell HTTP获取。 - 不要将通用的页面打开工具视为localhost深度交互可用的证据。
- 不要仅仅因为浏览器能力探测失败就切换路径。记录缺失的能力并停止。
- 当用户指示有活动的浏览器调试上下文时,优先从当前上下文交接,而不是从头重新复现。
参考索引
references/task-routing.md:静态检索与实时浏览器路由references/browser-playbook.md:核心页面操作协议和基本浏览器循环references/browser-capability-matrix.md:不确定主机会话的能力证明references/debug-handoff.md:活动调试上下文交接references/control-plane-workflows.md:已登录仪表盘/CMS保存-发布纪律references/anti-automation-friction.md:软404/认证/反自动化分类references/deep-dom.md:iframe、Shadow DOM、折叠或懒加载证据references/media-inspection.md:图像、音频和视频证据references/parallel-browser-ownership.md:多所有者浏览器协调references/selector-bridge.md:选择器到uid的桥接references/browser-recovery.md:过期的uid、导航漂移以及控制台/网络升级references/site-patterns/README.md:站点模式笔记维护规则- site-patterns/{domain}.md:现有的域名特定操作知识






