项目链接:https://github.com/browser-use/browser-usehttps://github.com/browser-use/browser-use
星标数: 88,800+星标⭐⭐⭐⭐⭐
在AI代理快速发展的今天,如何让智能体真正理解和操作网页,一直是横亘在自动化愿景与现实之间的核心障碍。传统的网页爬虫只能抓取静态内容,Playwright和Selenium工具虽然能模拟点击和输入,但缺乏理解和决策能力,遇到Cookie弹窗、动态加载、验证码等变化时就无所适从。browser-use正是为了解决这个根本性问题而诞生的——它构建了一座桥梁,让AI代理能够像人类一样浏览和操作任何网站,理解页面内容,做出判断,并执行复杂任务。
什么是browser-use
browser-use是一个开源的Python框架,其核心使命是让AI代理能够无障碍地访问和操作网站。它通过将杂乱的DOM结构重新整理和组织,剥离无关的样式和脚本元素,为交互式组件打上标签,并提供标准化的控制接口,将原始HTML转化为大型语言模型能够理解和操作的结构化信息。在WebVoyager基准测试中,browser-use达到了89.1%的成功率,在586个真实网页任务中表现出业界领先的性能。
核心工作原理
browser-use的工作原理可以拆解为几个关键阶段。当一个AI代理收到用户的任务指令后,首先通过playwright或puppeteer启动一个真实浏览器实例,导航到目标网页,获取完整的页面DOM结构。但浏览器返回的原始DOM包含了大量对AI代理来说毫无意义的样式类名、脚本标签和隐藏元素——这个原始DOM可能高达上千个节点,如果直接送入AI的上下文窗口,很快就能填满数万token空间。browser-use在这一步执行了关键的预处理工作:它运行一个智能DOM解析器,从原始DOM树中提取可交互元素的语义信息,过滤掉视觉隐藏元素、样式节点等无关内容,将精简后的结构化元素树传递给下游系统。经过这一步,Node数量可以从上千个缩减到不到一百个,消耗的token也大幅降低到几千级别。
下一步是交互控制的实现。browser-use提供了标准的浏览器操作接口,包括元素点击click(index)、文本输入type(text)、页面导航open(url)、截图capture_screenshot()、拖拽drag(element, target)和下拉选择select_option(option)等核心能力。这些操作通过高度优化的动作执行管线实现——包括等待元素稳定、模拟真实鼠标轨迹、检测操作后的页面变化等精细化处理。值得注意的是,browser-use对action_timeout参数做了严格的安全验证,拒绝nan、inf或非正数值,确保每个操作都有合理的超时保护,避免动作卡死。
在对话管理层面,browser-use的工作流是一个多轮交互循环。AI代理分析当前页面状态,决定下一步操作,执行操作,观察页面变化,然后再次分析。每一轮交互,browser-use都会把发生变化的DOM差异、用户的原始任务指令和上一轮的操作结果压缩成一个精简的提示,送入LLM上下文。但这种持续的DOM重处理耗费大量token,browser-use专门为此做了优化——不重建已经稳定的节点,只更新发生变化的部分,优化了token消耗,让长任务的实际成本显著降低。
技术架构与生态
browser-use的技术架构围绕Agent、Browser和LLM三大核心组件构建。Agent是任务规划的核心,接收用户的高层目标(如"在Instacart上把这个购物清单加到购物车"),自主分解为子任务并编排执行步骤。Browser组件负责实际浏览器的生命周期管理,支持本地浏览器、远程浏览器和Browser Use Cloud提供的云端隐身浏览器三种模式。LLM组件则提供了模型抽象层,支持接入多种大语言模型作为决策引擎。
browser-use已经发展出一个相当丰富的生态。除了核心的Agent框架外,还衍生出了workflow-use用于创建和运行自动化工作流(类似RPA 2.0),video-use用于视频录制和分析,web-ui提供了在浏览器中运行AI代理的图形界面,browser-harness则是自修复的浏览器工具集。它还提供了CLI工具,支持从命令行快速调用浏览器操作,如browser-use open https://example.com后就可以通过browser-use click 5、browser-use type "Hello"等方式进行快速交互迭代,且浏览器会话在命令之间保持持续运行。
实际应用场景
browser-use的应用范围覆盖了几乎所有需要人类操作网页的场景。在表单填写方面,它可以自动填写求职申请——给定用户的简历信息,browser-use能够自动导航到招聘网站的申请页面,逐项填写个人信息、教育背景、工作经历并提交。在电商应用方面,它可以根据购物清单自动在Instacart等平台上搜索商品、比对价格、加入购物车。在信息收集方面,它可以执行跨网站的研究任务,如为定制PC查找和比较不同配件的价格和兼容性。在数据采集方面,它能够通过模拟真实用户行为来获取需要交互才能得到的深层数据。可以说,任何需要人在浏览器中完成的操作,只要给出清晰的自然语言指令,browser-use都能够自主完成。
开发者体验
使用browser-use非常简单。通过uv包管理器,一行uv add browser-use即可完成安装。然后只需几行Python就可以创建一个能自主浏览网页的Agent。Agent的创建过程非常直观,只需指定任务描述、LLM引擎和浏览器实例即可。browser-use支持多样的LLM选择——官方优化的ChatBrowserUse模型在速度和准确率上表现最佳,平均完成任务速度比其他模型快3-5倍,同时成本极低(输入token仅$0.20/百万)。此外也可以使用Google Gemini、Anthropic Claude或本地运行的开源模型。框架提供了完整的REST API和MCP服务器支持,方便与其他系统和工具集成。
技术趋势观察
browser-use的快速增长——从发布到88,800+星标——反映了AI代理在浏览器自动化领域的巨大需求。它代表了AI从"阅读网页"到"操作网页"的关键跨越。与其同类工具相比,browser-use的优势体现在几个方面:开源的MIT许可让开发者可以自由定制和扩展;高度优化的DOM处理和交互系统带来了出色的性能表现(WebVoyager 89.1%);完善的生态包括云端隐身浏览器、工作流引擎、视频录制等配套工具;特别是面向AI代理的设计使其自然融入现代AI开发工作流,支持Claude Code、Cursor等编码代理直接集成。对于任何需要AI自主操作网页的开发者来说,browser-use都是目前最值得关注的开源方案。