这篇文章主要对 browser-useChrome DevTools MCPagent-browser 三类工具做一个并排分析,方便在不同场景下做选型。

它们看起来都属于“AI + 浏览器自动化”,但本质上处于不同抽象层:

  • browser-use 是一个 Python AI Agent 框架,LLM 是其内核。给它一句自然语言任务,它会自行完成从感知、推理到执行的完整闭环。
  • agent-browser 是一个面向 AI Agent 的浏览器控制 CLI,更像基础设施层,不内置推理能力,通常作为 Claude Code、Cursor 等外部 Agent 的“手脚”。底层通过 Playwright 与浏览器通信。
  • Chrome DevTools MCP 是一个直接暴露 CDP(Chrome DevTools Protocol)的 MCP Server,给 AI Agent 提供对 Chrome 浏览器内部状态和调试能力的低层访问。

一、browser-use 的技术原理

1.1 核心架构

用户任务(自然语言)
   LLM(大脑)
  感知层(Perception)          行动层(Action)
  ├─ DOM 抽取与压缩             ├─ click(index)
  ├─ 截图(Vision Mode)        ├─ type(index, text)
  └─ 转为 Markdown / JSON       ├─ extract_structured()
                                └─ navigate()
   Playwright(执行器)
   Chromium / Chrome

1.2 感知-行动循环

browser-use 的核心是一个持续迭代的 perception-action loop。每一步大致会做这些事:

  1. DOM 抽取:注入规范化脚本,剥离 <script><style>、隐藏元素,为可操作节点打上数字索引,并压缩成适合模型消费的表示。
  2. 视觉辅助:对支持视觉的模型,如 GPT-4o,同时抓取视口截图,用来处理 Canvas 页面、动态内容或复杂布局。
  3. LLM 决策:把简化后的 DOM、原始任务和对话历史一并交给模型,模型输出结构化动作。
  4. Playwright 执行:执行 clicktypenavigate 等动作。
  5. 反馈更新:把执行结果回写到状态中,进入下一轮。

默认情况下,它通常最多运行 100 步,每一步允许最多 3 个并行动作。

1.3 LLM 集成层

LLM能力
GPT-4o复杂导航与空间推理能力较强
Claude长上下文和结构化推理较好
Gemini适合 Google 生态场景
Ollama(本地)适合离线部署和隐私场景
ChatBrowserUse面向浏览器任务优化的专有模型

1.4 记忆与状态管理

  • max_history_items:控制上下文窗口中的历史长度,避免 token 失控。
  • save_conversation_path:持久化完整执行轨迹。
  • AgentHistoryList:记录 URL、截图、动作名和最终结果等执行历史。
  • structured_output:通过 Pydantic Schema 对输出结构做约束。

1.5 依赖的浏览器能力

能力实现方式
DOM 访问Playwright Python API
底层浏览器通信Playwright 内部封装 CDP
元素交互Playwright 高级 API
截图Playwright screenshot API
JS 执行Playwright evaluate()
多 Tab 管理Playwright context / page
无头 / 有头模式Playwright 均支持

二、agent-browser 的技术原理

2.1 核心架构

AI Agent(Claude Code / Cursor / Copilot / etc.)
       ↓ Shell 命令
   Rust CLI(二进制)
       ↓ Unix Domain Socket
   Node.js 常驻守护进程
       ↓ Playwright API
   Playwright(Node.js)
       ↓ CDP(内部封装)
   Chrome / Chromium / Lightpanda

2.2 三层架构

第一层是 Rust CLI:

  • 负责解析命令行参数并路由到具体操作。
  • 启动快,降低 Node.js 冷启动成本。
  • 原生二进制分发,适配多平台。

第二层是 Node.js 常驻守护进程:

  • 负责管理 Playwright 浏览器实例。
  • 保持进程持久化,避免每条命令都重新拉起浏览器。
  • 支持多个命名 Session,每个 Session 保持独立认证上下文。

第三层是通过 Playwright 控制浏览器:

  • 支持本地 Chromium、远程 Chrome、Browserbase,以及 Lightpanda。
  • 本质上仍然是 Playwright 在封装 CDP,而不是工具直接裸连 CDP。

这一点很关键:agent-browser 的底层是 Playwright,Playwright 内部再去使用 CDP。这和 Chrome DevTools MCP 的直接 CDP 路径是两条不同技术路线。

2.3 Snapshot + Refs 的设计

这是 agent-browser 最有代表性的设计之一:

# Step 1: 获取交互元素快照
$ agent-browser snapshot -i

# 返回:
@e1: button "Sign In"
@e2: input[type=email] "Email"
@e3: input[type=password] "Password"
@e4: link "Forgot Password"

# Step 2: 用 Refs 执行操作
$ agent-browser fill @e2 "user@example.com"
$ agent-browser fill @e3 "password123"
$ agent-browser click @e1

它的目标,是把一次页面快照压缩成对 Agent 友好的引用集合,再让后续操作以极小上下文成本完成。

与 Playwright MCP 的对比里,这类设计经常被拿来强调 token 效率优势:

操作agent-browserPlaywright MCP
Tool 定义开销近乎为零很高
单页快照约千级 tokens明显更高
按钮点击响应极短明显更长
多步自动化总 token更低更高

2.4 支持的命令集

类别命令
导航openbackforwardreload
元素交互clickfilltypepresshoverselectcheckdragupload
数据提取get text/html/value/attris visible/enabled
页面信息snapshotsnapshot -iscreenshot
会话管理--session <name>
网络监控请求拦截、网络监控

2.5 依赖的浏览器能力

能力实现方式
底层控制协议Playwright(内部封装 CDP)
Accessibility TreePlaywright Accessibility API
元素快照自研紧凑 refs 系统
截图Playwright screenshot API
网络监控Playwright network interception
多 SessionPlaywright 多 context 管理
备用引擎Lightpanda

三、Chrome DevTools MCP 的技术原理

3.1 核心架构

AI Agent(Claude Code / Cursor / etc.)
       ↓ MCP 工具调用(JSON-RPC)
   Chrome DevTools MCP Server(Node.js)
       ↓ Chrome DevTools Protocol (CDP) 直连
   Chrome(需开启 --remote-debugging-port=9222)

3.2 工作机制

Chrome DevTools MCP 本质上是对 Chrome DevTools Protocol 的直接暴露:

  • 需要 Chrome 预先以 --remote-debugging-port=9222 启动,或已有远程调试端口可连。
  • MCP Server 直接通过 WebSocket 连接 Chrome 的 CDP 端点。
  • 不经过 Playwright,不需要额外驱动层。
  • 可以连接用户当前正在使用的真实 Chrome,会话、Cookie、插件等都可直接复用。

3.3 核心能力

能力MCP 工具
页面导航navigate_page
截图take_screenshot
JS 执行evaluate_script
DOM 快照take_snapshot
网络请求监控list_network_requestsget_network_request
控制台日志list_console_messagesget_console_message
性能分析performance_start_traceperformance_stop_traceperformance_analyze_insight
内存快照take_memory_snapshot
Lighthouse 审计lighthouse_audit
元素点击与填写clickfillfill_form
多页面管理list_pagesnew_pageselect_pageclose_page

3.4 独特优势

  • 零驱动依赖:不需要安装 Playwright 或 Puppeteer。
  • 复用真实会话:可直接接入用户已登录的 Chrome。
  • 调试深度更强:性能 Trace、内存分析、Lighthouse、Console 和 Network 能力都更完整。
  • 多页面能力直接继承自 Chrome。

四、三条技术路径的核心对比

维度browser-useagent-browserChrome DevTools MCP
定位AI Agent 框架,内置推理闭环浏览器控制 CLI,偏基础设施CDP 直连 MCP Server
调用方式Python APIShell 命令MCP 工具调用
语言PythonRust + Node.jsNode.js
LLM 位置内置外部 Agent 提供外部 Agent 提供
浏览器接口Playwright → CDPPlaywright → CDP直接 CDP
DOM 处理DOM 压缩 + 数字索引 + 可选截图Accessibility Tree + refs原始 DOM / Snapshot
token 消耗中到高
性能分析不擅长不擅长
网络监控有限有限
Console 监控有限有限
复用真实 Chrome需要额外配置可支持原生支持
跨浏览器否,仅 Chrome
需预启动 Chrome
确定性相对低
MCP 集成有服务端实现无原生 MCP原生 MCP

五、适用场景

browser-use 更适合什么

  1. 目标明确但路径未知的自主 Web 研究任务。
  2. 没有 API 的 SaaS 系统自动化。
  3. 页面结构变化较大、需要语义理解的场景。
  4. 多步骤表单填写与探索式导航。
  5. “Agent 自主浏览网页”本身就是产品能力的一部分。

不太适合的场景:

  • 高频、强确定性的重复任务。
  • WAF 防护严格的站点。
  • 大规模、长时间的低成本批量抓取。

agent-browser 更适合什么

  1. AI 编码 Agent 的浏览器验证与 UI 测试。
  2. token 预算紧张的长流程自动化。
  3. CI/CD 场景下的可脚本化 E2E 测试。
  4. 登录、表单、精确点击这类确定性任务。
  5. 多 Session 并行工作流。

不太适合的场景:

  • 需要强语义理解和自主探索的页面任务。
  • 需要深层调试、性能分析或内存观测的任务。

Chrome DevTools MCP 更适合什么

  1. 前端调试与性能分析。
  2. 复用已登录 Chrome 会话访问内部系统。
  3. Lighthouse 自动审计。
  4. 内存泄漏分析与 Heap Snapshot。
  5. 作为 AI Agent 的浏览器探针,读取更底层页面状态。

不太适合的场景:

  • 跨浏览器自动化。
  • 依赖高层抽象的通用自动化流程。
  • 纯 CI 无头环境下的即插即用接入。

六、设计哲学差异

browser-use 的思路是:让 LLM 做主要决策者,浏览器只是它的感官和执行器。

  • 优势是灵活,能处理未预见的页面结构变化。
  • 代价是速度、成本和可重复性都会受到影响。

agent-browser 的思路是:尽可能压缩工具开销,让外部 Agent 以更低上下文成本精确操控浏览器。

  • 优势是确定性更强、token 更省、执行更快。
  • 代价是它本身不提供任务级推理。

Chrome DevTools MCP 的思路是:尽量少做封装,直接把浏览器内部调试能力暴露给 AI。

  • 优势是内部可见性强,尤其适合调试、性能和内存分析。
  • 代价是使用门槛更高,也不适合跨浏览器通用自动化。

七、使用建议

如果你要的是“给我一个目标,自己把路径走出来”,优先看 browser-use

如果你已经有 Agent,只缺一个高效、确定的浏览器执行层,优先看 agent-browser

如果你更关心页面内部状态、性能、网络和内存,而不是高层自动化封装,优先看 Chrome DevTools MCP。

实际工程里,这三者也并不冲突:

  • browser-use 负责高层任务规划与探索。
  • agent-browser 负责长流程里的确定性步骤。
  • 用 Chrome DevTools MCP 负责调试、观测和读取页面内部状态。

八、局限性

  • agent-browser 迭代较快,文档和平台兼容信息可能滞后。
  • browser-use 在强对抗型站点上容易出现低效循环。
  • Chrome DevTools MCP 依赖本地 Chrome 远程调试端口。
  • 三者在新浏览器引擎和生态整合上都还处于快速变化阶段。

来源

  1. browser-use GitHub - AGENTS.md
  2. agent-browser GitHub - AGENTS.md
  3. Headless Browser Automation for AI | agent-browser.dev
  4. Why Vercel’s agent-browser Is Winning the Token Efficiency War - DEV Community
  5. The Context Wars: Why Your Browser Tools Are Bleeding Tokens - paddo.dev
  6. browser-use AI Browser Automation Guide - Apify Blog
  7. Browser-Use Agent Architecture - Labellerr
  8. agent-browser Complete Guide - apiyi.com
  9. Self-Verifying AI Agents: Vercel’s Agent-Browser - Pulumi Blog