浏览器智能体-browser use理解与配置

项目地址:https://github.com/browser-use/web-ui.git
browser use自动化浏览器操作。首先说明一下浏览器智能体的工作原理:
整体架构与核心流程:采用分层架构,包含 DOM 操作、浏览器控制、AI 代理相关模块。核心流程从浏览器上下文入口开始,调用 DOM 服务获取可点击元素,DOM 服务层构建元素树并标注,最后由 JavaScript 执行标注并呈现效果。
DOM就是我们常见的html的树:
在这里插入图片描述
所以就是这两个核心部分:
1.DOM 树遍历与分析:通过递归深度遍历 DOM 树,获取每个节点信息。同时,从可交互性和可见性两方面分析元素,判断其是否符合标注条件,为精准标注提供依据。
2.视觉标注实现:先创建独立标注容器,避免与页面冲突。接着生成标注框和标签,利用 CSS 样式设置外观,通过 JavaScript 动态生成标注内容。
接下来我们复现一下web ui的browser use.主要包括下载uv,克隆源码,安装依赖,配置api,以及最后的运行测试.

这是项目的结构:
browser_use/
├── dom/ # DOM操作相关
│ ├── buildDomTree.js # 核心标注实现
│ ├── service.py # DOM服务层
│ └── views.py # 数据模型定义
├── browser/ # 浏览器控制
│ ├── context.py # 浏览器上下文
│ └── browser.py # 浏览器实例
└── agent/ # AI代理
└── service.py # 代理服务

下载uv

https://docs.astral.sh/uv/
在这里插入图片描述
选择windows电脑的安装方式.可以运行:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

或者运行安装特定的版本的(如0.6.14):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.6.14/install.ps1 | iex"

然后查看是否安装成功:
在这里插入图片描述
(安装完之后应该是已经添加到环境变量中的uv,可以去环境变量中确认一下,尽量不要有多个uv的版本出现,比如我之前下载过uv.exe了)
在这里插入图片描述

克隆源码

git clone https://github.com/browser-use/web-ui.git
cd web-ui

在这里插入图片描述

安装依赖

首先要创建一个虚拟环境:

uv venv --python 3.11

在这里插入图片描述

貌似对于cmd和powershell的激活方式不一样:
Windows (Command Prompt):

.venv\Scripts\activate

Windows (PowerShell):

.\.venv\Scripts\Activate.ps1

但是其实都可以直接通过activate来激活:
在这里插入图片描述

然后安装依赖:

uv pip install -r requirements.txt

在这里插入图片描述

安装playwright浏览器:

playwright install

在这里插入图片描述
然后去修改一下API配置,我们先去获取一个大模型的api,这里我们使用deepseek官方的模型,使用deepseek-v3模型(即deepseek-chat)
在这里插入图片描述
复制一个这个文件,修改为.env,然后填写对应的deepseek的api:
在这里插入图片描述
然后就可以启动了:

python webui.py --ip 127.0.0.1 --port 7788

在这里插入图片描述
然后选择使用的是deepseek的模型,注意,deepseek的模型是不支持视觉大模型,所以还需要关闭这里的use vision
在这里插入图片描述
然后就能使用了:
在这里插入图片描述
智能体部分负责去规划各种agent的任务:
任务启动:

INFO [agent] 🚀 任务开始,任务内容为访问谷歌网站(google.com),在搜索框中输入 “OpenAI”,点击搜索按钮,然后给出搜索结果中的第一个网址。
步骤 1:
INFO [src.agent.custom_agent] 🤷 评估当前状态为未知,因为是从一个空白页面开始任务的。
INFO [src.agent.custom_agent] 🧠 新的记忆为空(因为刚开始)。
INFO [src.agent.custom_agent] 🤔 思考得出任务需要先访问谷歌网站,进行 “OpenAI” 的搜索并获取第一个网址。目前处于空白页面,所以首先要导航到谷歌网站。
INFO [src.agent.custom_agent] 🎯 下一个目标是导航到谷歌网站以开始搜索流程。
INFO [src.agent.custom_agent] 🛠采取的行动是访问网址 “https://www.google.com”。
INFO [controller] 🔗 控制器显示已成功导航到谷歌网站。

步骤 2:
INFO [src.agent.custom_agent] ✅ 评估结果为成功,已按预期成功导航到谷歌网站。
INFO [src.agent.custom_agent] 🧠 新的记忆为空(此步骤未添加新的记忆内容)。
INFO [src.agent.custom_agent] 🤔 思考得出现在已经在谷歌主页,下一步是在搜索框中输入 “OpenAI” 并点击搜索按钮来获取搜索结果中的第一个网址。
INFO [src.agent.custom_agent] 🎯 下一个目标是在搜索框中输入 “OpenAI” 并启动搜索。
INFO [src.agent.custom_agent] 🛠   第一个行动是在索引为 5 的位置输入文本 “OpenAI”。
INFO [src.agent.custom_agent] 🛠️第二个行动是点击索引为 8 的元素(原以为是搜索按钮)。
INFO [controller] ⌨ 控制器显示已在索引为 5 的位置输入了 “OpenAI”。
INFO [agent]  在执行完第一个行动后出现了新的内容(搜索建议等)。
步骤 3:
INFO [src.agent.custom_agent] ❌  评估结果为失败,点击索引为 8 的搜索按钮的行动未按预期进行,可能是因为该元素不是正确的搜索按钮。在输入 “OpenAI” 后搜索建议已经出现。
INFO [src.agent.custom_agent] 🧠  新的记忆为空(此步骤未添加新的记忆内容)。
INFO [src.agent.custom_agent] 🤔  思考得出在输入 “OpenAI” 后搜索建议出现了,但点击索引为 8 的按钮操作未成功,正确的搜索按钮可能是索引为 20 的 “Google 搜索” 按钮。
INFO [src.agent.custom_agent] 🎯  下一个目标是点击正确的搜索按钮(索引为 20)来启动 “OpenAI” 的搜索。
INFO [src.agent.custom_agent] 🛠️ 采取的行动是点击索引为 20 的元素。
INFO [controller] 🖱️控制器显示已点击索引为 20 的按钮。
步骤 4:
INFO [src.agent.custom_agent] ✅  评估结果为成功,已成功在谷歌上对 “OpenAI” 进行了搜索并获取了搜索结果页面。
INFO [src.agent.custom_agent] 🧠  新的记忆是搜索结果中的第一个网址为 “https://openai.com”。
INFO [src.agent.custom_agent] 🤔  思考得出任务是在谷歌上搜索 “OpenAI” 并获取第一个网址,现在已经成功完成,因为第一个结果是 OpenAI 的官方网站。
INFO [src.agent.custom_agent] 🎯  下一个目标是通过提供搜索结果中的第一个网址来完成任务。
INFO [src.agent.custom_agent] 🛠  采取的行动是表示任务完成,给出的信息是 “搜索‘OpenAI’的结果中第一个网址是:https://openai.com”,并且任务成功。
INFO [src.agent.custom_agent] 🧠  所有的记忆是搜索结果中的第一个网址为 “https://openai.com”。
INFO [src.agent.custom_agent] 📄  结果是搜索结果中的第一个网址为 “https://openai.com”。
INFO [agent] ✅  任务已完成。
INFO [agent] ✅  任务成功完成。

[agent]负责所有的agent和controller的调用,[custom_agent]有的负责记忆,有的负责评估,有的负责负责动作。其实也就是AI Agent的四大模块,也就是memory,planning,tools和action。

深度搜索测试:
旅行任务:

I need a 7-day Japan itinerary for April 15-23 from Seattle, with a $2500-5000 budget for my fiancée and me. We love historical sites, hidden gems, and Japanese culture (kendo, tea ceremonies, Zen meditation). We want to see Nara's deer and explore cities on foot. I plan to propose during this trip and need a special location recommendation. Please provide a detailed itinerary and a simple HTML travel handbook with maps, attraction descriptions, essential Japanese phrases, and travel tips we can reference throughout our journey.

在这里插入图片描述
最后的结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云千载尽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值