BrowserSkill:腾讯开源,让 AI Agent 安全操控你的浏览器

BrowserSkill:腾讯开源,让 AI Agent 安全操控你的浏览器

Seven

你的 AI Agent 能写代码、能调 API、能操作文件,但它打不开你已经登录的 GitHub 后台,填不了需要验证码的表单,更没法在你继续工作的同时帮你跑完一个三步注册流程。腾讯刚开源的 BrowserSkill 解决的就是这个问题——它让 Agent 直接「借用」你已经登录的真实浏览器来干活,用完归还,全程不打断你的工作。

BrowserSkill 官方横幅

一、它是什么

BrowserSkill 是腾讯开源的一个本地桥接层,连接 AI Agent 运行时和你的真实浏览器。核心思路很简单:Agent 不需要自己启动一个新浏览器实例,而是通过 bsk CLI 命令借用你已经登录的浏览器标签页来执行任务。

项目地址:github.com/Tencent/BrowserSkill

目前支持的 Agent 运行时包括 Cursor、Claude Code、Codex、OpenClaw、CodeBuddy、WorkBuddy、Pi 和 Hermes Agent——基本上覆盖了市面上所有主流的 shell-capable AI Agent。

技术栈上,CLI 部分用 Rust 编写(crates/bsk-cli),浏览器扩展用 TypeScript(apps/extension),整个项目是 Cargo + pnpm workspace 结构,MIT 协议开源。

BrowserSkill 仓库概览

二、为什么需要它

传统的浏览器自动化(Playwright、Puppeteer、Selenium)有一个根本性矛盾:它们启动的是一个全新的浏览器实例,跟你日常使用的浏览器完全隔离。这意味着:

  • Agent 操作的网站没有你的登录态,需要单独注册或手动登录
  • 自动化过程会占用你的浏览器窗口,打断正常工作
  • 遇到验证码、二次确认等人类必须操作的步骤,Agent 直接卡死

这些问题在实际使用中非常致命。比如你想让 Agent 帮你在已登录的 Jira 里创建一个 issue,或者在内部管理后台查一个数据——传统方案根本做不到,因为 Agent 根本进不去你的登录态。

BrowserSkill 的思路完全不同。它不替代你的浏览器,而是「借用」它。

三、架构设计

BrowserSkill 的架构分四层,每层职责清晰:

BrowserSkill 架构总览

Agent 运行时层:Cursor、Claude Code、Codex 等 Agent 通过 shell 命令调用 bsk CLI。Agent 不需要知道浏览器的任何细节,只需要像调用普通命令行工具一样调用 bsk

bsk CLI:Rust 编写的命令行工具,负责解析 Agent 的请求并通过本地 IPC 发送给 daemon。它同时也是一个安装器(bsk install-skill)和诊断工具(bsk doctor)。

bsk daemon:后台常驻服务,通过 WebSocket(127.0.0.1)与浏览器扩展通信。它负责路由请求、管理会话生命周期、协调多个 Agent Window。

浏览器扩展:Chrome/Edge 扩展,接收 daemon 的指令后在独立的 Agent Window 中执行自动化操作。关键设计:Agent 的所有写操作只影响 Agent Window 中的标签页,用户的常规浏览器窗口完全不受影响。

这种分层设计带来的最大好处是解耦:Agent 不直接操控浏览器,而是通过标准 CLI 接口下发任务。换一个 Agent 框架?只需要换个 skill 文件,bsk CLI 完全不用动。

四、核心能力

4.1 复用真实登录态

这是 BrowserSkill 最核心的卖点。Agent 可以直接操作你已经登录的网站——GitHub、Jira、内部管理后台、邮件——不需要额外的测试账号,不需要手动登录,不需要传递 cookie。

4.2 独立 Agent Window

Agent 的所有浏览器操作都在一个独立的「Agent Window」中执行。这个窗口和你日常使用的浏览器窗口完全隔离。你可以一边让 Agent 在 Agent Window 里跑自动化任务,一边在自己的窗口里正常浏览网页。

4.3 标签页借用机制

需要操作你已经打开的标签页?Agent 必须显式「借用」(bsk tab borrow <tab-id>),任务结束后自动归还(bsk tab return)。如果 Agent 忘了归还,bsk session stop 会自动把所有借用的标签页还回去。

4.4 Human-in-Loop

这是 BrowserSkill 在安全设计上最聪明的地方。遇到验证码、登录确认、二次验证等必须由人类操作的步骤时,Agent 可以调用 bsk request-help 主动暂停,把控制权交还给用户。用户处理完后点击「继续」,Agent 再接着干活。

1
2
3
4
5
bsk request-help --session <id> \
--prompt "请完成验证码,然后点击 Continue" \
--title "需要人工验证" \
--target @e7 \
--timeout 5m

这个机制让 Agent 不会在需要人类判断的地方卡死,同时也不会绕过安全验证。

4.5 多 Agent 兼容

BrowserSkill 不绑定任何特定的 Agent 框架。任何能调用 shell 的 Agent 都可以通过 bsk CLI 使用它。官方内置了 8 种 Agent 的一键安装(bsk install-skill),其他 Agent 只需要把 skill/SKILL.md 复制到自己的 skills 目录即可。

五、工作流程

BrowserSkill 的会话生命周期严格分为六个阶段:

bsk 会话生命周期

第一步:启动会话bsk session start 会打开一个 Agent Window 并返回一个 4 位的 session ID。后续所有命令都必须带上 --session <id>

第二步:导航bsk navigate <url> 在 Agent Window 中打开目标页面。

第三步:快照bsk snapshot 获取页面的无障碍树(accessibility tree),返回带 @e1@e2 等引用的元素列表。这是理解页面结构的第一选择——比 get-html 省 token,比 screenshot 更精确。

第四步:交互。通过 bsk click @e3bsk fill @e5 --value "..."bsk press Enter 等命令操作页面元素。注意:每次页面导航后引用会失效,必须重新 snapshot。

第五步(可选):请求帮助。遇到人类必须介入的步骤时,bsk request-help 暂停自动化,等待用户处理。

第六步:结束会话bsk session stop <id> 关闭 Agent Window,自动归还所有借用的标签页。这一步是强制的——不能依赖超时自动清理。

六、CLI 命令速览

BrowserSkill 的 CLI 命令按功能分为五组:

类别 命令 用途
诊断 bsk status 连接状态、浏览器列表
诊断 bsk doctor 深度诊断 + 修复建议
会话 bsk session start/stop/list 会话生命周期管理
标签页 bsk tab create/close/borrow/return 标签页操作
观察 bsk snapshot 页面无障碍树(首选)
观察 bsk get-html 原始 HTML(snapshot 不够时)
观察 bsk screenshot PNG 截图(最后手段)
导航 bsk navigate/reload/navigate-back 页面导航
交互 bsk click/fill/select/press 元素操作
脚本 bsk evaluate 在页面中执行 JS
求助 bsk request-help 请求人工介入

一个完整的交互循环大概是这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 启动会话
bsk session start
# 输出: session abcd

# 导航到目标页面
bsk navigate https://github.com --session abcd

# 获取页面结构
bsk snapshot --session abcd
# 输出: @e1 link "Sign in", @e2 textbox "Search", ...

# 点击登录
bsk click @e1 --session abcd

# 遇到验证码?请求帮助
bsk request-help --session abcd --prompt "完成验证码" --target @e15

# 任务完成,关闭会话
bsk session stop abcd

七、与传统方案对比

BrowserSkill vs 传统浏览器自动化

BrowserSkill 和 Playwright/Puppeteer 的根本区别在于定位:前者是给 AI Agent 用的「浏览器借用手」,后者是给开发者用的「浏览器控制器」。

传统方案更适合测试场景(需要可控的、可重复的浏览器环境),而 BrowserSkill 更适合 Agent 场景(需要访问用户真实数据、不打断用户工作)。

八、安装与使用

安装非常简单,三步搞定:

第一步:安装 CLI

macOS/Linux:

1
curl -fsSL https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.sh | sh

Windows:从 GitHub Releases 下载 bsk.exe 并加入 PATH。

第二步:安装浏览器扩展

Chrome Web Store 安装 BrowserSkill 扩展。

第三步:安装 Skill

1
2
bsk install-skill
# 用 Space 选择你的 Agent harness,Enter 确认安装

安装完成后,运行 bsk doctor 检查所有组件是否就绪。

最省心的方式是直接把安装指令丢给你的 Agent:

按照 https://raw.githubusercontent.com/Tencent/BrowserSkill/main/AGENT_INSTALL.md 的说明,在本机安装并配置 browser-skill

Agent 会自动帮你完成 CLI 安装和 skill 配置,你只需要手动安装浏览器扩展。

九、局限性

BrowserSkill 目前还处于早期阶段(v0.1.x),有几个明显的局限:

仅支持 Chromium 系浏览器。Chrome 和 Edge 已支持,Firefox 在计划中。Safari 不在支持范围内。

需要浏览器扩展。这意味着在纯 headless 环境(CI/CD 服务器、Docker 容器)中无法使用。BrowserSkill 的设计初衷是「人机协作」场景,不是无人值守的自动化。

无 headless 模式。Agent Window 是可见的窗口,不能在后台静默运行。这是设计选择——可视化让用户随时了解 Agent 在做什么。

星标数较少。项目刚开源一周,46 星。社区生态还在早期,issue 和讨论都很少。但考虑到腾讯的品牌背书和项目本身的完成度,后续增长潜力不小。

安全边界需要用户自律。虽然 BrowserSkill 内置了「不提取凭据」的红线规则(bsk evaluate 禁止在银行、SSO、密码管理器页面执行),但这些是软约束——Agent 理论上可以绕过。用户需要信任自己使用的 Agent 不会越界。

十、写在最后

BrowserSkill 代表了一种新的思路:AI Agent 不需要「替代」用户的浏览器,而是「借用」它。这个设计哲学解决了一个被长期忽视的问题——Agent 在操作需要登录态的网站时几乎无能为力。

腾讯选择用 Rust 写 CLI、用 TypeScript 写扩展、用 MIT 协议开源,技术选型上没有明显的短板。bsk install-skill 一键适配 8 种主流 Agent 的设计也说明团队在生态兼容性上下了功夫。

对于已经在用 Cursor、Claude Code、Codex 等 AI Agent 的开发者,BrowserSkill 值得花 5 分钟装上试试。你可能会发现,Agent 突然能做很多以前做不了的事情了。

相关链接:

  • 标题: BrowserSkill:腾讯开源,让 AI Agent 安全操控你的浏览器
  • 作者: Seven
  • 创建于 : 2026-06-29 16:00:00
  • 更新于 : 2026-07-14 00:18:14
  • 链接: https://blog.oneiseven.top/2026/06/29/BrowserSkill-腾讯开源让AI-Agent安全操控你的浏览器/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论