☰
腾讯开源 BrowserSkill 实测:让任意 AI Agent 复用你的已登录浏览器
2026/9/27 19:05:19 网站建设 项目流程

1. 为什么我盯上了 BrowserSkill 这个开源项目

做 AI Agent 浏览器自动化有一段时间了,最头疼的从来不是"怎么点按钮",而是"怎么进得去"。你写个脚本去操作公众号后台、公司内部工单系统、某个需要短信验证码的 SaaS 后台,第一步就卡死——登录态拿不到。要么手动导出 Cookie 塞进脚本,要么用无头浏览器重新走一遍登录流程,遇到滑块和验证码直接歇菜。

BrowserSkill 是腾讯开源的一个本地桥接层,MIT 协议,GitHub 上 Tencent/BrowserSkill。它做的事情用一句话说清楚:让任何能调用 shell 的 AI Agent,去操控你已经登录的真实 Chrome 或 Edge 浏览器。不是另起一个干净的浏览器实例,而是复用你本机那个已经登录了一堆后台的浏览器。

它适合谁?三类人最该看:一是天天在后台系统里做重复操作、想用 Agent 代劳的运营和开发;二是用 Cursor、Claude Code、Codex 这类编码 Agent,想让它们顺手把浏览器里的活也干了的人;三是被 Playwright 登录态问题折磨过、想找个更省心方案的自动化玩家。

架构上它分两层。上层是 bsk CLI 和本地 daemon,Agent 只跟命令行打交道,所有操作都是bsk <命令>的形式;daemon 跑在本地 WebSocket 的 127.0.0.1:52800 上。下层是浏览器扩展,注入到 Chrome/Edge,负责真正驱动一个独立的"Agent 窗口"。你的正常上网窗口不受打扰,只有显式借用标签页时才会动到你的真实标签,用完自动归还。

几个设计点值得先记住:自动化跑在独立窗口里,不打断你正常上网;遇到验证码或确认框,Agent 用bsk request-help暂停,把控制权交回给你,处理完再继续;全程走 CLI 加本地 WebSocket,网络流量不离开本机。这三点是它和传统脚本型 RPA 最大的区别。

2. 前置准备:装 bsk CLI 和 TaoToken 统一 Key

在接 Agent 之前,有两件事要先搞定:bsk CLI 装好,以及给 Agent 配一个能用的模型 Key。前者是浏览器操作的入口,后者是 Agent 的"大脑"。

2.1 安装 bsk CLI

官方推荐的一行安装脚本是这样:

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

它会自动拉取对应平台的二进制。但这里有个大陆网络环境的常见坑:脚本第一步要从 github.com 拉 version.json,经常被 HTTP2 帧错误或超时卡住,报错长这样:

curl: (16) Error in the HTTP2 framing layer error: could not fetch version.json

解决办法是走镜像下载对应平台的二进制包。我是 Intel Mac,取 x86_64-apple-darwin 版本:

curl -sL https://gh-proxy.com/https://github.com/Tencent/BrowserSkill/releases/download/cli-v0.1.11/bsk-v0.1.11-x86_64-apple-darwin.tar.gz -o bsk.tar.gz tar -xzf bsk.tar.gz cp bsk ~/.local/bin/bsk && chmod +x ~/.local/bin/bsk

Apple Silicon 的 Mac 要换成 aarch64-apple-darwin.tar.gz,Linux 选 linux-musl,Windows 是 .zip。官方 release 提供全平台预编译二进制,这一步没有编译环节。装完验证一下:

bsk --version # bsk 0.1.11

2.2 配置 TaoToken 统一 Key

Agent 要干活,得有个模型后端。我用 TaoToken 做统一入口,一个 Key 就能覆盖 Claude、GPT 这些主流模型,省得每个 Agent 框架单独配一遍。

先去控制台创建 API Key,地址是 https://taotoken.net/api-keys ,拿到形如sk-xxxx的 Key 之后,在 Agent 的配置里指向 TaoToken 的 API 端点 https://taotoken.net/api 即可。

以 Claude Code 为例,它的 settings.json 骨架大概是这样:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你的TaoToken密钥", "ANTHROPIC_MODEL": "claude-sonnet-4-20250514" } }

如果你用的是支持 config.toml 的 Agent 框架,骨架类似:

[model] provider = "anthropic" base_url = "https://taotoken.net/api" api_key = "sk-你的TaoToken密钥" model = "claude-sonnet-4-20250514"

注意:base_url 只填到 https://taotoken.net/api,不要在后面加 /v1 之类的路径,具体路径由 SDK 自己拼。

配好之后,Agent 的模型调用就走 TaoToken 了。这一步和 BrowserSkill 是解耦的——bsk 只管浏览器,模型走哪家由你决定,这也是它"不锁 Agent、不锁模型"的体现。

3. 可复制配置:启动 daemon、装扩展、接入 Agent

配置分三步走:启动本地 daemon、装浏览器扩展、把 skill 装进你的 Agent。

3.1 启动 daemon 并跑诊断

任何 bsk 命令都会自动拉起本地 daemon,不需要手动 start。先跑一次状态和诊断:

bsk status

输出大概是这样:

daemon version 0.1.11 protocol version 1.1 pid 51641 uptime 13m 11s WS port 52800 browsers connected 0 active sessions 0

再跑诊断:

bsk doctor
ok bsk home writable ~/.bsk ok daemon running pid 51641 at ws://127.0.0.1:52800 ok protocol compatible daemon protocol 1.1 (app 0.1.11) FAIL extension connected 0 browsers connected — install the extension N/A browser protocol compatible no browsers online

doctor 的输出很友好,逐项检查 home 目录可写、daemon 是否在跑、协议版本是否兼容、扩展有没有连上。这里只有最后一项 FAIL,因为扩展还没装,其余全 ok,这正是正常的初始状态。

3.2 安装浏览器扩展

从 Chrome 应用商店或 Edge 插件市场安装 BrowserSkill 扩展。装好后扩展会主动连到 127.0.0.1:52800 上的 daemon。再跑一次:

bsk status

当browsers connected变成 1,doctor 的extension connected变 ok,本地桥接就就绪了。

3.3 把 skill 装进 Agent

这一步最省心。bsk 自带一个 browser-skill skill,一键安装:

bsk install-skill

它会列出 Cursor、Claude Code、Codex、Hermes、dsh 等选项,用空格选中你的 Agent,回车就把 skill 装进去了,无需自己写提示词。

以 Claude Code 为例,选中之后 skill 文件会被放到对应技能目录里。之后你只需要在对话里发一条需要用浏览器的指令,比如"用 browser-skill 打开 example.com 并总结页面上写了什么",Agent 就会自动调用 bsk 去操作你已登录的浏览器。

DeepSeek Harness 用户则是用官方 npm 插件 @wxg-prc-cpg/browser-skill-dsh-plugin,通过dsh plugin add注入原生的 browser_* 工具。

4. 端到端验证:让 Agent 完成一次页面操作并回传结果

配置齐了,来跑一次完整的验证。目标是:启动 bsk、连接已登录浏览器、由 Agent 完成一次页面操作并回传结果。

4.1 确认桥接就绪

先确认 daemon 和扩展都在线:

bsk status

看到browsers connected 1就说明扩展连上了。如果还是 0,检查扩展是否启用、daemon 端口是否被占用。

4.2 用 CLI 直接验证一次导航

在接 Agent 之前,先用 CLI 手动验证一次,排除 Agent 层的干扰:

bsk navigate --url https://example.com bsk snapshot

navigate让 Agent 窗口打开目标页面,snapshot抓取当前页面的观察文本。如果 snapshot 能返回页面内容,说明 bsk 到浏览器的链路是通的。

4.3 让 Agent 执行并回传

在 Claude Code 里发一条指令:

用 browser-skill 打开 https://example.com,读取页面主标题,把结果告诉我

Agent 会依次调用 bsk 的 navigate 和 snapshot,把页面观察文本读进上下文,然后回传结果。你会看到类似这样的返回:

页面主标题是:Example Domain 页面正文说明这是一个用于文档示例的保留域名。

到这一步,端到端链路就验证完了:Agent 通过 shell 调用 bsk,bsk 通过本地 WebSocket 驱动扩展,扩展操作你已登录的浏览器,结果原路回传给 Agent。

4.4 操作录制:录一遍,换参数回放

这是 BrowserSkill 区别于普通浏览器自动化的关键功能。痛点很具体:一个多步后台流程,比如发版、填表单,每次换参数都要从头教 Agent"先点哪、再点哪",提示词又长又容易错。

录制功能的思路是:你自己在浏览器里正常点一遍,让它把路径记下来;下次换个参数,Agent 照着这条路径再干一遍。

启动录制:

bsk record start \ --browser <实例ID或标签> \ --url https://你要录的起始页面 \ --purpose "这段流程的目的说明" \ --output trace

参数说明:

参数作用
--browser多浏览器时指定用哪个
--url录制开始的页面,必填,填具体页面不要只填首页
--purpose给 LLM 的上下文,不影响采集内容
--max-page-tokens每个页面观察文件的最大 token 数,默认 3000
--redact-values脱敏,把表单值替换为 [filled]/[empty]
--output输出目录,默认 ./trace

录制结束后,Agent 会读到一份 trace bundle:

trace/ trace.json # 动作链 + 状态索引 states/ # 每步前的页面观察文本 (sN.txt)

trace.json 里是 steps[](每步绑定 state=动作前的页面快照、result.state=动作后的快照)和 states[](每个稳定页面的观察记录)。官方建议录制完成后只总结、不要马上重跑验证,先把"操作笔记"留下,下一步再换参数让它干活。

换参数回放时,你只需要写一条短提示词,把要变的参数点出来,比如把发版的分支从 main 换成 feature/2.3.3。Agent 会参考 trace 里的路径,再结合当前页面调整执行。

几个实用注意点:多步骤要看上一步结果时,提示词里写"刷新",某些状态比如构建进度不会自己刷新,不写 Agent 容易干等;写操作加确认闸门,发版、删数据这类动作,开始时可让 Agent"点之前念一遍、等你确认再点",熟练了再拿掉;失败就停,别连点重试,避免重复构建这类破坏性后果;涉及敏感页面的录制开 --redact-values。官方红线很明确——不要在银行、SSO、密码管理器页面录制。

5. 本篇常见错排查

实测下来踩过的坑集中在这几个地方,按出现频率排。

5.1 install.sh 卡在 version.json

报错curl: (16) Error in the HTTP2 framing layer或超时。原因是 github.com 的 release 资产直链在大陆网络环境不稳定。解决方式是走镜像下载对应平台的二进制包,参考第 2.1 节的命令。正常网络环境下直接用官方 install.sh 即可。

5.2 doctor 里 extension connected 一直 FAIL

先确认扩展装在了你正在用的那个浏览器上,Chrome 和 Edge 是分开的。再确认扩展是启用状态,不是被禁用或卸载。如果扩展装了但连不上,检查 52800 端口有没有被别的进程占用:

lsof -i :52800

如果被占用,关掉占用进程再重启 daemon。

5.3 Agent 调 bsk 报 command not found

说明 bsk 没在 Agent 的 PATH 里。确认~/.local/bin在你的 shell 配置里,或者把 bsk 拷到 /usr/local/bin:

cp bsk /usr/local/bin/bsk && chmod +x /usr/local/bin/bsk

5.4 模型调用报 401 或鉴权失败

检查 TaoToken 的 Key 是否填对,base_url 是否只填到 https://taotoken.net/api。如果 Key 没问题还是 401,去控制台确认 Key 的状态和额度。模型对话可以在 https://taotoken.net/models 直接验证 Key 是否可用。

5.5 录制回放时 Agent 干等不动作

多半是页面状态没刷新。在提示词里明确写"刷新页面后再读取",或者让 Agent 在关键步骤后加一次 snapshot 确认状态。另外确认 --url 填的是具体页面而不是首页,首页往往需要额外导航才能到目标页。

5.6 借用真实标签页后没归还

bsk 的设计是显式 tab borrow 才动用你的真实标签页,用完自动归还。如果发现标签页没还,跑一次bsk status看 active sessions,必要时用 session 相关命令清理。

6. 把 BrowserSkill 接进你的日常 Agent 工作流

BrowserSkill 解决的是一个很具体但很真实的需求:让 AI Agent 借你已有的登录浏览器去干活,而不是另起炉灶。它的三个抓手——真实登录态、不锁 Agent、内置人工协作——恰好补了当前主流方案的空白。

如果你只是偶尔用一次,CLI 直接调就够了。但如果你打算长期把浏览器操作交给 Agent,建议走 Coding Plan,把模型调用和 Agent 工作流统一管理,省得每次换框架都重配一遍 Key。接入文档在 https://taotoken.net/doc ,里面有各框架的配置示例。

实测下来,安装环节唯一的小坑是 github.com release 直链不稳定,走镜像下载二进制即可解决;CLI 自身的诊断做得很扎实,status 和 doctor 每一步该不该继续一目了然。录制的"录一遍、换参回放"思路很实用,尤其适合后台类重复操作。

它不是万能钥匙。纯爬虫采集用 Playwright 或 Crawlee 更合适,大规模并发的无头任务它也不碰。但在"登录态浏览器里的重复操作"这个细分上,目前确实没有更好的开源选择。把 bsk 装好、skill 接进 Agent、录一条你天天重复的后台流程,剩下的交给它跑就行。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询