技巧78°

腾讯团队开源「BrowserSkill」,让 AI Agent 直接使用你已登录的浏览器

腾讯团队开源了一个 "CLI + 浏览器扩展" 组合「BrowserSkill」,让任何能执行 shell 命令的 AI Agent 直接使用你真实、已登录的浏览器干活,且不打断你正在做的事。 htt...

精选理由

腾讯团队开源的「BrowserSkill」,让任何能执行 shell 命令的 AI Agent 直接使用你已登录的真实浏览器干活,且不打断你正在做的事。

腾讯团队开源「BrowserSkill」,让任何能执行 shell 命令的 AI Agent 直接使用你已登录的真实浏览器干活。现有 Agent 浏览器自动化工具(如 Playwright、headless Chrome)通常开的是「另一个浏览器」,没有你的登录态和 Cookie,碰到需要登录的站点就得单独配测试账号。而 BrowserSkill 反其道而行,直接借用户日常使用的浏览器,Agent 操作的就是你已登录的真实 profile,无需任何测试账号。

原文 · shao__meng

腾讯团队开源了一个 "CLI + 浏览器扩展" 组合「BrowserSkill」,让任何能执行 shell 命令的 AI Agent 直接使用你真实、已登录的浏览器干活,且不打断你正在做的事。 htt...

腾讯团队开源了一个 "CLI + 浏览器扩展" 组合「BrowserSkill」,让任何能执行 shell 命令的 AI Agent 直接使用你真实、已登录的浏览器干活,且不打断你正在做的事。 github.com/Tencent/Browse… 现有 Agent 浏览器自动化(Playwright、headless Chrome、browser-use 等)有一个共同尴尬:它们开的是"另一个浏览器",没有你的登录态、没有你的 Cookie、碰到需要登录的站点就得单独配测试账号。BrowserSkill 反其道而行,直接借用户日常使用的浏览器: · 登录态复用:Agent 操作的就是你已登录的真实 profile,无需任何测试账号; · 互不干扰:自动化任务在一个独立可见的 "Agent Window" 里运行,你可以继续正常用浏览器; · 框架无关:不绑定 MCP 或任何特定 Agent 框架——只要能跑 shell 命令(Cursor、Claude Code、Codex、CodeBuddy 等)就能用,DeepSeek Harness 还有专门插件提供原生 browser_* 工具; · 人工介入:遇到验证码、短信 OTP、支付确认等只有人能完成的步骤,Agent 可以发 bsk request-help 请求你接管,完成后继续。 # 架构:四层链路,职责分离严格 Agent → bsk CLI(shell)→ bsk 守护进程(本地 IPC)→ 浏览器扩展(WebSocket)→ Agent Window Agent 永远不直接碰浏览器。几个关键设计: · bsk CLI + daemon:CLI 解析命令;daemon 管理会话路由、按会话串行化 RPC,通过 Unix socket/命名管道与 CLI 通信,通过回环 WebSocket(默认 52800 端口)连接扩展 · 扩展:21 个工具处理器,经 CDP 驱动浏览器;管理 Agent Window、元素引用仓库(@ eN)、标签借用表 · bsk-protocol:线格式共享定义,TypeScript 侧镜像类型靠测试保持同步 会话模型是核心抽象:一个会话 = 一个不透明 ID + 专属 Agent Window + 会话级 ref-store + 借用表。同一会话内的操作串行执行(保证引用安全),不同会话并行。会话结束必须显式 session stop,它会归还借用的标签页,5 分钟空闲超时只是兜底。 0.3.0 新增远程模式:Agent 跑在服务器上,通过一次性配对链接 + 可续期/吊销的设备凭证,经 TLS 认证的 WSS 连回你本地的浏览器;这在"云端 Agent 操控本地登录态"的场景里是稀缺能力。 # 安全模型(很重要!) 把"Agent 拿着你的真实身份上网"这件事的每一步都做了权限收敛: 1. 沙箱优先:所有写操作只能作用于 Agent Window 里的标签页,除非该标签被显式借用(borrow)。借用需要用户确认(默认开启),步骤结束立即归还,标签页原样留在你的窗口里。 2. 权限归属唯一:两项自动化开关(借用前确认、允许请求人工帮助)以浏览器里保存的设置为权威来源,CLI 参数无法覆盖,0.3.0 起 --unattended 等旧参数已弃用。这防止了 Agent 自己给自己提权。 3. 文件传输三方分权:上传/下载中,CLI 是唯一接触用户文件路径的组件;daemon 是存储能力的权威(签发一次性传输 ID、分块暂存、原子提交下载);扩展只管浏览器事务,永远看不到 Agent 侧路径。每个操作返回 effect_state(none/committed/unknown),"效果未知"状态禁止盲目重试——因为重试一次上传可能传两份文件。 4. 凭证零提取:SKILL.md 开篇即声明“绝不提取凭证、Cookie、token 或任何机密”;Cookie 始终留在用户浏览器 profile 里;远程凭证只存哈希。另有 30 天操作审计日志。 # Agent 工程化:把"纪律"写进说明书 skill/SKILL.md 本身就是一个精心设计的工程品,里面全是防御性规则: · 导航后引用失效,必须重新 observe 再交互;不允许凭旧截图/旧 HTML 里的控件直接点击; · 借用被拒、帮助被取消就停手,不允许换后端绕过; · 帮助被禁用时不许请求帮助也不许重新启用,只能用现有登录态和已授权输入尽力完成; · 截图证据与页面断言分开验证; · 甚至覆盖了 Canvas 场景:observe 对 Canvas 只返回文本语义,要点图内坐标必须用单次有效、2 分钟过期的 capture_id,用原始 PNG 坐标而非显示坐标。 安装体验同样是 Agent 优先的:用户只需对 Agent 说一句“按照 AGENT_INSTALL.md 装好 browser-skill”,Agent 会自行完成 CLI 安装、技能注入(bsk install-skill --harness <id>)、bsk doctor 诊断和首次验证。受管技能会自动更新,但用户本地修改会被保留并暂停更新——尊重定制。 # 工程成熟度 · 评测框架(evals/browser)设计得相当认真:本地确定性页面、Agent 中立的提示词(同一用例可跑不同 Agent)、种子化可复现的 DOM 变体,以及"诚实验证"原则,缺少适配器证据记为 unverified,绝不静默算通过。28 种浏览器操作的能力覆盖清单,core/matrix/regression/stress 五套件分层。 · 迭代速度:2026-06-22 首个 tag,7 月初公开发布,约 3 个月走到 0.3.0,节奏稳定(约 2-3 周一个版本),跨三平台发布 + Edge 商店 CI 自动化 + CLI 自更新。 · 代码构成:TypeScript 约 350 万行(扩展 + UI + 评测),Rust 约 170 万行(CLI/daemon/协议),多语言 i18n(英/中/韩)。 Tencent AI @TencentAI_News We open sourced BrowserSkill, a bridge between your agent and your actual browser. most tools give the agent a blank browser. We let it borrow a tab from yours, then hand it back. > login state is already there, it just works where you're signed in > captchas and confirmation dialogs come back to you, then it continues > it's a CLI, not an MCP server => any agent that can run a shell can use it, and you see every call it makes one thing that's easy to miss: the agent asks before borrowing a tab, and that switch lives in your browser settings, not in a flag, so it can't be talked around. one line to install, works with Cursor, Claude Code, Codex, Hermes, Openclaw, CodeBuddy, WorkBuddy. Everything runs locally, MIT. github.com/Tencent/Browse… 🔗 View Quoted Tweet 💬 2 🔄 0 ❤️ 5 👀 701 📊 4 ⚡