返回全部 Skills

use-my-browser

开发工具

当工作依赖于用户的实时浏览器会话或可见渲染状态而非静态获取时使用,特别适用于浏览器调试上下文或 DevTools 选中的元素或请求、已登录的仪表板或 CMS 流程、localhost 应用、表单、上传、下载、媒体检查、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 流程、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. 如果在新主机会话中不确定 browser-required 的能力,也加载 references/browser-capability-matrix.md
  5. 如果用户已有活跃的浏览器调试上下文,例如选中的检查器元素或网络请求,也加载 references/debug-handoff.md
  6. 如果 browser-required 任务涉及登录后的仪表盘、管理界面、CMS、编辑器或任何保存/发布/更新流程,也加载 references/control-plane-workflows.md
  7. 如果当前失败形态暗示了软 404、内容不可用状态、可疑的空操作交互、身份验证墙、速率限制或反自动化防御,也加载 references/anti-automation-friction.md
  8. 如果 browser-required 任务包含 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 获取。
  • 不要将通用的页面打开工具视为本地主机深度交互可用的证据。
  • 不要仅仅因为浏览器能力探测失败就切换路径。记录缺失的能力并停止。
  • 当用户指明存在活跃的浏览器调试上下文时,优先从该当前上下文进行交接,而不是从头开始全新复现。

参考索引