status
type
date
slug
summary
tags
category
icon
password
前言:
最近在做一个浏览器自动化插件,研究了一下Browse-use,顺便写了这个报告
项目概述
Browser-Use 是一个基于 Python 的智能浏览器自动化框架,它通过结合大语言模型(LLM)和计算机视觉技术,实现了文本模型对浏览器的精准操控。该项目的核心创新在于将复杂的网页DOM结构转换为LLM可理解的格式,并通过视觉模型提供额外的上下文信息。
1. 项目架构概述
1.1 核心组件架构
1.2 数据流架构
- 输入处理: 用户请求 → Agent → 提示词构建
- 状态获取: 浏览器状态 → DOM分析 → 视觉截图
- 决策制定: LLM推理 → 动作选择 → 参数生成
- 动作执行: Controller → BrowserSession → 页面操作
- 反馈循环: 执行结果 → 状态更新 → 下一轮决策
2. DOM处理和精准定位机制
2.1 DOM树构建核心实现
JavaScript端DOM树构建 (
dom/dom_tree/index.js)核心函数
buildDomTree实现了递归DOM树遍历和构建:Python端DOM树构建 (
dom/service.py)2.2 元素索引系统
高亮索引分配机制
高亮元素渲染
2.3 可见性检测算法
元素可见性检测
视口检测
2.4 交互性判断机制
多维度交互性检测
顶层元素检测
2.3 索引系统和缓存机制
2.4 解决128k上下文限制的关键策略
2.4.1 智能元素过滤
- 可见性过滤: 只处理在视口内或扩展视口内的元素
- 交互性过滤: 优先处理可交互的元素
- 层级过滤: 排除被遮挡的元素
- 语义过滤: 排除无意义的装饰性元素
2.4.2 分层信息提取
2.4.3 动态内容截断
3. 视觉模型集成方式
3.1 截图获取机制
浏览器截图服务 (
browser/browser.py)截图时机控制
在
AgentMessagePrompt.get_user_message()中,截图的使用遵循以下策略:3.2 视觉信息处理流程
多模态消息构建
视觉-DOM映射机制
视觉模型通过以下方式与DOM索引系统协作:
- 高亮叠加层:JavaScript在页面上绘制带索引的高亮框
- 视觉引用:LLM可以通过截图看到索引号,然后引用对应的DOM元素
- 空间理解:视觉模型理解元素的空间布局和视觉层次
3.3 多模态融合策略
信息层次结构
- DOM结构信息(主要):提供精确的元素定位和属性
- 视觉信息(辅助):提供布局理解和视觉验证
- 文本内容(补充):提供语义理解
融合决策逻辑
视觉验证机制
3.4 视觉处理流水线
3.2 元素高亮系统
3.3 视觉-文本对齐机制
3.4 多模态信息融合
视觉模型通过以下方式参与决策:
- 视觉验证: 确认DOM分析的准确性
- 布局理解: 理解页面的视觉布局和层次
- 状态识别: 识别动态状态(如加载、错误等)
- 精确定位: 通过视觉坐标辅助元素定位
4. 提示词工程
4.1 系统提示词设计
系统提示词架构 (
agent/system_prompt.md)系统提示词采用模块化设计,包含以下核心部分:
行为规则定义
任务完成标准
4.2 用户消息构建
消息组装流程 (
agent/prompts.py)浏览器状态描述
代理状态描述
4.3 上下文管理策略
上下文长度控制
智能信息过滤
4.4 任务特定提示词
5. 代理执行流程
5.1 任务解析与规划
核心执行循环 (
agent/browser_agent.py)动作解析机制
任务规划策略
5.2 动作执行机制
浏览器动作执行器
动作验证机制
5.3 状态管理与反馈
状态跟踪系统
执行结果反馈
6. 关键技术实现细节
6.1 异步并发处理
6.2 内存优化策略
6.3 跨框架兼容性
6.4 性能监控和优化
总结
Browser-Use 项目通过以下关键技术实现了文本模型对浏览器的精准操控:
- 智能DOM处理: 通过多层过滤和缓存机制,将复杂的网页结构转换为LLM可理解的精简格式
- 视觉-文本融合: 结合DOM分析和视觉截图,提供多模态的页面理解能力
- 分层提示词工程: 通过动态构建和智能截断,在有限的上下文中提供最相关的信息
- 异步执行架构: 通过并发处理和智能重试,确保高效稳定的自动化执行
- 精准元素定位: 通过索引系统和多重验证,实现对页面元素的精确操控
这些技术的结合使得Browser-Use能够在128k上下文限制下,仍然实现对复杂网页的精准理解和操控,为AI驱动的浏览器自动化开辟了新的可能性。
有关Browse Use的问题,欢迎一起交流~
- Author:DreamEutopia
- URL:https://tangly1024.com/article/browse-use
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
.png?table=block&id=22ce89e3-fd19-8199-ab67-ea17b93a0dd3&t=22ce89e3-fd19-8199-ab67-ea17b93a0dd3)
.png?table=block&id=22ce89e3-fd19-8152-9d32-e2262c075ab4&t=22ce89e3-fd19-8152-9d32-e2262c075ab4)

.png?table=block&id=22ce89e3-fd19-81b4-8c45-dca5fa18ad3a&t=22ce89e3-fd19-81b4-8c45-dca5fa18ad3a)
.png?table=block&id=22ce89e3-fd19-8190-b91d-d9ab727fb4d2&t=22ce89e3-fd19-8190-b91d-d9ab727fb4d2)


.png?table=block&id=22ce89e3-fd19-81c5-8465-e4bf4fbff519&t=22ce89e3-fd19-81c5-8465-e4bf4fbff519)
.png?table=block&id=22ce89e3-fd19-819d-9d25-c92c6f55d67e&t=22ce89e3-fd19-819d-9d25-c92c6f55d67e)
