让任意 Agent 操作用户真实浏览器
BUA(Browser Use Agent)是开源的 AI 浏览器自动化层。扩展直接使用你已登录的标签页、Cookie 和会话,Agent 通过本地桥读取页面、截图、点击、输入、滚动与导航。无需重启浏览器,也无需开放 CDP 调试端口。
为什么选择 BUA 做浏览器自动化
-
真实浏览器,真实登录态
沿用用户正在使用的浏览器配置、Cookie 与登录状态,不必把账号密码交给新的自动化实例。
-
不改调试配置
通过 MV3 扩展的
chrome.debugger操作页面,不需要重启浏览器,也不需要开放 CDP 端口。 -
一套能力,多种接入
DeepSeek Harness 原生插件、MCP stdio 与
@bua/sdk共用同一套协议和工具。 -
本地优先
本地桥只监听
127.0.0.1:17432,操作记录可追溯,数据不离开本机。
BUA 能做什么
-
读取登录后的页面
后台、文档、工单等需要登录的页面,Agent 可以直接读取正文或 DOM 快照,不必重新准备账号。
-
跨站收集与整理资料
在多个标签页之间切换,读取并汇总网页内容,适合调研、比对和信息整理。
-
填写与提交流程
按 CSS 选择器填写表单、点击按钮;变更操作必须说明目标与意图,并受 Harness 工具策略控制。
-
截图与页面核对
截取当前页面保存为附件,用于人工复核、留档或让多模态模型确认页面状态。
接入方式: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 操作浏览器
- 安装 BUA 浏览器扩展,并在引导页阅读风险告知后主动启用。
- 接入 Agent:DSH 用户安装
dsh-plugin-bua;其他客户端按 接入指南配置 MCP 或 SDK。 - 让 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 核对标题和网址。