腾讯开源 BrowserSkill:Agent 借用你已登录的浏览器干活,验证码还得你自己点

编辑插画:左侧是用户自己正在使用的浏览器窗口与多个打开的标签页,右侧是带琥珀色高亮标识的独立 Agent 窗口,一个小型智能体正在其中操作网页;两个窗口之间由一条双向前进的青色数据桥连接,桥面中点设有一道人工审批闸门,旁边一只手正按下确认章,示意 Agent 复用登录态但关键步骤仍需用户点头
内容摘要

腾讯 9 月 17 日开源 BrowserSkill,让 AI Agent 直接借用你已登录的 Chrome/Edge 干活,不用再单独养测试账号。它用 bsk 命令行加本地守护进程桥接浏览器,Agent 在独立窗口操作、结束归还标签页,遇到验证码主动交回用户。本文包含原理、三步上手、真实局限和老达点评。

AI Agent 干活最常卡在哪?不是不会点,是登录不上。

Playwright、Selenium 这类工具开出来的浏览器是全新的:没有 Cookie、没有会话、没有你公司内网的通行凭证。于是每次自动化任务的第一步,都变成了重新登录——要验证码就得找人,要二次确认又得找人,跑两下还可能触发风控。

9 月 17 日,腾讯开源了一个专治这件事的项目:BrowserSkill。它的思路不是让 Agent 更聪明,而是换一个前提——别给 Agent 开新浏览器,让它借用你已经登录好的那个。

一、先看它解决的是什么问题

大部分 Agent 浏览器方案都卡在同一个地方。把几条常见路线摆一起就清楚了:

| 方案 | 登录态 | 是否占用你的浏览器 | 卡验证码时 |

| — | — | — | — |

| Playwright / Selenium | 需自建账号或重新登录 | 独立无头实例,不占 | 直接失败 |

| 接管整个浏览器 Profile | 有,但要交出浏览器 | 完全占用,你没法干活 | 直接失败 |

| 各家 Agent 内置浏览器 | 通常是隔离沙箱 | 不占 | 脚本里人工兜底 |

| BrowserSkill | 复用你当前登录态 | 独立 Agent 窗口,不占 | 主动请你接管 |

BrowserSkill 选的是最后一条:Cookie 天然共享,但因为跑在独立窗口里,你手上的标签页一个都不会被抢走。

二、它是怎么做到的:三个组件,全走本地

架构不复杂,但每一层都很克制:

  • bsk 命令行工具:Agent 真正调用的入口,所有操作都是一条 shell 命令
  • 本地守护进程(daemon):负责进程间通信与调度,默认自己管理生命周期
  • 浏览器扩展:真正去操作浏览器的那个,官方支持 Chrome 和 Microsoft Edge

调用链是 Agent → bsk → daemon → 扩展 → Agent Window。其中 daemon 到扩展这一段走的是绑定在 127.0.0.1 的 WebSocket,全程本地、无远程遥测、不上传凭证——这也是它能理直气壮接管登录态的前提。

有两条设计细节值得单独说:

Agent Window 是独立的。 扩展会在你正在用的 Chrome/Edge 里开一个单独窗口,带明显的橙色高亮标识。你继续刷网页、回消息、开会,Agent 在旁边那个窗口里干活,互不干扰。

标签页是「借」的,不是「占」的。 如果任务需要操作你已经打开的那个标签页,必须显式借用,任务结束后归还。这条规则听起来啰嗦,实际是这套方案能落在真实工作流里的关键——它默认假设你的浏览器有主。

三、它不绑定任何 Agent

这是我认为最值钱的一点:BrowserSkill 是一个 CLI,不是一个 MCP Server,也不是某个框架的插件。

只要你的 Agent 能执行 shell 命令,它就能用。 官方列出的适配清单包括 Cursor、Claude Code、Codex、OpenClaw、CodeBuddy、WorkBuddy、Pi、Hermes Agent、DeepSeek Harness——顺带说一句,WorkBuddy 就在列表里,也就是说你现在这套工作流理论上可以直接接上。

换工具不用重写脚本,这在浏览器自动化这个赛道上算是稀缺品质。

四、上手:三步,或者干脆让 Agent 自己装

推荐做法是让 Agent 自己装。把这句话发给它就行:

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

手动装也不难,四步:

1. 装 bsk 命令行

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.sh | sh
export PATH="${BSK_INSTALL_DIR:-$HOME/.local/bin}:$PATH"

Windows(PowerShell):

irm https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.ps1 | iex

2. 从 Chrome Web Store 或 Edge 加载项商店装浏览器扩展。

3. 把 skill 注册进你的 Agent。

bsk install-skill

交互式选 Agent 框架;也支持非交互模式,比如 bsk install-skill --harness cursor --json

4. 体检。

bsk --version
bsk doctor

bsk doctor 会检查三件事:命令行、守护进程、扩展配对状态,缺什么直接告诉你。确认扩展弹窗显示已连接,就可以开工了。

一次典型会话大概长这样:

bsk session start --json
bsk navigate https://example.com --session <id>
bsk observe --session <id>
bsk click @e3 --session <id>
bsk fill @e3 --value "内容" --session <id>
bsk screenshot --session <id> --full-page --out page.png
bsk session stop

五、真正好用的几个细节

用元素编号操作,而不是整页截图。 bsk observe 返回的是一棵带编号的可交互元素树,Agent 拿到之后直接 click @e12。比起把整页截图喂给模型,这条路明显更省 token,也更稳定——不会因为页面渲染慢半拍就点错位置。

Human-in-the-Loop 是真做进去了。 遇到验证码、登录确认、短信验证这类自动化天生搞不定的环节,Agent 会主动暂停并请你接管,你处理完它接着跑。这个设计和 给后台 Agent 配收件箱、要动手先审批 是同一个思路:把「必须由人做」的节点显式设计出来,而不是靠脚本硬扛。

长截图和鼠标滚轮这类基础件补齐了。 全页截图支持超时控制与取消,还有真实的滚轮事件、focus/blur、滚动到指定元素——这些听起来琐碎,但没有它们,Agent 在长页面和懒加载页面上基本没法用。

0.3.0 新增了 canvas 支持和远程网关。 扩展能识别 canvas 候选并返回可点击的视觉引用,配上可见区域截图;还支持带认证的远程浏览器连接与后台任务标签页。版本更新挺密:命令行、扩展和插件三者统一走 0.3.0。

平台覆盖到齐。 macOS(Apple Silicon / Intel)、Linux(x64 / ARM64)、Windows x64 都有构建产物。浏览器官方支持 Chrome 与 Edge,其他 Chromium 内核通常也能用,Firefox 目前还只是计划中

六、说清楚局限,别踩坑

任何方案都有代价,BrowserSkill 的代价很具体:

你多了一个必须活着的本地服务。 浏览器要开着、扩展要连着、daemon 要健康,三者缺一任务就起不来。对个人开发者无所谓,但如果你习惯把 Agent 塞进一次性容器里跑,这套就得额外配置:把守护进程钉在一台常驻主机上共享 BSK_HOME,再把 BSK_AUTO_START 设成 0,从沙箱里连过去。官方文档给了这条路径,但它确实是运维成本。

扩展的权限范围不小。 它要读和写你的标签页、复用你的登录 Cookie。源码是开放的(TypeScript,MIT 协议),也有可选的操作审计(本地存储、脱敏、保留 30 天),但真要在团队机器上铺开,安全团队是绕不过去的一环。

登录态复用本身就是风险放大器。 这一点值得格外清醒:让 Agent 拿到你的登录会话,意味着它能碰到的东西和你一样多。恶意 Git 仓库能一次性攻破 7 款 AI 编程工具 的教训就在眼前——把权限交出去之前,先想清楚边界在哪,也和 给 AI 编程 Agent 收权限 的逻辑一致:能小则小。

并发和规模不是它的战场。 它是为「一个 Agent 在真实浏览器里老老实实干完一件事」设计的,不是为大规模爬取或压测准备的。

七、适合谁用

适合:

  • 重度使用 Cursor / Claude Code / Codex,想让 Agent 帮忙操作已登录后台的开发者
  • 需要 Agent 操作飞书、GitHub、公司内网这类必须登录的系统
  • 做已登录页面的自动化回归测试
  • 想把网页抓取、表单填写、内容总结串进日常流程,又不想维护一堆测试账号的人

不太适合:

  • 需要成百上千并发任务的批量作业
  • 完全无头、无人值守的 CI 流水线(除非按上面那套常驻主机方案改)
  • 只用 Firefox 的用户

替代方案:如果你只是想在浏览器里做通用操作,OpenAI 的 WebMCP 走的是另一条路——让网站主动把按钮声明成工具接口,Agent 不用猜着点,但前提是网站愿意配合。而 Claude Cowork 内置浏览器 则是把浏览器能力收进自家 Agent 里,闭环但不可替换。BrowserSkill 的位置刚好在两者中间:不要求网站改造,也不绑定 Agent。

老达点评

对这个项目,我有三个判断。

第一,选 CLI 而不是 MCP,是刻意为之。 MCP 生态这两年在快速统一工具接入,但 BrowserSkill 偏要走命令行。原因很直白:CLI 是唯一所有 Agent 都默认支持的接口,没有之一。MCP 方案要先解决配置、授权、传输这些前置问题,而 bsk 一条命令就能被试出来。在这个「先让人用上」的阶段,这个取舍是对的。

第二,它把「人的登录态」当成了可信上下文。 过去两年 Agent 浏览器方案都在死磕「怎么让模型点得更准」,BrowserSkill 绕过去问了一句:为什么不直接站在用户的会话里?这个问题问得挺聪明——重复鉴权本身就是自动化最大的成本项,而它选择把这个成本一次性消掉。

第三,Human-in-the-Loop 正在成为分水岭。 验证码交回用户、标签页显式借用、任务结束归还,三件事指向同一种产品哲学:AI 能做的让 AI 做,必须人做的明确留给人。反过来看,那些号称「全自动」却让人事后收拾烂摊子的方案,问题往往不在能力,而在没设计好交接点。

对国内团队来说,这是个值得花半小时试的基建补丁——尤其如果你已经在用 Agent 处理有登录态的内部系统。想再往深走一层,AI 智能体与自动化专题 里有一批 Agent 接入真实系统的案例;如果关心怎么把浏览器能力接进编程工作流,AI 编程工具专题 也可以一并收着。另外,把异步任务交给 Agent 这个思路,我之前用邮箱远程调度 Codex 那套土办法和今天的 BrowserSkill 其实是同一件事的两代解法。

常被问到的几个问题

Q:它和 Playwright 是什么关系?

不是替代关系。Playwright 是给你写测试脚本用的编程库,BrowserSkill 是给 Agent 用的操作接口。前者你自己写代码控制,后者让 Agent 自己决定点哪。

Q:需要把浏览器密码交给 Agent 吗?

不用。它不接管你的账号密码,只是复用浏览器里已有的 Cookie 和会话。Agent 拿到的是「已登录的页面」,不是凭证本身。

Q:Agent 会乱动我的标签页吗?

默认不会。所有操作都在独立的 Agent Window 里,需要操作你已打开的标签页时必须显式借用,任务结束后归还。

Q:企业环境能用吗?

能,但要过两道关:一是安全评估(扩展权限和本地守护进程),二是运维方案(常驻主机或 CI 沙箱配置)。个人机器上基本没有额外负担。

Q:免费吗?

是。MIT 协议开源,可商用、可二次开发。

发表评论

您的电子邮箱地址不会被公开,必填项已标注 *