发现 AI 代理的未来arrow_forward

Web-Use

calendar_today收录于 2026年4月22日
category智能体与应用工具
code开源
PythonMCP多模态AI代理浏览器自动化智能体与应用工具模型与推理框架自动化/工作流/RPA协议/API/集成计算机视觉/多模态

基于 CDP 驱动的智能自主浏览器代理,支持多 LLM 后端、视觉理解与 WebMCP 协议扩展,可自动完成网页导航、动态交互、文件操作等端到端 Web 任务。

项目定位#

Web-Use 是一个基于 CDP(Chrome DevTools Protocol)直接驱动的智能自主浏览器代理,通过 WebSocket 连接真实 Chrome/Edge 浏览器,让大语言模型具备端到端的 Web 操作能力。

核心能力#

自主浏览与交互#

  • 自主 Web 导航:自动导航网站、填写表单、交互动态内容(SPA 等),无需人工干预
  • 高效元素交互:索引化 DOM 元素,快速精准定位并执行点击、输入等操作
  • 文件操作:支持文件下载与上传
  • 状态感知:维护页面状态理解,避免死循环并自动恢复错误
  • 智能等待:处理加载状态、动画以及 CAPTCHA、OTP 等人机交互场景

多模型与视觉#

  • 多 LLM 支持:内置 13 种 Provider——Anthropic Claude、Google Gemini、OpenAI、Groq、Ollama、Cerebras、Mistral、DeepSeek、NVIDIA、vLLM、Azure OpenAI、OpenRouter、LiteLLM
  • 视觉能力:支持截屏理解页面视觉内容,辅助决策(use_vision=True

协议与扩展#

  • WebMCP(Web Model Context Protocol):自动发现网站暴露的自定义工具,动态注册并像内置工具一样调用;支持参数校验和 schema 信息展示

运维与控制#

  • Human-in-the-loop:可配置暂停等待人工输入(include_human_in_loop=True
  • 浏览器持久化:任务完成后可保持浏览器打开(keep_alive=True
  • 系统 Profile 复用:支持使用真实浏览器 Profile,保留登录态等认证信息

典型场景#

  • 电商比价:在 Amazon 等平台自动搜索并汇总不同卖家商品价格
  • 社交媒体操作:自动登录 X/Twitter 并发布帖子
  • 视频播放:在 YouTube 上搜索并播放指定视频
  • GitHub 仓库导航:自动登录 GitHub 并浏览指定仓库
  • 文档站内搜索:利用 WebMCP 协议调用文档站暴露的自定义工具
  • Web 数据采集:自动化浏览并提取结构化信息
  • 表单填写:自动化重复性表单填写流程

架构设计#

项目采用分层架构(src/ 目录):

模块职责
agent/核心代理逻辑,含基类、主循环、服务层、视图渲染
agent/browser/浏览器连接与 CDP 通信管理
agent/context/上下文管理
agent/dom/DOM 元素索引与交互
agent/events/事件系统
agent/registry/工具/资源注册表
agent/tools/代理内置工具集
agent/watchdog/超时与异常监控
cdp/Chrome DevTools Protocol 封装层
messages/消息/对话模型
providers/LLM Provider 抽象层(13 个实现)
tools/工具服务层

关键机制:

  • 通过 CDP 直接控制浏览器,使用 WebSocket 连接(依赖 websockets 库),非 Selenium/Playwright 等高层封装
  • DOM 元素索引化以加速元素定位
  • 使用 Pillow 截图进行视觉理解
  • 使用 markdownify 将 HTML 转为 Markdown 供 LLM 理解
  • 使用 pyotp 处理 OTP 验证场景
  • 构建系统:Hatchling

灵感参考: vimGPT、WebVoyager、LangGraph Examples

安装与快速开始#

前置条件: Python ≥ 3.13、UV 包管理器、Chrome 浏览器(需启用远程调试)

git clone https://github.com/CursorTouch/Web-Use.git
cd Web-Use
uv sync
chrome --remote-debugging-port=9222

配置 .env 文件:

GOOGLE_API_KEY="<API_KEY_HERE>"

最小运行代码:

from src.agent.browser.config import BrowserConfig
from src.providers.ollama import ChatOllama
from src.agent import Agent
from dotenv import load_dotenv

load_dotenv()
llm = ChatOllama(model='qwen3.5:397b-cloud', temperature=0.5)
config = BrowserConfig(browser='chrome', headless=False, use_system_profile=True)
agent = Agent(config=config, llm=llm, use_vision=False, use_web_mcp=True, max_steps=100)
user_query = input('Enter your query: ')
agent.print_response(user_query)
uv run main.py

关键配置参数#

Agent 构造参数:

参数类型默认值说明
configBrowserConfig必填浏览器配置
llmBaseChatLLM必填语言模型实例
use_visionboolFalse是否启用截图视觉理解
use_web_mcpboolFalse是否启用 WebMCP 协议发现网站工具
max_stepsint25最大执行步数
max_consecutive_failuresint3连续失败重试上限
include_human_in_loopboolFalse是否暂停等待人工输入
keep_aliveboolFalse任务完成后是否保持浏览器打开

BrowserConfig 参数:

参数默认值说明
browser'chrome'浏览器类型('chrome''edge'
headlessFalse是否无头模式
use_system_profileTrue使用系统浏览器 Profile
user_data_dir自定义 Profile 目录路径
cdp_port9222CDP 协议端口
downloads_dir'/Downloads'下载目录
attach_to_existingFalse是否连接到已运行的浏览器
update_cdpFalse是否重新生成 CDP 协议文件

待确认信息#

  • Python 版本要求存在矛盾:README 提示 3.11+,pyproject.toml 要求 ≥ 3.13
  • 仓库 topic 标注了 langgraph,但代码中未见显式引用,具体使用方式待确认
  • WebMCP 协议无正式规范文档链接,无法确认是否为行业标准
  • 无独立官网或文档站,文档集中于 GitHub README
  • 无正式论文、Hugging Face 页面等外部资源链接

主要语言:Python(99.7%)、JavaScript(0.3%)。作者:Jeomon George、Muhammad Yaseen。当前版本:v0.2。采用 MIT 许可证。

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch