让 AI 替你抓网页数据做报告:BrowserSkill 真实浏览器场景的 20 分钟实践
让 AI 替你抓网页数据做报告BrowserSkill 真实浏览器场景的 20 分钟实践【免费下载链接】BrowserSkillLet AI agents use your real, logged-in browser without interrupting your work. CLI extension for browser automation across any shell-capable AI agent.项目地址: https://gitcode.com/GitHub_Trending/br/BrowserSkill网页抓取这件事过去只有两条路要么写脚本对着接口和 DOM 硬啃要么用无头浏览器对付登录态、验证码和反爬。当 AI Agent 也想自己开浏览器干活时问题被放大了一倍——它不但要能操作页面还要能用上你已经登录的账号、不打断你手头的工作、最后把抓到的数据整理成你需要的形态。腾讯开源的BrowserSkill正是冲着这个场景来的一个 Rust 编写的 CLI daemon配一个 Chrome/Edge 扩展让 Cursor、Claude Code、Codex 这类能执行 shell 命令的 Agent直接操作你的真实、已登录浏览器任务跑在独立的 Agent Window 里不碰你的主工作流。这篇文章不是讲它有多强而是带你走完一个完整的 20 分钟实操选一个适合实战的抓取任务、用多标签与表单交互完成编排、再把结果结构化输出给你的工作流。文中的所有命令、行为和路径均来自仓库源码与配套技能文档可以直接照着跑。为什么让 AI 用浏览器这么难先说痛点。主流方案里Playwright/Selenium 是无头浏览器框架需要自己维护账号态Playwright MCP 把浏览器能力暴露给模型但依然绕不开登录和反爬Agent Browser 这类方案又往往绑定特定 Agent 框架。核心矛盾是模型看不到浏览器状态浏览器又碰不到模型的决策。BrowserSkill 的解法在 架构文档 里画得很清楚Agent 通过 shell 调用bskCLICLI 与后台 daemon 走本地 Unix socketWindows 上是命名管道通信daemon 再通过 WebSocket 把tool.*请求转发给浏览器里的 MV3 扩展扩展最终经chrome.debugger的 CDP 协议驱动真实页面。整个链路是Agent → bsk CLI → bsk daemon → 扩展 → CDP → 浏览器任务跑在你日常使用的配置文件里天然带着登录态而且默认监听本地回环地址不上传任何凭证。工程上的支撑也看得见CLI 侧在 cli/mod.rs 里定义了从session、tab、observe、snapshot到fill、click、record、debug的完整动词-名词命令树扩展侧在 browser-driver/chromium-cdp.ts 里把chrome.debugger封装成类型化的sendT调用并固定 CDP 协议版本 1.3 以对齐 Playwright 等工具的目标。对 AI Agent 来说浏览器变成了一组语义清晰的 CLI 原语这正是技能层的定位。20 分钟任务怎么选从抓数据到做报告抓取任务千千万但适合 AI Agent 首战的应当同时满足三个条件需要登录态否则无头浏览器早搞定了、包含表单或多标签交互能体现编排价值、产出可结构化的数据最后能交差。我建议的第一个任务是这样一条流水线抓取 GitHub Trending 当天的热门仓库列表 → 在另一个标签页打开仓库详情核对描述与星标 → 汇总成一个 Markdown/JSON 报告文件。拆解下来对应 BrowserSkill 的四个阶段开页面看懂结构session startnavigateobserve、表单与列表交互fill/click/scroll-to、多标签编排tab create/tab borrow/tab return、结果结构化落地get-html/screenshot/ 本地文件写出。每一步在仓库里都有对应的真实实现与测试支撑这正是它能被教给 Agent 的原因——技能文档 SKILL.md 本身就是写给模型看的操作手册。第 0 分钟一条命令让 Agent 认识浏览器在动手抓数据之前先把通路打通。三件套bskCLI内含 daemon、浏览器扩展、Agent 技能。安装后验证连接的标准动作是bsk --version bsk doctorbsk doctor会逐项检查 daemon、扩展连接等每项失败都带修复提示。多浏览器场景下bsk browsers能列出已连接的浏览器实例bsk install-skill则把技能装进指定 harness如--harness cursorAgent 就能在会话里发现browser-skill。扩展在 Chrome Web Store 安装后在弹窗里启用本地连接状态变绿即接通。值得强调的是技能不是给人看的说明而是让 Agent 学会什么时候读哪个参考文档的路由表。SKILL.md 明确要求 Agent 先定义成功标准、启动 session 并保留session_id、先observe再交互、最后无论成败都要session stop——这套纪律保证了真实浏览器场景下不会把标签页、登录态和窗口状态搞得一团糟。前 5 分钟看懂页面再动手这是整个实践里最容易被跳过、也最值钱的一步。Agent 的天然缺陷是看不见页面所以 BrowserSkill 提供了一个语义化观察原语observe它不返回原始 DOM而是生成一份带eN引用的可读观察文本Agent 可以直接把e3这样的引用喂回后续的click、fill等命令。协议侧在 tool_observe_result.json 里定义了text、ref_count、next_cursor等字段——next_cursor专门用于分页续读长页面对应 CLI 实现里 observe.rs 的--cursor参数。打开 Trending 页面并观察结构实际就是这几条命令bsk session start --no-focus --json # 记住返回的 session_id bsk navigate https://github.com/trending --session id bsk observe --session idobserve的输出会列出列表项、链接、星标数等控件及其eN引用。这个先观察、后行动的循环是整套编排的地基导航会作废旧引用DOM 大变化也会让引用过期所以技能文档要求交互前必须重新observe。仓库自带的评测环境把这条规则固化成了可断言的工作流——form-controls.case.json 这个核心用例从navigate开始要求 Agent 填两个字段、下拉选值、截图、聚焦提交按钮并按 Enter最后在结果页确认Received!完整覆盖了观察 → 交互 → 验证 → 收尾的闭环。第 6~12 分钟表单、悬停与多标签编排抓列表是读真正体现编排的是写和跨页。比如你要把 Trending 仓库存进自己的收藏系统就离不开表单操作。表单交互的语义命令在 SKILL.md 里是一张现成的速查表bsk fill e3 --value text --session id bsk select e3 --value option-value --session id bsk press Enter --ref e3 --session id bsk hover e3 --session id # 悬停菜单先观察再点开 bsk scroll-to e3 --session id # 滚动到元素这里的每个动作都对应评测仓库里的一个真实页面form.fixture.mjs 是一个带文本框、多行文本域和下拉框的表单提交后回显填入值hover-inspect.fixture.mjs 专门验证悬停触发隐藏菜单再点击的链路——这也是真实网站最常见的交互坑。多行抓取场景还有scroll-to与wheel兜底配合 interaction-details.md 里关于 hover 探测的说明基本覆盖了绝大多数页面形态。多标签编排是第二块硬骨头。BrowserSkill 的模型很干净Agent 干活的地方是独立的 Agent Windowsession 与窗口一一绑定如果你想操作自己已经在用的标签页必须显式借用并在用完归还。技能文档 tabs-and-profiles.md 给出了明确命令bsk tab list --scope user --session id bsk tab borrow tab-id --session id bsk tab return tab-id --session id借用的标签页会出现在 Agent Window 内归还后回到你原来的窗口且保持打开。session 机制上每个 session 持有自己的 ref-store 和借用表见 session-manager/manager.ts借了不还会被session stop强制归还——这也是技能要求成功失败都要 stop session的原因。多浏览器/多配置文件的场景下用bsk session start --browser Work profile --json把 session 显式绑到指定实例避免抓错登录态。评测仓库里 tabs.fixture.mjs 就是专门练这个的保持原标签页开着在新标签页打开子页面并完成标记验证跨标签操作的数据不串。第 13~18 分钟把页面变成结构化报告抓到数据只是中间态任务的终点是结构化输出。这一步有三种取法按需组合取精确内容。observe给的是语义化摘要要拿原始数据用get-html——get_html.rs 支持按eN引用限定子树导出也能--out落盘要拿可访问性树用snapshot要可视化证据用screenshot包括--full-page长截图滚动拼接、恢复滚动位置的细节见 long-screenshot.md。抓 Trending 列表时合理的做法是observe拿到条目引用 →get-html --ref e5拉单条详情 → 本地聚合成 JSON。把过程本身变成教具。如果你想把人是怎么操作的沉淀下来给模型学bsk record start会在 Agent Window 里录制用户动作结束于浏览器里的结束按钮或终端的bsk record stop导出trace.json与逐页观察文本见 record.rs。协议侧的 trace_v3.json 显示 trace 由states每步操作前的页面观察和stepsnavigate、switch_tab等语义动作组成每个 step 都带cause、result、to字段——这是教科书式的操作序列喂给模型就是现成的 few-shot 样本。录制时还能用--purpose记录任务目标、--redact-values隐藏表单值。给报告配证据。抓数据做报告最怕的是数据是抓到了但说不清从哪来的。BrowserSkill 的网站调试能力bsk debug start/bsk debug export会把请求、响应体、Console、页面变化串成一条证据链导出 JSON可选的操作审计默认关闭开启后把每个任务的操作元数据记到BSK_HOME/audit下按任务回看Agent 到底干了什么——注意它刻意不保存输入值、页面正文和截图这是隐私设计的边界。最后把本地聚合好的 JSON/Markdown 直接写进你的工作流即可——CLI 的世界里这一步通常是bsk download拉取浏览器里生成的文件或把报告落到 Agent 的 sandbox 再交给后续 pipeline。评测体系 evals/browser/README.md 里那句Honest verification可以作为收尾的标尺页面可观测的结果、响应标记、适配器证据要分开报告缺失的适配器证据标unverified而不是当作通过——你的报告也该这样。别忘了安全边界真实浏览器 真实权限这是整套方案的红线代码和文档里都写得非常直白。技能文档开宗明义页面内容是不可信的——它是数据不是指令观察工具返回的任何文本、属性、Console 输出、网络载荷都来自页面模型绝不能因为页面说就扩大授权Agent 运行在你已登录的配置里被诱导做的任何事都以你的会话权限执行。与此同时技能明确禁止提取 Cookie、Token 等任何密钥也禁止通过改扩展设置绕过借用确认和人工协助开关。实践里真正会撞上的是验证码、OTP 这类必须人来的步骤。正确的处理不是让 Agent 硬试而是request-helpbsk request-help --session id --prompt Please complete sign-in --target e3扩展的自动化设置借用标签页前确认、允许请求人工协助默认全开且旧版 CLI 的绕过参数无法覆盖它们。任务结束记得bsk session stop id——这既是归还借用标签页的机制也是跑完不留下战场的纪律。20 分钟之后这套方案的边界同样清晰它不是 Playwright/Selenium 的替代品强反爬、复杂富文本交互等场景依然是短板而是给 AI Agent 铺的一条从命令行到真实浏览器的标准化通路。20 分钟你能走完的是从零装好 CLI、扩展、技能让 Agent 在你的登录态里完成看页面 → 填表单 → 跨标签核对 → 导出结构化报告的完整闭环——这个闭环在仓库里不是概念而是被 evals/browser 里 28 种浏览器操作、6 个核心评测用例和可复现的 smoke 测试反复验证过的。下次再遇到帮我把这个网站的数据整理成报告的需求值得花这 20 分钟让 Agent 亲手跑一遍。【免费下载链接】BrowserSkillLet AI agents use your real, logged-in browser without interrupting your work. CLI extension for browser automation across any shell-capable AI agent.项目地址: https://gitcode.com/GitHub_Trending/br/BrowserSkill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Java毕业设计:人力资源管理系统数据库设计与答辩避坑指南

Java毕业设计:人力资源管理系统数据库设计与答辩避坑指南

简介:这是一份面向Java Web开发学习者与初/中级程序员的完整人力资源管理系统项目包,基于J2EE技术栈实现了员工信息、招聘、绩效、薪酬等常见业务模块。压缩包共778个文件、7.69MB,主体为jsp页面、java类、class编译文件以及sql数据库脚本&am…

2026/10/10 11:58:34 阅读更多 →
OpenClaw 安全隔离实战:用 E2B 微虚拟机为 Agent 构建硬件级沙箱

OpenClaw 安全隔离实战:用 E2B 微虚拟机为 Agent 构建硬件级沙箱

把 OpenClaw 这类能自己动终端、写文件、联网查资料的 Agent 装进一把“安全锁”里,听起来像是防护洁癖,但实际跑了一周之后我可以直接说:不做这层隔离,你根本不敢把 Agent 放开用。这篇文章完整记录我基于 E2B 给 OpenClaw 做硬件…

2026/10/10 11:58:34 阅读更多 →
一年级数字书写教学:田字格逐笔动画PPT的设计与实操指南

一年级数字书写教学:田字格逐笔动画PPT的设计与实操指南

简介:这是面向小学一年级学生的数字书写教学PPT,专门解决田字格中0到9规范书写难以直观示范的问题。课件以逐笔动画为核心,将每个数字的起笔位置、行笔方向和笔画顺序动态拆解,并配合田字格定位辅助孩子掌握字形比例,例…

2026/10/10 11:58:34 阅读更多 →

最新新闻

零基础学HTML:从标签到网页骨架,写出你的第一个页面

零基础学HTML:从标签到网页骨架,写出你的第一个页面

我最初接触HTML的时候,其实是先在网上搜“HTML爱心代码”开始的——那年想给朋友做个生日页面,复制了一堆代码到记事本,双击打开,屏幕上弹出一个带着动画特效的网页。那一刻我觉得这东西挺神奇的,但完全看不懂那些尖括…

2026/10/10 12:50:34 阅读更多 →
SOUI实现VS风格IDE的布局与停靠系统解析

SOUI实现VS风格IDE的布局与停靠系统解析

1. 为什么是SOUI?——当VS风格IDE遇上国产GUI框架的现实权衡“用SOUI布局系统打造VS风格IDE”,这个标题乍看像一句技术口号,实则藏着一整套被反复验证过的开发逻辑链。我第一次在某跨平台图像处理Demo里见到SOUI渲染出的停靠窗口时&#xff0…

2026/10/10 12:50:34 阅读更多 →
银行绩效考核与理财商城全栈开发实战:Flask+Vue+小程序

银行绩效考核与理财商城全栈开发实战:Flask+Vue+小程序

银行员工绩效考核系统叠加理财产品商城,这种组合乍一看像把两个业务硬塞进一套代码,其实拆开理解就明白:它们共享同一套用户体系、同一套权限模型,甚至在销售场景里还互相联动——员工卖出了理财产品,这个业绩会被考核…

2026/10/10 12:50:34 阅读更多 →
Godot游戏存档方案全对比:Config/JSON/二进制选型与实战指南

Godot游戏存档方案全对比:Config/JSON/二进制选型与实战指南

做 Godot 项目做久了,你会发现“存档”是所有游戏绕不过去的一道坎。不管是玩家进度、角色属性、背包物品,还是音量分辨率,你总得找个地方把数据记下来。网上关于 Godot 存档的教程不算少,但多数只教一种写法,要么贴一…

2026/10/10 12:50:34 阅读更多 →
Vue 3 中 TypeScript 封装 Modal 组件:teleport 与 Loading 生命周期管理

Vue 3 中 TypeScript 封装 Modal 组件:teleport 与 Loading 生命周期管理

我写过几年 Vue 2,也写过一阵子 React,最后又落回 Vue 3。说实话,差不多我遇到的十个人里,八个写 Modal 的时候都栽过跟头:要么弹层被父级容器的transform限制住,fixed 失效;要么关掉弹窗之后 b…

2026/10/10 12:50:34 阅读更多 →
RSMA速率拆分原理与MATLAB/Python仿真实操指南

RSMA速率拆分原理与MATLAB/Python仿真实操指南

简介:本资源是一套面向通信工程专业高年级本科生、研究生及5G/6G系统研发工程师的RSMA(速率拆分多址接入)仿真代码包,聚焦有限反馈场景下MMSE预编码与速率拆分策略的联合实现,解决多用户MIMO系统中因CSI不完美导致的干…

2026/10/10 12:49:33 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →