BUA Browser Use Agent

让任意 Agent 操作用户真实浏览器

BUA(Browser Use Agent)是开源的 AI 浏览器自动化层。扩展直接使用你已登录的标签页、Cookie 和会话,Agent 通过本地桥读取页面、截图、点击、输入、滚动与导航。无需重启浏览器,也无需开放 CDP 调试端口。

安装浏览器扩展 接入 DeepSeek Harness

为什么选择 BUA 做浏览器自动化

BUA 能做什么

接入方式:DSH 插件、MCP 与 SDK

接入方式适用客户端说明
DeepSeek Harness 原生插件 DSH 安装 dsh-plugin-bua,插件自动启动或复用本地桥,工具以 bua_* 出现。
MCP stdio OpenClaw、Hermes Agent 等 手动启动本地桥,为客户端配置 stdio 入口。
@bua/sdk 自研 Agent 在工作区内连接本地桥,按标签页调用读取、截图与操作能力。

和 Playwright / Puppeteer 有什么不同

BUA 不启动新的浏览器实例,而是把用户正在使用的浏览器交给 Agent。需要可复现的自动化测试时,Playwright、Puppeteer 仍然更合适;需要沿用真实登录态、又不想开放 CDP 调试端口时,用 BUA。

方式浏览器来源登录态接入成本
BUA 用户当前正在用的浏览器 直接复用 Cookie 与登录会话 安装扩展并接入插件 / MCP / SDK
Playwright / Puppeteer 框架启动的独立浏览器实例 需导出、导入或重新准备 编写脚本与维护依赖
手动开远程调试端口 手动启动并开放端口的浏览器 可复用 改启动参数并管理端口暴露

三步开始:让 AI 操作浏览器

  1. 安装 BUA 浏览器扩展,并在引导页阅读风险告知后主动启用。
  2. 接入 Agent:DSH 用户安装 dsh-plugin-bua;其他客户端按 接入指南配置 MCP 或 SDK。
  3. 让 Agent 先调用 bua_browser_info 确认扩展后端,再用 bua_tabs_list 列出标签并开始只读验证。

安全模型

BUA 不做调用方身份认证。任何能访问本机回环地址的进程都可能通过本地桥操作浏览器,包括已登录页面。首次启用前请阅读并同意扩展引导页的披露;不要把本地桥暴露到公网。浏览器企业策略、受限页面或其他调试器占用可能使部分操作不可用。

常见问题

如何让 AI 操作浏览器?

安装并启用 BUA 浏览器扩展后,通过 DeepSeek Harness 原生插件 dsh-plugin-bua、stdio MCP 或 @bua/sdk 接入 Agent;Agent 调用 bua_browser_info 确认连接,再用 bua_tabs_list、bua_tab_text、bua_tab_click 等工具读取和操作页面。

BUA 支持哪些浏览器?

支持 Chrome 以及基于 Chromium 的 Microsoft Edge;扩展依赖 chrome.debugger,Firefox 没有等价 API,暂不支持。

BUA 需要重启浏览器或开放 CDP 调试端口吗?

不需要。BUA 通过 Chrome MV3 扩展使用 chrome.debugger 操作页面,Agent 通过本机回环地址上的本地桥调用扩展,不要求重启浏览器,也不要求开放远程调试端口。

BUA 支持哪些 Agent 或框架?

DeepSeek Harness 使用原生插件 dsh-plugin-bua,由插件自动管理本地桥;OpenClaw、Hermes Agent 及其他客户端通过 stdio MCP 接入;也可以使用 @bua/sdk 自行集成。

BUA 和 Playwright、Puppeteer 有什么区别?

Playwright 和 Puppeteer 通常启动独立的浏览器实例,登录态需自行准备或导入;BUA 直接使用你现有的标签页、Cookie 和登录态,适合需要沿用真实会话的 Agent 任务。两者可以配合使用,BUA 不替代可复现的自动化测试。

BUA 可以读取需要登录的页面吗?

可以。BUA 使用用户已登录的浏览器配置与 Cookie,因此能读取登录后的页面;是否可操作仍受页面权限、浏览器企业策略和调试器占用限制。

BUA 支持哪些浏览器操作?

支持读取正文、DOM 快照、截图、点击、填写、输入、滚动、导航、打开或关闭标签,以及执行页面 JS;变更类操作需要提供 targetDescription,并受 Harness 工具策略控制。

BUA 会收集或上传浏览数据吗?

不会。扩展不收集、不存储、不上传浏览数据,本地桥只监听 127.0.0.1,详情见隐私政策。

如何验证浏览器链路已经连通?

让 Agent 调用 bua_browser_info,成功返回扩展后端即表示链路可用;随后调用 bua_tabs_list 只读列出标签,再用 bua_tab_info 核对标题和网址。