use-my-browser

use-my-browser

当任务依赖于用户的实时浏览器会话或可见渲染状态(而非静态获取)时使用,尤其适用于浏览器调试上下文、DevTools选中的元素或请求、已登录的仪表盘或CMS流程、localhost应用、表单、上传、下载、媒体检查、DOM或iframe检查、Shadow DOM,或表现为软404、认证墙、反爬虫检查或速率限制的浏览器故障。

65Star
6Fork
更新于 2026/6/14
SKILL.md
readonly只读
name
use-my-browser
description

当任务依赖于用户的实时浏览器会话或可见渲染状态(而非静态获取)时使用,尤其适用于浏览器调试上下文、DevTools选中的元素或请求、已登录的仪表盘或CMS流程、localhost应用、表单、上传、下载、媒体检查、DOM或iframe检查、Shadow DOM,或表现为软404、认证墙、反爬虫检查或速率限制的浏览器故障。

不要将此技能视为通用浏览默认项。根据你需要的证据来路由,而不是根据工具偏好。

每个任务在路由前必须分类:

  • static-capable:证据可以在没有实时浏览器状态、可见确认或页面交互的情况下生成
  • browser-required:证据依赖于渲染状态、交互、实时会话行为或浏览器专属结构

只有 static-capable 任务可以回退到静态检索、curl 或其他非浏览器路径。一旦任务被归类为 browser-required,就应坚持使用浏览器路径,并将缺失的能力标记为 blocked,而不是静默降级。

前置检查

此技能用于在用户的实时浏览器会话内工作,而非启动一个独立的新自动化浏览器。

在执行浏览器自动化之前,确认你的环境已经能够访问一个实时浏览器栈,该栈可以提供任务所需的能力,例如页面清单、任务拥有的页面创建、页面选择、快照或可见状态读取、DOM检查、文本或表单输入、上传、对话框、控制台检查和网络检查。具体栈无关紧要:确认能力,而非品牌。

如果实时浏览器栈不可用,不要通过此技能尝试浏览器自动化。只有 static-capable 的工作可以回退到静态检索。

实时浏览器自动化可能在某些网站上触发反爬虫或反自动化防御。仅在任务真正需要时使用浏览器交互,一旦获得所需证据,避免不必要的重复操作。

经验循环

将站点模式视为浏览器协议的一部分,而非可选的背景阅读。

对于 browser-required 的工作,运行以下循环:

  1. 一旦知道目标域名,检查 references/site-patterns/ 下是否已存在匹配的笔记。
  2. 如果笔记存在,在对该域名进行第一次有意义的浏览器操作之前阅读它。
  3. 在运行过程中,留意已验证的站点特定事实,这些事实可能会改变未来运行的操作方式。
  4. 在认为任务完成之前,判断本次运行是否产生了可重用的事实、否定了现有事实,或没有产生可重用的站点特定学习。
  5. 如果运行验证了可重用的内容或否定了现有声明,在完成前更新匹配的笔记。

不要为一次性噪音创建域名笔记。不要仅仅因为任务本身成功就跳过运行结束的审查。

当运行验证了以下任何一项时,预期进行回写:

  • 稳定的路由形状或必需的查询参数
  • 登录、会话继承或 isolatedContext 的怪癖
  • 可靠的交互原语,如悬停、键盘输入、上传顺序或选择器桥接模式
  • DOM生成的链接可靠但手工构建的URL不可靠的域名
  • 可预测的反自动化摩擦或误导性的平台错误状态
  • 可重用的媒体提取或iframe / Shadow DOM访问模式

决策指南

从结果开始,而不是工具。明确用户的目标,定义完成的标准,并选择能够产生正确证据的最廉价路径。

使用以下路由顺序:

  1. 判断任务是 static-capable 还是 browser-required
  2. 如果任务是 static-capable,加载 references/task-routing.md 并坚持使用仍能满足证据目标的最廉价路径。
  3. 如果任务是 browser-required,加载 references/browser-playbook.md
  4. 如果在新的主机会话中不确定浏览器所需的能力,同时加载 references/browser-capability-matrix.md
  5. 如果用户已有活动的浏览器调试上下文,例如选中的检查器元素或网络请求,同时加载 references/debug-handoff.md
  6. 如果浏览器必需的任务涉及已登录的仪表盘、管理界面、CMS、编辑器或任何保存/发布/更新流程,同时加载 references/control-plane-workflows.md
  7. 如果当前的失败形态暗示软404、内容不可用状态、可疑的无操作交互、认证墙、速率限制或反自动化防御,同时加载 references/anti-automation-friction.md
  8. 如果浏览器必需的任务包含iframe、Shadow DOM、折叠内容或懒加载证据,同时加载 references/deep-dom.md
  9. 如果重要证据存在于图像、音频剪辑或视频中,同时加载 references/media-inspection.md
  10. 如果浏览器工作可以分配给独立的页面所有者或子代理,同时加载 references/parallel-browser-ownership.md
  11. 如果你已经知道一个可靠的选择器但需要MCP原生的 uid 目标,同时加载 references/selector-bridge.md
  12. 如果页面操作使状态模糊、页面意外导航、旧的 uid 可能已失效,或者现在需要控制台/网络检查来解释下一个浏览器决策,同时加载 references/browser-recovery.md
  13. 如果目标站点在 references/site-patterns/ 下已有匹配的域名笔记,在操作该站点前阅读该笔记。

默认将以下情况视为 browser-required

  • localhost127.0.0.1 或基准测试风格的本地夹具
  • 上传、下载、拖放、悬停、键盘原生输入或可见确认状态
  • 同源iframe检查、Shadow DOM检查、details/折叠证据或懒加载内容
  • 任何“页面可见显示的内容”本身就是证据的任务

常见任务的正常快乐路径是此入口点加上一两个参考文件,而非整个参考集。

硬性规则

  • 仅当实时浏览器状态是证据或必需操作的一部分时,才使用浏览器交互。
  • 一旦任务被归类为 browser-required,不要静默降级。
  • 将此文件视为入口点,每个参考文件视为单一用途的权威。不要在文件间重复规则。
  • 保持参考加载深度为一级。从此入口点决定下一个文件,而不是将一个参考文件变成链接更多参考文件的枢纽。
  • 不要仅仅因为页面看起来受限就要求用户登录。首先确认目标内容或操作是否真的被阻止。
  • 一旦页面显示了你期望的路径,优先使用站点生成的DOM链接而非手工构建的URL。
  • 当任务确实是浏览器内操作时,优先使用MCP原生操作而非脚本驱动的交互。
  • 只关闭你创建的页面。
  • 优先使用一手来源而非聚合器或重复的二手报告。
  • 如果存在匹配的站点模式笔记,在对该域名进行第一次有意义的浏览器操作之前阅读它。
  • 在完成 browser-required 任务之前,必须明确检查本次运行是否应创建、更新、降级或移除站点模式声明。
  • 如果现有站点模式声明在类似条件下失败,停止信任它,回退到通用工作流,并更新笔记,而不是重试过时的假设。
  • 不要对 browser-required 任务使用 curlInvoke-WebRequest 或shell HTTP获取。
  • 不要将通用的页面打开工具视为localhost深度交互可用的证据。
  • 不要仅仅因为浏览器能力探测失败就切换路径。记录缺失的能力并停止。
  • 当用户指示有活动的浏览器调试上下文时,优先从当前上下文交接,而不是从头重新复现。

参考索引