1. Browser Use项目介绍与本地搭建 [0] 1.1. Browser Use项目概述与环境配置 [0] Browser Use功能介绍 [0]
AI能通过一句话自动操作浏览器。 功能包括搜索商品、下单支付、进行深度研究。 还能生成完整的攻略报告。 项目背景与核心地位 [1]
Browser Use 是一个让AI大模型自动操作浏览器的开源项目。 短短几个月内已获得5万star。 近期火爆的AI产品 Manus 也选择Browser Use作为核心组件。 本地搭建准备 [3]
本期视频将在本地搭建并测试Browser Use。 使用的AI模型是免费的 DeepSeek V3 0324版,该版本近期进行了升级。 项目选择与下载 [5]
Browser Use在GitHub上有三个开源项目地址。 其中一个是命令行的,不带UI界面 [7]。 另一个是 Web UI,带有网页版UI界面 [8]。 为方便使用,选择Web UI并按照安装说明进行安装 [9]。 在命令提示符(cmd)中执行第一个命令,将项目下载到本地 [11]。 接下来进入对应的文件夹 [12]。 Python环境配置 [12]
第二步是配置Python运行环境。 推荐使用 UV 来配置环境 [13]。 UV是一个管理Python运行环境和Python包的工具 [14]。 访问UV官网,找到安装说明 [15]。 复制Windows系统的安装脚本,在PowerShell窗口中粘贴并安装UV [16]。 使用UV创建一个Python 3.11的运行环境 [18]。 使用命令激活虚拟环境 [19]。 安装Python依赖,并使用 PlayWrite install 安装浏览器自动化工具和对应的浏览器 [19]。 配置文件编写与API设置 [20]
编写配置文件,需要将配置文件的样例复制一份,命名为 .env [20]。 配置文件主要用于配置AI的API、API Key和API提供商 [22]。 API提供商选择 Open Router [22]。 模型选择免费的 DeepSeek V3 0324版 [23]。 访问Open Router API页面,复制其地址 [24]。 Open Router的格式与OpenAI完全兼容,将地址填写到OpenAI配置项 [24]。 在Open Router右上角找到Keys,创建一个API Key [25]。 复制生成的API Key,填写到项目配置文件的第二行并保存 [27]。 1.2. 项目启动与模型配置 [28] 项目启动 [28]
执行Python启动命令。 程序生成一个本地网址,点击打开网页版UI界面。 模型设置 [29]
还需要进行一步设置,来到 lm settings。 必须修改模型的名字。 将使用的免费模型 DeepSeek V3 的名字复制并粘贴过来,完成配置。 2. Browser Use核心原理与功能测试 [30] 2.1. 核心原理与DOM解析 [30] 首次任务测试 [29]
点击 run agent,使用预设任务进行测试。 点击 run 后打开了一个新的浏览器。 项目对每一个可互动的元素都进行了彩色标注。 浏览器自动在搜索栏填入OpenAI并点击搜索按钮。 result 区域给出了答案。 Browser Use的创新点 [31]
Browser Use的创新在于将网站上的按钮和元素拆解成更容易理解的文本格式交给AI。 这帮助AI搞清楚网页上的选项,并自主做出决策。 Browser Use也使用了模型的视觉识别功能作为辅助。 视觉识别功能并非必须,例如使用的DeepSeek V3没有视觉功能,但仍可完成任务。 核心代码解析 [34]
核心代码位于 browser use dom 文件夹下的 build dom tree.js。 核心方法 build dom tree 使用递归方式。 它对网页上的所有元素进行 深度优先遍历。 这确保了每一个节点都能被访问和处理。 页面上炫酷的彩色标注,核心方法是使用 highlight element。 该方法使用JS代码创建一个 div,选择颜色,然后将其渲染到网页上,实现彩色标注。 2.2. 免登录操作方法一:使用本地浏览器 [38] 默认浏览器状态 [38]
Browser Use打开的浏览器是一个全新的浏览器。 其中不包含任何登录信息。 使用本地浏览器实现免登录 [40]
可以通过修改配置文件,让Browser Use使用用户自己电脑上的浏览器。 这样可以免除登录步骤,扩展其功能。 配置本地Chrome路径 [41]
搜索Chrome并找到其可执行文件。 右键复制Chrome可执行文件的地址。 在项目的 .env 配置文件中,找到 chrome path。 将复制的地址粘贴过来并保存。 在命令行重启项目。 重启后,需要重新配置模型。 在 Browser setting 中,勾选 use own browser 选项。 操作注意事项 [45]
重点:在启动任务之前,需要先把Chrome浏览器完全关闭。 必须将控制权限完全交给AI,才能使设置生效。 本地浏览器购物测试 [47]
换一个提示词:去电商网站买一个逗猫棒。 点击执行后,打开的是用户自己电脑上的Chrome浏览器。 网站已登录,AI可以执行下一步操作。 AI开始搜索逗猫棒,进入商品详情,并确认订单信息。 由于设置了小额免密支付,直接付款成功。 任务显示 success,任务完成。 3. 免登录操作方法二:导入Cookie与任务拆解原理 [49] 3.1. 导入Cookie实现免登录 [49] 导入Cookie的优势 [49]
另一种免登录方法是把 cookie 导入到Playwright中。 这种方法更稳定,效果更好,因此更推荐。 导出Cookie [50]
在浏览器中安装 cookie editor 扩展。 登录目标网站后,打开cookie editor。 点击 export 按钮,格式选择JSON。 新建一个名为 cookie.json 的文件。 将复制的cookie全部粘贴到该文件中并保存。 修改代码导入Cookie [51]
需要修改一点代码,来到项目根目录,打开 webui.py 文件。 添加一句 cookies file =,然后复制并粘贴 cookie.json 的文件地址。 注意:Windows电脑需要将路径的斜杠改为两个反斜杠。 解决SameSite报错 [51]
代码修改完成后重启项目。 确保将 use own browser 勾选掉,使用Playwright浏览器。 此时日志报错,提示 SameSite 类型只允许三种。 发现JSON文件中的 SameSite 类型是 no restriction。 将文件内所有的 no restriction 替换成字符串 none。 再次保存JSON文件并尝试,报错消失。 导入Cookie结果 [51]
网站成功打开,从左上角可以看出网站处于登录状态。 通过导入cookie的方式,完成了浏览器的自动登录。 这拓展了Browser Use的能力边界,可以进行更复杂的操作。 3.2. 任务拆解与执行流程 [53] 任务拆解 [53]
运行日志显示,AI将一个大的任务拆分成了许多个步骤(step1, step2, step3等)。 每一步的开始,AI需要先对上一步的结果进行评估,确定执行成功。 接下来,AI思考这一步要做什么,目标是什么。 AI将目标拆分成具体的动作,例如输入“动毛棒”和点击搜索按钮。 这一步结束后,再进行下一步,以此循环直到完成整个任务。 核心执行代码 [55]
核心代码位于 src/agent/costumeagent 目录下的 step 文件。 首先是 run planner,这部分是规划器的提示词。 执行完规划器后,使用 get next action 将计划拆分成具体的动作。 拿到模型的输出后,将动作传递给具体的执行器。 执行器执行动作,并拿到动作的结果,完成这一步。 程序使用一个 for循环,不停地调用这个 step 过程,直到任务完成。 4. 深度研究(Deep Research)功能测试与对比 [59] Deep Research功能介绍 [59]
下一个重要功能是 deep research,即深度研究。 深入研究功能与普通功能的最大区别是,它会进行 三次深度查找。 每次查找的结果都会整理成一个markdown文件。 最后,它会将三次结果整合起来,形成一份完整的输出。 旅行行程测试 [60]
使用一个测试用例:4月日本之旅。 需求是4月15日至23日,从西雅图出发的7天日本行程。 预算为2500到5000美元,适合两人。 注意:发现Deep Research功能在使用自己的浏览器时经常报错。 因此,取消勾选 use own browser,让其使用Playwright浏览器。 结果翻译成了中英文对照的网站。 行程包括东京、日光、京都、奈良、大阪、广岛等。 报告中列出了预算明细、旅游小贴士和求婚地点等,结果不错。 与MINUS对比:Browser Use的报告似乎比MINUS更好。 Browser Use最大的进步是所有项目都贴上了价格,最后还有价格汇总。 价格汇总显示略微超出预算。 MINUS的结果中没有看到关于价格的信息。 股票分析测试 [67]
测试第二个用例:深度分析特斯拉股票。 使用英文版的提示词。 跳过执行过程,直接看结果。 Browser Use的回答非常公正,并按照提示词要求的主要段落进行了整理。 效果还是不错的。 与Manus的最终对比 [69]
Manus最终生成了一个网页报表,非常炫酷。 报表有多种颜色标注,下面还有柱状图、饼图、折线图等。 总结:Browser Use作为一个完全开源的项目,能达成这样的效果已经很不错。 项目潜力很大,不愧是GitHub上5万star的项目。 推荐大家尝试这款免费的API。