AI浏览器概述:Atlas、Comet、Fellou、BrowserOS里介绍过几款AI浏览器,以及传统浏览器(外加AI聊天能力)。

本文试图深入理解围绕浏览器自动化,实现Agent智能体的几大xx-Use范式。

Browser Use

官网GitHub,70.2K Star,8.2K Fork。基于Python+Playwright+LangChain+LLM,能够让智能体发起网页访问、操作页面元素、收集信息、执行脚本等,扩展AI应用的落地场景。

功能列表:

  • 浏览器自动化:支持网页导航、表单填写、数据抓取等操作,基于Playwright实现高效的浏览器控制
  • AI决策能力:通过LangChain框架兼容多种LLM,利用模型生成操作指令并处理复杂逻辑
  • 多标签页管理:自动切换和管理多个浏览器标签页,提升多任务处理效率
  • 自我纠正机制:在操作遇到错误时自动调整策略或重试,提高任务成功率
  • WebUI界面:基于Gradio提供图形化操作界面,支持实时查看浏览器交互和屏幕录制功能
  • 跨平台与自定义:支持本地或Docker部署,支持使用个人浏览器,保留登录状态和历史记录

架构

流程示意图
在这里插入图片描述
目录结构
在这里插入图片描述
再看看browser-use目
在这里插入图片描述
核心模块:

  • Actor:
  • Agent:核心协调者,负责协调所有组件的工作,是整个流程的中心
  • Controller:动作执行者,负责执行各种浏览器操作,衔接Agent和Browser
  • Browser:操作对象,负责实际的浏览器操作,与网页进行交互
  • Dom:DOM处理者,负责提取和处理DOM元素,为Browser提供支持
  • LLM:对接各大主流LLM对话
  • MCP:衔接MCP Server和Client
  • Telemetry:可观测性支持,负责记录各种事件

实战

安装:

pip install browser-use
npm init playwright@latest

示例

import asyncio
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from browser_use import Agent

load_dotenv()
llm = ChatOpenAI(model="gpt-4o")
async def main():
	agent = Agent(
		task="打开https://www.google.com,获取页面里所有h1标签文本",
		llm=llm,
	)
	result = await agent.run()
	print('result:', result)

if __name__ == "__main__":
	asyncio.run(main())

Web UI

除Python SDK外,官方还提供开源(GitHub,14.9K Star,2.6K Fork)Web UI,启动命令:

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

浏览器打开,

可直接在浏览器中直接配置任务,不需写Agent代码。

Computer Use

2024年10月,Anthropic发布Claude 3.5 Sonnet,首次将Computer Use能力推向公众视野。愿景:开发人员可通过API指导Claude像人类一样使用计算机,查看屏幕、移动光标、点击按钮、输入文本。开源仍处于体验阶段的demo代码

2025年1月,OpenAI推出Operator及其核心模型Computer-Using Agent,简称CUA。官方文档

CUA

具备屏幕内容的视觉理解能力,并能基于理解结果生成符合逻辑的操作序列;实现GUI高效互动,能够执行包括网页浏览、表单填写、按钮点击等在内的复杂任务链。

CUA依赖视觉模型和高级推理模型,过程可分为三个步骤:

  • 感知:截取计算机屏幕的屏幕截图,以将数字环境的内容置于上下文中。视觉输入构成决策的基础;
  • 推理:利用思维链推理,评估其观察结果并跟踪中间步骤的进度。通过分析过去和当前的屏幕截图,可动态地适应新的挑战和不可预见的变化;
  • 行动:使用虚拟鼠标和键盘执行键入、单击和滚动等任务。对于敏感任务,例如处理登录凭证或解决CAPTCHA质询,系统会寻求用户确认以确保安全性。

原理

  • 虚拟机环境:启动独立的虚拟机实例,基于轻量级的容器技术,确保任务执行的隔离性和安全性。环境就绪后,CUA会初始化一个定制版的Chrome浏览器实例,集成特殊的监控插件,用于捕获页面状态变化和DOM树结构。并实现一个持久化的会话管理系统,通过维护Cookie、localStorage和sessionStorage等信息,确保跨页面操作的连续性。分布式存储架构,支持快速的状态恢复和回滚操作。

  • 视觉信息处理系统,包含三个处理阶段:

    • 页面截图获取,系统使用高性能的屏幕捕获模块,能够以极低的延迟(通常小于16ms)获取高清晰度的页面图像。基于WebRTC截图技术,可确保图像质量的同时最小化系统开销。通过虚拟机中的固定分辨率环境解决因屏幕分辨率变化而导致的不准确性问题,显著提高稳定性和可靠性。
    • 图像处理与特征提取阶段:系统使用改进的CNN模型来处理截获的页面图像,提取关键的视觉特征。经过数百万网页样本的训练,能够准确识别各类UI组件的视觉特征。特征提取过程还融合注意力机制,使系统能够更好地关注页面中的重要区域。
    • 语义理解阶段,系统将提取的视觉特征与预训练的语义模型相结合,构建完整的页面元素语义地图;不仅包含元素的位置和类型信息,还包括元素间的层级关系和交互属性。系统采用图神经网络(GNN)来建模这些复杂的关系,使得后续的操作规划更加准确。
  • 智能操作指令生成系统:首先需要理解当前的任务目标,使用基于Transformer的自然语言理解模型来解析用户的任务描述,将其转换为结构化的任务表示。基于任务表示和当前的页面状态,系统会启动策略网络来生成操作序列。这个策略网络采用深度强化学习架构,通过大规模的人类操作数据进行训练。网络输出的是一系列高级操作指令,这些指令随后会被转换为具体的底层事件序列。指令转换过程使用专门的动作映射引擎,能够将抽象的操作意图(如点击登录按钮)转换为精确的鼠标事件序列。引擎需要考虑页面元素的实际大小、位置和可交互区域,确保生成的事件序列能够准确触发目标操作。

  • 执行监控与错误处理机制:在底层,系统通过事件监听器实时捕获DOM变化和网络请求状态。中层监控负责分析页面加载性能和JavaScript执行状态。顶层监控则关注整体任务进度和业务目标完成情况。错误处理机制同样采用分层设计,对于常见的错误类型(如元素未找到、页面超时等),采用基于规则的快速恢复策略。对于复杂的异常情况,系统会启动基于强化学习的适应性处理模块,通过动态调整操作策略来处理异常。在遇到无法自动处理的情况时,系统会激活人机协同模块。使用一个智能决策引擎,能够基于当前上下文生成清晰的问题描述和可能的解决方案,帮助用户快速理解问题并提供有效的指导。

  • 任务完成与状态反馈系统:首先需要进行结果验证。系统实现一个多维度的验证框架,包括视觉确认、DOM状态检查和业务逻辑验证三个层面。使用组合验证策略,能够准确判断任务是否真正完成。状态反馈系统负责生成详细的执行报告,这些报告包含了完整的操作日志、性能指标和异常记录。系统使用结构化的日志格式,支持后续的分析和优化。重要的执行数据会被存入分布式数据库,用于持续改进系统的性能。

基准测试

包括:

  • OSWorld:一般计算机使用任务
  • WebArena:模拟电子商务和内容管理中的实际任务
  • WebVoyager:测试实时网站交互

产品

除去Claude和OpenAI外,其他闭源产品:

  • Manus:默认大家都用过至少听过;
  • Project Mariner:Google DeepMind推出,基于Google的Gemini 2模型;
  • Flowith:类似Manus,旨在通过其独特的节点式交互方式,为用户提供高效多线程的AI交互体验。提供知识管理、内容创作、自动化任务执行等功能,适合内容创作者、研究人员、企业员工等多类用户。
  • Google AI Studio:集成多种AI功能且易于使用的AI开发平台,专注于简化AI模型的创建、优化和部署流程。支持通过文字或语音让Google AI Studio借助于浏览器或电脑做一些自动化的操作。
  • GLM-PC:智谱推出,基于CogAgent视觉语言大模型的电脑智能体。内测中,支持深度思考模式、Windows和Mac系统。

项目

开源项目,参考awesome-computer-use

  • OpenInterpreter:官网,开源(GitHub,61K Star,5.2K Fork)自然语言接口工具,允许LLM在本地运行代码,支持Python、JS等多种语言。用户可通过类似ChatGPT的界面与计算机互动,执行文件编辑、浏览器控制和数据分析等任务。
  • OpenManus:开源(GitHub,51.2K Star,8.9 Fork)版Manus,通过多个智能体协作,来编排任务模块完成任务。官方文档
  • OmniParser:微软开源(GitHub,23.6K Star,2K Fork),能将LLM转化为具备计算机操作能力的智能Agent。通过视觉解析技术,将用户界面的屏幕截图转换为结构化数据,使LLM能够理解和操作GUI,从而实现跨平台自动化任务。
  • Midscene.js:官网:Web自动化开源(GitHub,10.3K Star,736 Fork)项目,旨在让AI成为浏览器操作员。用户只需用自然语言描述需求,AI就能操作网页、验证内容和提取数据。支持多种模型,包括UI-TARS和Qwen2.5-VL等开源模型,适用于UI自动化场景。Midscene Chrome扩展还支持一种桥接模式,允许用户使用本地脚本来控制Chrome的桌面版本。
  • Magentic-UI:开源(GitHub,8.7K Star,903 Fork),采用人机协同模式,实时审批每一步操作,人工干预,执行计划。官方博客
  • OpenInterface:开源(GitHub,2.4K Star,250 Fork),提供简洁API接口,支持多种编程语言和框架,帮助开发者快速实现功能集成和自动化任务。
  • open-computer-use:E2B开源(GitHub,1.6K Star,209 Fork)。E2B,Environment to Build缩写,一个专为AI应用和AI代理设计的开源云端沙盒环境,旨在为AI提供一个长期稳定的运行平台。

Mobile Use

论文,开源(GitHub,1.6K Star,111 Fork)的AI代理工具。可通过自然语言控制Android和iOS设备。理解自然语言指令,自动操作UI界面,完成任务。支持多种LLM,可快速部署使用,可提高手机端操作效率。

功能

  • 自然语言输入:支持通过自然语言给手机发送指令
  • 支持操作多应用:不仅支持单个APP的操作,还支持多APP的操作,可以理解和解析屏幕上的UI元素,而不是依赖坐标定位,可更智能地浏览不同的应用界面
  • 支持数据抓取:支持从任何应用中提取数据,并且可以通过自然语言描述将其转化为我们所需要的结构化格式
  • 支持多种AI模型:支持配置多种不同的LLM模型,如Qwen等,方便快捷配置

实战

对于Android手机,打开开发者模式和USB调试模式,通过USB连接到电脑上。

git clone https://github.com/minitap-ai/mobile-use.git
cd mobile-use
cp .env.example .env
# 配置.env文件
OPENAI_BASE_URL=
OPENAI_API_KEY=api-key
chmod +x mobile-use.sh
bash ./mobile-use.sh \
	"Open Gmail, find first 3 unread emails, and list their sender and subject line" \
	--output-description "A JSON list of objects, each with 'sender' and 'subject' keys"

Python-Use

AiPy:体验、实战提过。

Python-Use范式:一种把Agent逻辑直接写成可执行Python代码的极简思路。抛弃繁复的Schema注册、Workflow编排和多Agent协商,实现细粒度代码控制,逻辑可控、可调试、最少Token浪费。简单说,直接用Python把Agent逻辑实现出来,让代码就是Agent。

说Python是AI第一语言,应该没人会反对;Python生态也很强大,可用于浏览器自动化、多智能体编排,天生适合于AI浏览器的应用层。

不过,目前并没有太多相关资料或开源项目。

参考

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐