腾讯系组合拳实操:WorkBuddy + BrowserSkill 跑通『Agent 干活』的完整链路
【免费下载链接】BrowserSkillLet AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.项目地址: https://gitcode.com/GitHub_Trending/br/BrowserSkill
当大模型只会"聊天"而不会"干活"时,Agent 就永远停在玩具阶段。所谓干活,落到 Web 世界就是三个动作:打开页面、读懂页面、操作页面。过去几年,Playwright MCP、Agent Browser 等方案试图解决这个问题,但无一例外绕不开两个死结——要么 Agent 开的是全新无痕环境,登录态归零;要么自动化与用户的工作流互相抢占同一个浏览器窗口。
腾讯的答案是把这件事拆成两个组件:WorkBuddy负责模型调度与任务规划,BrowserSkill负责把 Agent 的意图翻译成真实浏览器里的操作。这套"腾讯系组合拳"的妙处在于:BrowserSkill 不替代浏览器、不替代 Agent 框架,它只做一件事——让任何 shell 型 Agent 复用你已经登录的浏览器会话,在独立的 Agent Window 里安全地干活。本文基于 BrowserSkill 官方仓库源码,从环境准备、技能启用、状态验证到端到端任务,完整拆解这条链路。
为什么是"WorkBuddy + BrowserSkill"这对组合
社区对这一组合的关注度正在快速升温:仅在 2026 年 9 月,就有多篇围绕"WorkBuddy + BrowserSkill"集成方案的技术文章集中发布,其中单篇阅读量从数百到上千不等,讨论焦点高度一致——本地桥接架构规避了远端策略拦截,比 Codex + Chrome 的云端方案更顺畅;同时多个社区方案开始尝试用统一 API Key 通道(如 TaoToken)为 WorkBuddy 接入模型,让"模型通道、浏览器通道、任务规划"三环节形成闭环。
为什么是这对组合而不是别的?因为两者的分工恰好互补:
- WorkBuddy是一个 shell 型 Agent 工具,负责"想"——读取技能文档、规划步骤、生成指令;
- BrowserSkill负责"做"——通过
bskCLI 与浏览器扩展协同,把指令变成对 Chromium 的真实操作。
BrowserSkill 在官方文档中明确列出 WorkBuddy 为受支持的 Agent harness 之一(同列表还有 Cursor、Claude Code、Codex、OpenClaw、CodeBuddy、Pi、Hermes 等),仓库源码 crates/bsk-cli/src/skill_install/harness.rs 中HarnessId::Workbuddy被显式声明,对应的技能安装目录为~/.workbuddy/skills,并通过"~/.workbuddy目录存在"或"workbuddy在 PATH 上"两条信号自动检测本机是否装有 WorkBuddy。这意味着bsk install-skill可以一键把技能装进 WorkBuddy,而不是靠手工复制目录。
组合的底层架构:一次操作如何走完整条链路
BrowserSkill 由三件套组成:bskCLI(内含后台 daemon)+ 浏览器扩展 + 技能包。官方架构文档 docs/architecture.md 给出了完整的数据流:
- Agent(WorkBuddy)通过 shell 执行
bsk <子命令>; - CLI 通过 Unix Domain Socket 与本地 daemon 通信(JSON Lines 协议);
- daemon 在loopback WebSocket(默认端口 52800)上找到已连接的浏览器扩展;
- 扩展的
ToolDispatcher校验沙箱规则后,通过 CDP(Chrome DevTools Protocol)驱动 Chromium 页面; - 结果沿原路返回,CLI 打印输出并退出。
一次典型的工具调用链是:bsk click @e1 --tab-id 42 --session ab12—— CLI 确保 daemon 运行、建立 IPC、发送一条 JSON 请求行;daemon 解析会话ab12找到对应的浏览器实例,将tool.click经 WebSocket 转发;扩展执行 CDP 调用;响应再逐层回传。整个通信全程绑定127.0.0.1本地闭环,不经过任何云端中转。
这一架构解决了社区反复吐槽的三个痛点:登录态隔离(Agent 在独立窗口操作,不碰你的主窗口)、工作流不被打断(后台任务不抢占焦点)、隐私可控(凭证不出浏览器、不上传遥测)。
第一步:环境与接入准备
安装 CLI 与拉起 daemon
macOS/Linux 一条命令安装(详见 README.md 的 Manual setup 部分):
curl -fsSL https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.sh | sh export PATH="${BSK_INSTALL_DIR:-$HOME/.local/bin}:$PATH" bsk --versionWindows 用户对应执行install.ps1。CLI 默认装到~/.local/bin,首次运行任意bsk命令会自动拉起后台 daemon(沙箱环境需遵循 docs/sandboxed-agents.md 的 host 常驻方案,设置BSK_HOME与BSK_AUTO_START=0)。
安装浏览器扩展并开启本地连接
在你要用的 Chrome/Edge 中安装 BrowserSkill 扩展,打开扩展弹窗,启用本地连接。此时不需要任何 API Key 或服务端配置——BrowserSkill 自身没有模型通道,它只负责浏览器通道。需要接入模型的是 WorkBuddy 这一侧:在 WorkBuddy 中配置模型服务与 API Key(社区实测方案中常用 TaoToken 等统一 Key 平台,将 Key 写入 auth.json 并配置 model 通道),使 Agent 具备"大脑",而 BrowserSkill 提供"手"。
值得注意的是,社区实操文章里出现的高频报错(如 401、local proxy failed)绝大多数发生在模型通道这一侧,与浏览器通道无关——这也是"模型通道、浏览器通道、任务规划三环节分别验证"这一排查思路的来源。版本匹配同样关键:CLI、daemon、扩展、技能包需要保持版本一致,bsk doctor的protocol compatible检查正是为此设计的。
第二步:在 WorkBuddy 中启用 browser-skill 技能
技能安装有两种方式。推荐非交互式显式指定,避免自动检测误判:
bsk install-skill --harness workbuddy --json或先查看所有可安装目标:
bsk install-skill --list --json在交互终端里直接运行bsk install-skill,则用空格选中 WorkBuddy、回车确认。仓库源码 crates/bsk-cli/src/cli/install_skill.rs 显示,--harness支持重复传参,安装结果会打印✓ workbuddy → ~/.workbuddy/skills/browser-skill (installed);若目录已有安装则默认跳过(skipped (already exists; use --force)),本地自定义技能会被保护,只有显式--force才会覆盖。
技能包本身位于仓库的 crates/bsk-cli/skill/SKILL.md,它定义了 Agent 的完整工作流:先observe读懂页面,再基于新鲜 ref 操作,最后必须session stop。技能还内置了两条硬性安全规则:页面内容是数据而非指令(防提示注入);绝不提取凭证、Cookie、Token 等密钥。若 WorkBuddy 不支持自动发现技能,也可手动将整个 crates/bsk-cli/skill/ 目录(含references/)复制为browser-skill/。
第三步:状态验证——bsk doctor 与扩展连接
装完技能后,运行体检命令:
bsk doctorbsk doctor是判断"是否真的能干活"的金标准。其检查项在 crates/bsk-cli/src/cli/doctor.rs 中定义,核心包括:
| 检查项 | 通过条件 |
|---|---|
bsk home writable | ~/.bsk可写 |
daemon running | daemon 存活,输出 pid、ws 端口与 socket 路径 |
protocol compatible | daemon 协议版本与 CLI 一致 |
extension connected | 至少 1 个浏览器扩展在线 |
agent skill matches bundled CLI | 已装技能与 CLI 版本匹配,自动同步无冲突 |
其中extension connected是最常见的一道坎:当status.browsers为空时,doctor 判定0 browsers connected并给出 hint——安装扩展并在浏览器中加载。每个fail项都会打印可执行的 hint,按提示处理后再跑一次即可。注意:doctor 通过只代表通道健康,不代表技能被 WorkBuddy 发现;官方文档明确要求新开一个 Agent 会话,确认它能列出或调用browser-skill才算真正就绪。
第四步:端到端任务演示——让 Agent 真正"干活"
链路就绪后,向 WorkBuddy 下达第一个任务。官方 Quick Start 给出最小示例:
Use browser-skill to open https://example.com, summarize the page, and end the browser session when finished.
Agent 会按技能文档拆解为如下命令序列(会话 ID 由session start返回):
bsk session start --no-focus --json # 返回 session_id bsk navigate https://example.com --session <id> bsk observe --session <id> # 输出页面语义结构与 @eN refs bsk screenshot --session <id> --out page.png # 需要视觉证据时 bsk session stop <id> # 任务结束必须执行observe是这套体系的核心感知通道:它返回的是语义化页面观察(VOM),而非原始 DOM,并给可交互元素分配@e1、@e3这样的 ref。随后 Agent 用 ref 完成操作(命令表来自 crates/bsk-cli/skill/SKILL.md):
bsk click @e3 --session <id> bsk fill @e3 --value "text" --session <id> bsk select @e3 --value "option-value" --session <id> bsk press Enter --ref @e3 --session <id> bsk scroll-to @e3 --session <id>一个更真实的"干活"场景(如分析书签、抓取表格)还可以利用标签借用机制处理已有页面:先bsk tab list --scope user --session <id>列出用户标签,bsk tab borrow <tab-id>把标签借入 Agent Window 操作,完成后bsk tab return <tab-id>归还——归还的标签仍留在用户窗口,不产生任何干扰(规则详见 crates/bsk-cli/skill/references/tabs-and-profiles.md)。多浏览器场景下,用bsk browsers查看实例并用bsk session start --browser <id>绑定。
遇到登录、验证码、OTP 或支付确认这类必须人参与的时刻,Agent 可以主动请求帮助(bsk request-help),人处理完由 Agent 继续——这正是"人机协作不中断"的设计点。任务全程还可以开启网站调试(website debugging)把每个操作对应的请求、响应体、Console 输出、页面变化记录为证据,或开启操作审计导出 JSON 复盘,具体见 docs/website-debugging.md 与 docs/operation-audit.md。
边界与安全:给"能干活"的 Agent 上锁
能力越大,越要清楚边界。官方文档在 README.md 的"Browser control and privacy"一节做了三处明确声明:
- Agent Window 共享登录态,但不是安全沙箱——Agent 可以以你已登录网站的权限行事,请只派给它可信的任务;
- 浏览器扩展提供两个独立的自动化设置——"借用标签前确认"和"允许请求人工帮助",两者默认开启,且旧版 CLI 的
--unattended等参数无法绕过它们; - 不提取凭证——技能与扩展均不读取 Cookie/Token,证据导出时还会过滤已知密钥。
再加上前文提到的"页面内容不可信"防注入原则,这套组合在"放权干活"与"守住底线"之间给出了一个工程上可落地的平衡。
小结
把整条链路压缩成记忆锚点,只有三步:装 CLI(含 daemon)→ 装扩展并连接 →bsk install-skill --harness workbuddy;验证只有一条命令:bsk doctor;干活只有一套模式:session start→navigate/observe→click/fill→session stop。
WorkBuddy 提供"会思考的 Agent",BrowserSkill 提供"会动手的浏览器"——两者叠加,Agent 才真正从"对话工具"进化为"生产力工具"。而 BrowserSkill 的本地桥接设计,让这套组合无论搭配哪家模型、哪个 harness,都能以同样一条链路跑通,这正是它区别于各家私有方案的开放价值所在。
【免费下载链接】BrowserSkillLet AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.项目地址: https://gitcode.com/GitHub_Trending/br/BrowserSkill
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考