⚠️ 数据源说明:本工具依赖境外开源平台(GitHub、Chrome Web Store、Edge Add-ons)的安装包与扩展商店分发,部分平台在中国大陆需合规网络环境。文中所有安装链接为项目方原始地址,请按当地法规合规使用。
每日开源 · 早间篇 · 第 154 期
让 AI Agent 借用你的真实浏览器
Tencent BrowserSkill · 2026-09-20 · MIT
红星,你有没有过这种时刻------让 Claude Code 去 Jira 关单,它直接给你一句"无法访问,请检查登录状态"?
太有了。要么给它一个空白的浏览器实例撞登录墙,要么让它接管我正在用的窗口------结果就是两个人抢鼠标。今天这期 Tencent 的 BrowserSkill,刚好补的就是中间那层。
🔵 蓝星 · 项目速览
Tencent BrowserSkill --- 已登录浏览器与编码 Agent 之间的本地桥
Tencent 官方开源、GitHub 当日 Trending +1,306 星的本地桥接项目:把 Claude Code / Cursor / Codex / CodeBuddy / WorkBuddy 等 9 款主流 Agent 连接到你已经登录的 Chrome 或 Edge 浏览器。Agent 默认在一个独立的可见 Agent Window 里工作;只有在用户授权"借用"某个已开标签后,才能临时进入你的会话,任务结束自动归还------其他标签页始终是隔离的。
PROJECT FILE · 项目档案
Tencent BrowserSkill
📌 "Shell 能调起的命令,就能驱动你正在用的浏览器。"
⭐ 当日涨幅**+1,306**
📦 累计 Star**~5,520**
📜 许可证MIT
🧑💻 主力语言TypeScript + Rust
🤖 已支持 Agent9 款主流 harness
🖥 浏览器支持Chrome · Edge
💻 操作系统macOS / Linux / Windows
🏷 当前版本v0.3.0(2026-09)
🏗 架构组成Rust CLI + Daemon + TS 扩展
🔗 通信方式本地 IPC · 127.0.0.1 · 零云端
仓库:github.com/Tencent/BrowserSkill
🎯 适用场景(蓝星 + 红星)
· 后台类工作:让 Agent 去 GitHub 看 Issue、AWS Console 翻日志、Jira 关单、Notion 改页、采购后台报表导出 ------ 全部带着你的真实登录态。
· 复杂表单填写 :Agent 在 Agent Window 里填写、需要 2FA / 验证码时主动 bsk request-help 请你接管,完成后自动继续。
· 跨平台 Agent 适配:一套 CLI + 扩展,对接 Cursor / Claude Code / Codex / CodeBuddy / WorkBuddy / Pi / Hermes Agent / DeepSeek Harness 等 9 款主流 harness;任何能调 shell 的 agent 都能用。
· 沙盒 Agent 部署:在宿主侧常驻 daemon、共享 BSK_HOME + BSK_AUTO_START=0,沙盒侧 5 次 1 秒间隔的 bsk status 探测 ------ 解决 sandbox 每次回收子进程的问题。
🔴 红星 · 它解决什么
Agent 浏览器自动化的"中间那层"
2026 年的浏览器 Agent 普遍卡在两难里:拿一个全新的 Chromium 实例去跑 Playwright / browser-use,没 cookie、没 SSO、验证码一拦一片;让 Agent 直接接管你正在用的窗口,鼠标抢来抢去、焦点闪烁,根本不敢放它在生产窗口跑。
它解决的三件事:
1. 真实登录态复用 --- 同一个浏览器 Profile、同一个 Cookie Jar,你登录过的 GitHub / Jira / AWS / Notion 等所有站点,Agent 都能用,不用再造测试账号。
2. 显式借用的隔离协议 --- Agent 默认只能在独立可见的 Agent Window 操作;只有调用 bsk tab borrow 并通过扩展里的"借用确认"开关,才能临时进入某个标签;用完 bsk tab return 归还或 bsk session stop 一键收尾。
3. 不可被命令行覆盖的人类接管 --- 遇到验证码、登录确认弹窗时,Agent 调用 bsk request-help --session --reason,浏览器弹窗提示用户操作;扩展 Automation 设置里的"借用确认"与"人类帮助"两个开关默认开启,已废弃的 --unattended / --no-confirm 不能绕过它们。
🔴 红星 · 核心亮点
三个值得拆开看的设计
① 架构只有两件本地东西
仓库是 monorepo,两大块:Rust 写的 bsk CLI + 本地 Daemon ,以及 TypeScript 浏览器扩展 。数据流很直白:Agent Harness → bsk CLI → bsk daemon → browser extension → 浏览器标签。Daemon 用 bsk-protocol crate 定义 JSON-RPC 方法与 schema,用 DaemonStatus 维护快照;CLI 是 agent 的入口,比如 bsk session start。整条链路 0 云端、0 远程服务器,IPC 全在 127.0.0.1。
② "观察---操作---再观察"会话循环 + 失效的 @eN 引用
一次浏览器任务的最小步骤是这样的:bsk session start --json 拿 session_id → bsk observe --session 拿文本、控件和 @eN 引用 → bsk click @e3 / bsk fill @e5 --value "..." → bsk session stop。每次 observe 都会吐新引用、跳转后旧引用直接作废,SKILL.md 把"用过期引用"当作 bug 处理,逼 agent 再观察一次而不是猜。长页面有 --max-tokens 4000 的分页 cursor,避免一次性撑爆 agent 的上下文窗口。
③ 把沙盒 Agent 怎么"保活"当一等公民
很多 agent 沙盒会在每次 shell 调用后回收子进程,daemon 直接被掐。BrowserSkill 不绕弯子:在 issue #214(javascript:😉 里把这个失败模式写得很明白(WorkBuddy 的 bubblewrap 沙盒就属于这种),然后文档化一条硬约束------所有沙盒侧调用必须设置同一个 BSK_HOME + BSK_AUTO_START=0,调用前 bsk status --json 至多 5 次、每次间隔 1 秒,碰到权限/协议错误就停。文档里专门警告 agent 不要"反复拉 daemon、删 runtime 文件、为了修复发现不一致就重启 daemon"------这是把工程运营踩过的坑直接写进规范里。
④ v0.3.0 新增的"Canvas 支持 + 远程认证网关"
新版本里扩展能识别 canvas 候选并返回带可见区域截图的类型化引用;CLI 和扩展都能做整页截图(bsk screenshot --session --full-page --out page.png);新增 explicit focus/blur、scroll-to-element、真实鼠标滚轮事件;后台任务标签 + 远程认证网关让 agent 可以在你不在场时跑后台任务;新增本地任务历史便于审计。再加上韩文版本地化、CLI/扩展/DSH 插件三件套同步到 0.3.0,节奏上能看出腾讯是真把它当持续维护的产品做。
🧪 实战场景展示(蓝星 + 红星)
场景 A · 让 Agent 帮你"打开已在用的标签"
bash
bsk tab list --scope user --session <id> bsk tab borrow <tab-id> --session <id> # agent 在该标签里执行任务 bsk tab return <tab-id> --session <id>
**要点:**先 list 拿 tab-id,再显式 borrow(默认等 60 秒,超时 --timeout 120s),任务结束 tab return 归还;session 结束 session stop 一次性把所有借用的 tab 收回来。
场景 B · 验证码 / 登录确认时人类接管
bash
bsk request-help --session <id> --reason "请手动解决 CAPTCHA"
**要点:**扩展弹出提示,用户完成操作后 agent 自动 resume。"Automation 设置"里"借用确认 + 人类帮助"默认开启,--unattended 和 --no-confirm 这类危险 flag 已被废弃。
场景 C · 多浏览器并行 + 不抢屏
bash
bsk session start --json --browser <browser-id> --no-focus
**要点:**多浏览器同时连上时用 --browser 选目标;--no-focus 后台跑、不抢焦点。结合 v0.3.0 的"远程认证网关 + 后台任务标签",可以让 agent 在你下班之后继续跑夜间巡检任务。
🛠 共同 · 上手指南
方式一:让 Agent 帮你装(推荐)
bash
按照 https://raw.githubusercontent.com/Tencent/BrowserSkill/main/AGENT_INSTALL.md 的说明,在本机安装并配置 browser-skill
把这行发给 Cursor / Claude Code / Codex / CodeBuddy / WorkBuddy,它会自动跑安装脚本并引导你加载浏览器扩展。
方式二:手动安装
- macOS / Linux 装 CLI:
bash
curl -fsSL https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.sh | sh export PATH="${BSK_INSTALL_DIR:-$HOME/.local/bin}:$PATH" bsk --version
- Windows 装 CLI:
bash
irm https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.ps1 | iex
-
在 Chrome 或 Edge 商店里搜 BrowserSkill 加载扩展。
-
装 skill + 验证:
bash
bsk install-skill bsk doctor
install-skill 用空格键选目标 harness(Cursor / Claude Code / Codex / OpenClaw / CodeBuddy / WorkBuddy / Pi / Hermes Agent + DeepSeek Harness 专用 DSH 插件);doctor 会检查 CLI、daemon、扩展配对三件套并附恢复建议。
升级与状态查询
bash
bsk update --yes bsk status --json
🔴 红星 · 诚实局限
它不是"无头浏览器规模化"的替代品
BrowserSkill 抢的不是 Playwright 的能力地盘,它抢的是"复用你已登录会话"这件事。下面这些点用人之前要清楚:
1. 只支持 Chrome 与 Microsoft Edge 两款浏览器(其他 Chromium 系理论上能加载扩展,但官方不背书),Firefox / Safari 仍 plan 中。
2. 工作在"daemon + 扩展"桥上而不是原生 CDP 隧道,exotic automation 仍然属于 Playwright 这种专门框架;@eN 引用跳转即作废,按设计就要求重 observe------而不是 retry。
3. Human-in-loop 意味着遇到 captcha / 登录 / 确认弹窗时必须有真人在键盘前;无人值守的夜间 CI 想跨过这些环节不被支持。
4. 安全面要自己掂量------让 Agent 操作已登录浏览器,等于把凭证 / 会话暴露给 Agent;提示注入与越权的攻击面需要按风险项独立评估(即使扩展本身默认开启了借用确认)。
5. 跨浏览器、无人值守批量拉取、对稳定性敏感的 SRE 任务,仍该交给 Playwright / browser-use 这类无头方案;BrowserSkill 解的是"借用你已经登录的会话",不是"把自动化做成规模"。
6. 中国大陆使用:仓库、CLI 二进制、扩展商店分发均在境外;按当地法规需合规网络环境,并评估代理下扩展签名、安装链路被替换的风险。
📌 今日总结与互动
**蓝星 · 今日总结:**2026 年的 Agent 浏览器自动化,最大的空白不是能力,是权限模型。BrowserSkill 把"借用---归还---不偷秘密---人类接管"做成了产品级默认,比任何"会不会点按钮"的问题都更值钱。
**红星:**记住它最值得偷的设计原则------"Agent 默认没有窗口,要操作你的标签必须显式借用 + 用完归还"。如果你的 Agent 框架也支持这种边界,评论区聊聊你们团队是怎么约定的。
📚 关联阅读
· 第 152 期《Cloudflare security-audit-skill》--- 同样是 SKILL.md 驱动编码 Agent 的安全审计
· 第 147 期Ever Gauzy --- 一体化 ERP/CRM/HRM 开源经营管理平台
· 第 148 期OpenMontage --- Agent 编排的 AI 视频生产系统
每日开源 · 早间篇 · 第 154 期 · 2026-09-20
项目地址:github.com/Tencent/BrowserSkill(MIT)
我们明天早上 9 点,不见不散。