use-my-browser

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Use My Browser

使用我的浏览器

This is the main browser automation strategy skill for nontrivial web work. It teaches the agent when to stay on public-web tools, when to use the live browser session, and when to fall back to a separate browser or raw-fetch path.
Despite the name, it covers more than "use my current browser." It also teaches a broader browsing philosophy: define the goal first, choose the right network layer, treat results as evidence, prefer primary sources over recycled summaries, and keep live-session work minimally intrusive.
这是用于非 trivial 网页工作的核心浏览器自动化策略技能。它指导Agent何时使用公网工具,何时使用实时浏览器会话,何时回退到独立浏览器或原生fetch路径。
尽管名字叫“使用我的浏览器”,它覆盖的场景远不止“使用我当前的浏览器”。它还传递了更广泛的浏览理念:先定义目标,选择合适的网络层,将结果视为证据,优先选择一手来源而非二次总结,尽量降低实时会话操作的侵入性。

When to Use

何时使用

Use this skill when any of these are true:
  • The user wants public-web research, source verification, or page inspection and the choice of tool matters.
  • The task depends on the user's current sign-in state or cookies.
  • The user already has the relevant page, element, or failing request open in Chrome DevTools.
  • The target is a social platform, anti-bot-heavy site, or other dynamic page where static fetches are likely to miss the real content.
  • The target page is dynamic, authenticated, or difficult to inspect with search and raw fetch alone.
  • The task needs the current DOM, console, network activity, performance data, file upload, or rendered media from the live browser session.
  • The user wants the agent to take over a debugging flow they already started manually in Chrome.
Do not use this skill when:
  • The task is purely local and does not involve the web at all.
  • A separate clean browser context is safer than touching the live browsing session.
  • The user explicitly asks not to use their live browser session.
满足以下任一条件时使用本技能:
  • 用户需要公网调研、来源验证或页面检查,且工具选择会影响结果
  • 任务依赖用户当前的登录状态或cookie
  • 用户已经在Chrome DevTools中打开了相关页面、元素或失败的请求
  • 目标是社交平台、反爬严格的站点或其他动态页面,静态请求很可能无法获取到真实内容
  • 目标页面是动态的、需要认证的,或仅靠搜索和原生fetch难以检查
  • 任务需要从实时浏览器会话中获取当前DOM、控制台输出、网络活动、性能数据、文件上传或渲染后的媒体资源
  • 用户希望Agent承接他们已经在Chrome中手动开始的调试流程
不要使用本技能的场景:
  • 任务完全是本地操作,完全不涉及网络
  • 使用独立的干净浏览器上下文比操作实时浏览会话更安全
  • 用户明确要求不要使用他们的实时浏览器会话

Preflight

前置检查

Before choosing a browsing layer:
  • If the task is public and citation-heavy, start with
    web
    .
  • If the task needs the live browser session, confirm the Chrome DevTools connection is usable before depending on it.
  • If a domain note exists under
    references/site-patterns/
    , read it before browsing that site.
  • Use
    references/session-playbook.md
    for live-browser-session fallback and recovery rules.
选择浏览层之前:
  • 如果是公开的、需要大量引用的任务,先使用
    web
    工具
  • 如果任务需要实时浏览器会话,先确认Chrome DevTools连接可用,再依赖它执行操作
  • 如果
    references/site-patterns/
    下存在对应站点的说明,浏览该站点前先阅读
  • 实时浏览器会话的回退和恢复规则参考
    references/session-playbook.md

First Principles

首要原则

1. Define success before choosing tools

1. 选择工具前先定义成功标准

Start with the outcome, not the tool. Clarify what would count as done:
  • What information or action does the user actually need?
  • Does the task require the user's current browser state?
  • Is the answer expected to be citation-heavy, interaction-heavy, or debugging-heavy?
从预期结果出发,而非从工具出发。明确什么才算完成任务:
  • 用户实际需要什么信息或操作?
  • 任务是否需要用户当前的浏览器状态?
  • 预期输出是需要大量引用、大量交互还是偏向调试?

2. Start with the cheapest layer that can plausibly succeed

2. 优先选择可完成目标的最低成本层

Use the lowest-cost layer that can still reach the goal:
  • public-web tools for discovery, citations, and normal page reads
  • processed or raw reads when you need cheaper content extraction or source-level response data
  • browser tools when the task depends on live state, interaction, or rendered evidence
Use
references/tool-matrix.md
for the detailed routing rules.
使用能达成目标的成本最低的层:
  • 公网工具用于信息发现、引用和常规页面读取
  • 处理后或原始读取用于成本更低的内容提取或源级别响应数据获取
  • 浏览器工具用于依赖实时状态、交互或渲染后证据的任务
详细路由规则参考
references/tool-matrix.md

3. Treat every result as evidence

3. 将所有结果视为证据

Do not repeat the same failed tactic blindly. Each step should update the plan:
  • Search results may show the target is public, missing, or hidden behind login.
  • A snapshot may reveal the data is already in the DOM and does not need OCR.
  • A missing DOM node may mean the site is lazy-loaded, virtualized, gated by interaction, or simply on the wrong page.
  • A platform saying "not found" may reflect an access path problem rather than a true absence.
不要盲目重复相同的失败策略。每一步都应该更新计划:
  • 搜索结果可能显示目标是公开的、缺失的,或需要登录才能访问
  • 快照可能显示数据已经存在于DOM中,不需要OCR
  • 缺失的DOM节点可能意味着站点是懒加载的、虚拟化的、需要交互才能展示,或者干脆就打开了错误的页面
  • 平台返回“未找到”可能是访问路径有问题,而非内容真的不存在

4. Preserve the user's session

4. 保护用户的会话

The live browser session is valuable. Use it carefully:
  • Prefer the already connected Chrome DevTools session when the task depends on current state.
  • Avoid closing or hijacking tabs you did not open.
  • Prefer your own tab for exploration unless the point of the task is the already selected page, element, or request.
  • Leave the session cleaner than you found it.
实时浏览器会话非常宝贵,要谨慎使用:
  • 当任务依赖当前状态时,优先使用已经连接的Chrome DevTools会话
  • 不要关闭或劫持你没有打开的标签页
  • 优先使用你自己打开的标签页进行探索,除非任务的核心就是已经选中的页面、元素或请求
  • 会话使用完毕后要比使用前更整洁

5. Search helps you find sources, not prove claims

5. 搜索用于寻找来源,而非证明主张

Search engines and aggregators are discovery tools. When the task is about truth or verification:
  • Use search to locate the likely source
  • Read the source directly before making a strong claim
  • Prefer official docs, official pages, raw announcements, and original content over repeated summaries
搜索引擎和聚合平台是发现工具。当任务涉及事实或验证时:
  • 使用搜索定位可能的来源
  • 提出明确主张前直接阅读来源内容
  • 优先选择官方文档、官方页面、原始公告和原创内容,而非重复的总结

6. Prefer site-native URLs and complete parameters

6. 优先使用站点原生URL和完整参数

If a site already exposes a link in the DOM, prefer that full URL over a hand-constructed guess. Query parameters, tokens, and generated paths often carry real session or routing context.
如果站点已经在DOM中暴露了链接,优先使用完整URL,而非手动构造的猜测路径。查询参数、令牌和生成的路径通常会携带真实的会话或路由上下文。

Session Boundaries and Safety

会话边界与安全

The official Chrome DevTools MCP docs matter here:
  • Live-session access can expose all open windows in the selected Chrome profile.
  • --autoConnect
    is the safe modern pattern for sharing a real Chrome session with an MCP client.
  • --browser-url
    is a fallback for explicit remote-debug-port setups, but it should not be recommended against the user's normal browsing profile.
  • A manual remote debugging port on a default profile is riskier than the normal live browser session flow because any local app can connect while the port is open.
Treat these as background rules:
  • Prefer the current DevTools connection if it already exists.
  • Mention
    --autoConnect
    and
    --browser-url
    only as configuration context or troubleshooting guidance.
  • Do not steer the user toward remote-debug-port workflows unless the current environment genuinely needs that fallback.
Chrome DevTools MCP官方文档在此处适用:
  • 实时会话访问可以暴露选中Chrome配置文件下所有打开的窗口
  • --autoConnect
    是向MCP客户端共享真实Chrome会话的安全现代模式
  • --browser-url
    是显式配置远程调试端口的回退方案,但不建议针对用户的常规浏览配置文件使用
  • 默认配置文件上的手动远程调试端口比常规实时浏览器会话流程风险更高,因为端口开放时任何本地应用都可以连接
遵守以下基础规则:
  • 如果已经存在DevTools连接,优先使用
  • 仅在配置说明或故障排查时提及
    --autoConnect
    --browser-url
  • 除非当前环境确实需要该回退方案,否则不要引导用户使用远程调试端口工作流

Core Workflow

核心工作流

Goal-first browsing loop

目标优先的浏览循环

  1. Define the success condition.
  2. Choose the cheapest promising layer.
  3. Inspect the result for evidence.
  4. Escalate only when the current layer cannot reach the goal.
  5. Stop when the goal is met, not when every possible path has been explored.
  1. 定义成功条件
  2. 选择最有可行性的最低成本层
  3. 检查结果获取证据
  4. 仅当当前层无法达成目标时升级工具
  5. 目标达成即停止,不需要遍历所有可能路径

Default live browser session workflow

默认实时浏览器会话工作流

When a task depends on the user's current browser session:
  1. Inspect available pages with
    list_pages
    .
  2. Reuse the selected page if the user's active context is the task.
  3. Otherwise open or select a dedicated page before exploring.
  4. Use
    take_snapshot
    before screenshots whenever structured page data might be enough.
  5. Use
    evaluate_script
    , network tools, console tools, and performance tools as the primary evidence sources.
  6. Use screenshots only when the visual state itself matters or the DOM does not expose enough information.
Read
references/browser-recipes.md
for concrete tool mappings and equivalent browser operations.
当任务依赖用户当前的浏览器会话时:
  1. 使用
    list_pages
    检查可用页面
  2. 如果用户的活跃上下文就是目标任务,复用选中的页面
  3. 否则在探索前打开或选中一个专用页面
  4. 只要结构化页面数据足够,截图前先使用
    take_snapshot
  5. 优先使用
    evaluate_script
    、网络工具、控制台工具和性能工具作为主要证据来源
  6. 仅当视觉状态本身很重要或DOM无法暴露足够信息时再使用截图
具体工具映射和等价浏览器操作参考
references/browser-recipes.md

Chrome DevTools Handoff Patterns

Chrome DevTools交接模式

Continue from a selected element

从选中元素继续

If the user already selected something in the Elements panel:
  • take_snapshot
    can surface the current selection context.
  • evaluate_script
    is usually the next best tool for reading computed values, attributes, state, or nearby DOM.
  • Use
    click
    ,
    fill
    ,
    hover
    , and related tools only after confirming the current structure.
如果用户已经在元素面板中选中了某个内容:
  • take_snapshot
    可以获取当前选中上下文
  • 读取计算值、属性、状态或附近DOM时,
    evaluate_script
    通常是次优工具
  • 确认当前结构后再使用
    click
    fill
    hover
    等相关工具

Continue from a selected network request

从选中的网络请求继续

If the user already highlighted a failing request in the Network panel:
  • Call
    get_network_request
    without a
    reqid
    first.
  • Inspect request and response bodies, headers, status, timing, and failure shape before looking for broader patterns.
  • Use
    list_network_requests
    only when you need surrounding context or need to compare multiple requests.
如果用户已经在网络面板中高亮了一个失败的请求:
  • 先不带
    reqid
    调用
    get_network_request
  • 先检查请求和响应体、头、状态、耗时和失败形式,再寻找更广泛的模式
  • 仅当需要上下文或需要对比多个请求时再使用
    list_network_requests

Continue from an active debugging page

从活跃调试页面继续

If the user is already on the problem page:
  • Start from that page instead of opening a parallel isolated copy.
  • Preserve the state they already set up unless the user asks for a fresh reproduction.
  • If you need a second tab for safe experimentation, create one yourself and keep the original page intact.
如果用户已经在问题页面上:
  • 从该页面开始操作,不要打开并行的独立副本
  • 保留用户已经设置好的状态,除非用户要求全新的复现环境
  • 如果需要第二个标签页进行安全实验,自行创建,保持原始页面完整

Extraction and Interaction Rules

提取与交互规则

Read
references/session-playbook.md
for the detailed patterns. The short version:
  • Prefer DOM and network evidence over OCR.
  • Prefer
    take_snapshot
    over
    take_screenshot
    for interaction planning.
  • Prefer
    evaluate_script
    when the data likely exists but is not visible.
  • Switch between direct extraction and GUI-style interaction based on what the site actually responds to.
  • Treat screenshots, reconstructed URLs, and "not found" pages as things to verify, not things to trust immediately.
详细模式参考
references/session-playbook.md
,精简版本:
  • 优先使用DOM和网络证据,而非OCR
  • 规划交互时优先使用
    take_snapshot
    ,而非
    take_screenshot
  • 数据可能存在但不可见时优先使用
    evaluate_script
  • 根据站点的实际响应切换直接提取和GUI风格交互
  • 截图、重构的URL和“未找到”页面需要验证,不要直接信任

Public Web vs Live Session

公网 vs 实时会话

This skill should not collapse into "always use the browser."
  • Public-web tasks still belong to this skill when the main question is "which layer should I use first?"
  • Start with public-web tools for citation-heavy work and escalate only when the cheaper path cannot reach the goal.
  • Use
    references/tool-matrix.md
    for the routing decision and
    references/browser-recipes.md
    for the concrete operations.
本技能不要退化为“永远使用浏览器”:
  • 当核心问题是“我应该先使用哪个层”时,公网任务仍然属于本技能的覆盖范围
  • 需要大量引用的工作优先使用公网工具,仅当低成本路径无法达成目标时再升级
  • 路由决策参考
    references/tool-matrix.md
    ,具体操作参考
    references/browser-recipes.md

Parallel Research Policy

并行调研策略

For multiple independent public research targets:
  • Batch
    web.search_query
    requests in one call when possible.
  • Batch
    web.open
    calls when reading several sources.
  • Use
    multi_tool_use.parallel
    for independent shell or local-doc reads, not for browser steps that depend on the same selected page state.
  • Use
    references/session-playbook.md
    for the rules on when agent-level parallelism is worth it and how to frame it safely.
针对多个独立的公开调研目标:
  • 尽可能批量调用
    web.search_query
    请求
  • 读取多个来源时批量调用
    web.open
  • 独立的shell或本地文档读取使用
    multi_tool_use.parallel
    ,依赖相同选中页面状态的浏览器步骤不要使用
  • Agent级并行的适用场景和安全操作规则参考
    references/session-playbook.md

Red Flags

危险信号

Stop and change approach if you notice any of these:
  • You are about to use the live browser session for a task that only needs public citations.
  • You are about to close, reload, or navigate a page the user may still be using.
  • You reached for screenshots before checking whether the DOM or network already contains the answer.
  • You are ignoring a currently selected DevTools request or element and starting from scratch.
  • You are hand-constructing site URLs even though the page already exposes the real link with parameters.
  • You are treating a platform "not found" message as definitive before checking whether the access path itself is wrong.
  • You are about to recommend remote debugging on the user's normal browsing profile.
  • You are using Playwright by habit even though the goal depends on the user's current signed-in Chrome state.
如果发现以下任一情况,立即停止并调整方案:
  • 你准备对仅需要公开引用的任务使用实时浏览器会话
  • 你准备关闭、重载或导航到用户可能还在使用的页面
  • 你还没检查DOM或网络是否已经包含答案就准备使用截图
  • 你忽略了当前选中的DevTools请求或元素,从头开始操作
  • 即使页面已经暴露了带参数的真实链接,你还是手动构造站点URL
  • 你还没检查访问路径本身是否错误就将平台“未找到”消息视为最终结果
  • 你准备推荐用户在常规浏览配置文件上使用远程调试
  • 即使目标依赖用户当前已登录的Chrome状态,你还是习惯性使用Playwright

Examples

示例

Use this skill
  • "I already have the failing request selected in DevTools. Explain why it returns 403."
  • "Check this dashboard in my logged-in browser without making me sign in again."
  • "I clicked into the broken component in Elements. Figure out why the layout is wrong."
  • "Pull the real image or video source from this lazy-loaded page."
  • "Read this public doc and tell me the structured metadata without opening a browser if a fetch is enough."
  • "Compare these three public sources, cite them, and only touch the browser if the static path fails."
  • "Go through this social site and find the real content even if search results and direct fetches are weak."
Do not use this skill
  • "Rename these local files and update the import paths."
  • "Refactor this parser and run the unit tests."
  • "Open a clean browser and test the unauthenticated signup flow."
适用本技能的场景
  • "我已经在DevTools中选中了失败的请求,解释为什么返回403"
  • "Check this dashboard in my logged-in browser without making me sign in again."
  • "我在元素面板中点开了损坏的组件,找出布局错误的原因"
  • "从这个懒加载页面中提取真实的图片或视频源"
  • "如果fetch足够的话,不要打开浏览器,读取这份公开文档并告诉我结构化元数据"
  • "对比这三个公开来源,引用它们,只有静态路径失败时再操作浏览器"
  • "遍历这个社交站点,找到真实内容,即使搜索结果和直接请求的结果不理想"
不适用本技能的场景
  • "重命名这些本地文件并更新导入路径"
  • "重构这个解析器并运行单元测试"
  • "打开一个干净的浏览器,测试未认证的注册流程"

Reference Files

参考文件

  • references/tool-matrix.md
    : choose between
    web
    ,
    chrome-devtools
    ,
    playwright
    , and raw-fetch paths.
  • references/session-playbook.md
    : tab hygiene, DOM/media extraction, login handling, and fallback tactics.
  • references/browser-recipes.md
    : concrete browser operations for tab control, extraction, interaction, and audits.
  • references/site-patterns/README.md
    : format for validated domain-specific notes.
  • references/tool-matrix.md
    : 选择
    web
    chrome-devtools
    playwright
    和原生fetch路径
  • references/session-playbook.md
    : 标签页管理、DOM/媒体提取、登录处理和回退策略
  • references/browser-recipes.md
    : 标签页控制、提取、交互和审计的具体浏览器操作
  • references/site-patterns/README.md
    : 已验证的特定领域说明格式