返回全部 Skills

use-my-browser

开发工具

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

111.4k

下载量

AI SkillHub 能力展示图

安装方式

命令行安装

在项目根目录执行以下命令,完成 Skill 安装。

npx bzskills add xixu-me/skills --skill use-my-browser

skill.md

name: use-my-browser
description: 当工作依赖于用户的实时浏览器会话或可见的渲染状态(而非静态获取)时使用,尤其适用于浏览器调试上下文或DevTools选中的元素/请求、已登录的仪表盘或CMS流程、本地主机应用、表单、上传、下载、媒体检查、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 深度交互可用的证据。
  • 不要仅仅因为浏览器能力探测失败就切换路径。记录缺失的能力并停止。
  • 当用户指示有一个活动的浏览器调试上下文时,优先从当前上下文交接,而不是从头开始重新生成。

参考索引