Browser4

GitHub
1k 144 较难 1 次阅读 4天前Apache-2.0Agent
AI 解读 由 AI 自动生成,仅供参考

Browser4 是一款专为 AI 设计的超高速、协程安全浏览器引擎。它旨在解决传统自动化工具在处理复杂网页时速度慢、并发能力弱以及难以理解动态内容的问题,让 AI 智能体能够像人类一样自主地规划、导航并执行端到端的网页任务。

这款工具特别适合开发者、研究人员以及需要构建高级自动化工作流的技术团队使用。无论是进行大规模数据采集、跨网站信息比对,还是让 AI 自主完成购物搜索与分析,Browser4 都能提供强大的底层支持。

其核心技术亮点在于极致的性能与智能化结合:它不仅完全协程安全,单机日均能处理 10 万至 20 万次复杂页面访问,还创新性地融合了大型语言模型(LLM)、机器学习与选择器技术。这种混合架构使其能在不消耗额外 Token 的情况下学习复杂页面结构,从混乱的网页中提取干净数据。用户只需通过自然语言下达指令,Browser4 即可作为 AI 的“手和眼”,高效完成从浏览到数据整理的全流程,是实现高性能浏览器自动化的理想选择。

使用场景

某电商数据分析师需要每日监控全球 50 个竞品网站的数千款商品价格与库存变动,并生成结构化报表。

没有 Browser4 时

  • 开发维护成本极高:每个网站都需要单独编写脆弱的爬虫脚本,一旦网页结构微调,脚本即刻失效,团队大量时间耗费在修复代码上。
  • 并发性能瓶颈严重:传统浏览器自动化方案资源占用大,单机难以支撑高并发,完成全量数据采集往往需要数小时甚至通宵运行。
  • 非结构化数据处理难:面对促销弹窗、动态加载内容或混乱的页面布局,常规正则或 XPath 难以提取干净数据,需人工二次清洗。
  • 缺乏智能决策能力:脚本只能机械执行预设步骤,无法像人类一样根据搜索结果动态调整策略(如自动跳过无货商品或识别虚假折扣)。

使用 Browser4 后

  • 自然语言驱动开发:分析师直接用英文指令描述任务(如“搜索 4K 显示器并分析性价比”),Browser4 自主规划路径并执行,无需编写底层爬虫代码。
  • 极致并发处理效率:凭借协程安全架构,单机日均即可处理 10 万 + 复杂页面访问,原本数小时的任务缩短至几分钟完成。
  • 混合引擎精准提取:结合 LLM 理解力与传统选择器,自动识别并过滤广告干扰,直接从混乱页面中提取出干净的 JSON 格式数据。
  • 智能代理自适应流程:Browser Agent 具备推理能力,能自动处理登录验证、应对页面跳转异常,并在遇到缺货时智能切换备选方案。

Browser4 将繁琐的网页采集工作从“维护代码”转变为“下达指令”,让数据获取速度提升百倍的同时,赋予 AI 真正像人一样浏览和操作网页的能力。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes核心运行环境需要 Java 17 或更高版本。项目主要通过 Maven 构建。部分高级功能(如自动提取 Auto Extraction)依赖外部项目 PulsarRPAPro 且需要 MongoDB 支持。提供 Docker 镜像部署方式。虽然提供 Python SDK,但核心引擎并非基于 Python。
python未说明 (主要基于 Kotlin/Java,提供 Python SDK)
Java 17+
MongoDB (用于 Auto Extraction 功能)
Maven
Browser4 hero image

快速开始

🤖 Browser4

Docker Pulls License: APACHE2


英语 | 简体中文 | 中国镜像

目录

🌟 简介

💖 Browser4:专为您的AI打造的闪电般快速、协程安全的浏览器引擎 💖

✨ 核心能力

  • 👽 浏览器代理 — 完全自主的浏览器代理,能够推理、规划并执行端到端任务。
  • 🤖 浏览器自动化 — 高性能的工作流、导航和数据提取自动化工具。
  • ⚙️ 机器学习代理 - 能够在复杂页面中学习字段结构,且无需消耗任何token。
  • 极致性能 — 完全协程安全;每台机器每天可支持10万至20万次复杂页面访问。
  • 🧬 数据提取 — 结合了LLM、ML和选择器技术,可在混乱的页面中提取干净的数据。

⚡ 快速示例:代理式工作流

// 给你的代理一个使命,而不仅仅是一段脚本。
val agent = AgenticContexts.getOrCreateAgent()

// 代理会利用Browser4作为它的“手”和“眼”,进行规划、导航和执行。
val result = agent.run("""
    1. 前往amazon.com
    2. 搜索‘4k显示器’
    3. 分析前5个结果的性价比
    4. 将最佳选项以JSON格式返回
""")

🎥 演示视频

🎬 YouTube: 观看视频

📺 Bilibili: https://www.bilibili.com/video/BV1fXUzBFE4L


🚀 快速入门

先决条件: Java 17+

  1. 克隆仓库

    git clone https://github.com/platonai/browser4.git
    cd browser4
    
  2. 配置你的LLM API密钥

    编辑 application.properties,添加你的API密钥。

  3. 构建项目

    ./mvnw -DskipTests
    
  4. 运行示例

    ./mvnw -pl examples/browser4-examples exec:java -D"exec.mainClass=ai.platon.pulsar.examples.agent.Browser4AgentKt"
    

    如果你在Windows上遇到编码问题:

    ./bin/run-examples.ps1
    

    浏览并运行browser4-examples模块中的示例,即可体验Browser4的实际效果。

如需使用Docker部署,请参阅我们的Docker Hub仓库

Windows用户: 你也可以将Browser4构建为独立的Windows安装程序。详情请参阅Windows安装指南


💡 使用示例

浏览器代理

能够理解自然语言指令并执行复杂浏览器工作流的自主代理。

val agent = AgenticContexts.getOrCreateAgent()

val task = """
    1. 前往amazon.com
    2. 搜索用于白板绘画的笔
    3. 对前4款产品进行比较
    4. 将结果写入Markdown文件
    """

agent.run(task)

工作流自动化

低层级的浏览器自动化与数据提取,具备精细的控制能力。

特性:

  • 同时支持实时DOM访问和离线快照解析
  • 直接且完全兼容Chrome DevTools Protocol (CDP)的控制,协程安全
  • 精确的元素交互(点击、滚动、输入)
  • 使用CSS选择器/XPath实现快速数据提取
val session = AgenticContexts.getOrCreateSession()
val agent = session.companionAgent
val driver = session.getOrCreateBoundDriver()

// 加载由输入URL引用的初始页面
var page = session.open(url)

// 使用自然语言指令驱动浏览器
agent.act("滚动到评论区")
// 直接从实时DOM中读取第一个匹配的评论节点内容
val content = driver.selectFirstTextOrNull("#comments")

// 将页面快照保存为内存中的文档,以便离线解析
var document = session.parse(page)
// 通过一次调用将CSS选择器映射到结构化字段
var fields = session.extract(document, mapOf("title" to "#title"))

// 让同伴代理执行一个多步骤的导航/搜索流程
val history = agent.run(
    "前往amazon.com,搜索‘智能手机’,打开评分最高的产品页面"
)

// 将更新后的浏览器状态捕获回PageSnapshot
page = session.capture(driver)
document = session.parse(page)
// 从捕获的快照中提取额外的属性
fields = session.extract(document, mapOf("ratings" to "#ratings"))

LLM + X-SQL

非常适合包含数十个实体、每个实体拥有数百个字段的高复杂度数据提取管道。

优势:

  • 提取的实体数量是传统方法的10倍,字段数量更是高达100倍
  • 结合了LLM智能与精确的CSS选择器/XPath
  • 类似SQL的语法,便于熟悉的数据查询操作
val context = AgenticContexts.create()
val sql = """
select
  llm_extract(dom, '产品名称, 价格, 评分') as llm_extracted_data,
  dom_first_text(dom, '#productTitle') as title,
  dom_first_text(dom, '#bylineInfo') as brand,
  dom_first_text(dom, '#price tr td:matches(^Price) ~ td, #corePrice_desktop tr td:matches(^Price) ~ td') as price,
  dom_first_text(dom, '#acrCustomerReviewText') as ratings,
  str_first_float(dom_first_text(dom, '#reviewsMedley .AverageCustomerReviews span:contains(out of)'), 0.0) as score
from load_and_select('https://www.amazon.com/dp/B08PP5MSVB -i 1s -njr 3', 'body');
"""
val rs = context.executeQuery(sql)
println(ResultSetFormatter(rs, withHeader = true))

示例代码:

高速并行处理

通过并行浏览器控制和智能资源优化,实现极致吞吐量。

性能:

  • 每台机器每天可完成1万至2万次复杂页面访问
  • 并发会话管理
  • 资源阻塞以加快页面加载速度
val args = "-refresh -dropContent -interactLevel fastest"
val blockingUrls = listOf("*.png", "*.jpg")
val links = LinkExtractors.fromResource("urls.txt")
    .map { ListenableHyperlink(it, "", args = args) }
    .onEach {
        it.eventHandlers.browseEventHandlers.onWillNavigate.addLast { page, driver ->
            driver.addBlockedURLs(blockingUrls)
        }
    }

session.submitAll(links)

🎬 YouTube: 观看视频

📺 Bilibili: https://www.bilibili.com/video/BV1kM2rYrEFC


自动提取

基于自监督/无监督机器学习的自动、大规模、高精度字段发现与提取——无需调用LLM API,不消耗token,确定且快速。

功能:

  • 以高精度学习商品/详情页上所有可提取字段(通常为数十到数百个)。
  • 当browser4在GitHub上达到1万颗星时将开源。

为何不直接使用LLMs?

  • LLM提取会增加延迟、成本,并受限于token数量。
  • 基于机器学习的自动提取是本地化的、可复现的,且可扩展至每天10万至20万页。
  • 您仍可结合两者:使用自动提取作为结构化基准,再用LLM进行语义增强。

快速命令(PulsarRPAPro):

# 注意:需要MongoDB
curl -L -o PulsarRPAPro.jar https://github.com/platonai/PulsarRPAPro/releases/download/v4.6.0/PulsarRPAPro.jar

集成状态:

  • 即日起可通过配套项目PulsarRPAPro使用。
  • 计划原生暴露Browser4 API;请关注后续发布以获取更新。

主要优势:

  • 高精度:>95%的字段被发现;多数字段准确率超过99%(基于测试域名)。
  • 对选择器变化及HTML噪声具有较强鲁棒性。
  • 无外部依赖(无需API密钥)→规模化部署时成本更低。
  • 可解释性:生成的选择器与SQL透明且可审计。

👽 使用机器学习代理提取数据:

自动提取结果截图

(更多仓库内示例及直接API接口即将推出。)


📦 模块概览

模块 描述
pulsar-core 核心引擎:会话、调度、DOM、浏览器控制
pulsar-agentic 代理实现、MCP及技能注册
pulsar-rest Spring Boot REST层及命令端点
browser4-spa 浏览器代理的单页应用
browser4-agents 代理与爬虫编排及产品打包
sdks Kotlin/Python SDK以及测试和示例
examples 可运行示例及演示
pulsar-tests 端到端、重度集成及场景测试

📜 SDK

SDK位于sdks/目录下,目前支持的语言包括:


✨ 功能

状态:[可用]已在仓库中,[实验性]正在迭代中,[计划中]尚未入库,[指示性]为性能目标。

AI与代理

  • [可用] 解决问题的自主浏览器代理
  • [可用] 并行代理会话
  • [实验性] LLM辅助的页面理解和提取

浏览器自动化与RPA

  • [可用] 基于工作流的浏览器操作
  • [可用] 精确的协程安全控制(滚动、点击、提取)
  • [可用] 灵活的事件处理器与生命周期管理

数据提取与查询

  • [可用] 一行式数据提取命令
  • [可用] X-SQL扩展查询语言用于DOM/内容
  • [实验性] 结构化与非结构化混合提取(LLM、ML及选择器)

性能与可扩展性

  • [可用] 高效并行页面渲染
  • [可用] 抗阻塞性设计与智能重试
  • [指示性] 在普通硬件上每日处理10万+复杂页面

隐蔽性与可靠性

  • [实验性] 先进的反机器人技术
  • [可用] 通过PROXY_ROTATION_URL轮换代理
  • [可用] 强韧的调度与质量保证

开发者体验

  • [可用] 简单的API集成(REST、原生、文本命令)
  • [可用] 丰富的配置分层
  • [可用] 清晰的结构化日志与指标

存储与监控

  • [可用] 支持本地文件系统与MongoDB(可扩展)
  • [可用] 全面的日志记录与透明度

🤝 支持与社区

加入我们的社区,获取支持、反馈与合作!

  • GitHub Discussions:与开发者和用户互动。
  • Issue Tracker:报告Bug或请求功能。
  • 社交媒体:关注我们以获取最新动态。

我们欢迎贡献!详情请参阅CONTRIBUTING.md


📜 文档

全面的文档可在docs/目录及我们的GitHub Pages站点上找到。


🔧 代理——解锁网站

将环境变量PROXY_ROTATION_URL设置为您代理服务提供的URL:

export PROXY_ROTATION_URL=https://your-proxy-provider.com/rotation-endpoint

每次访问该轮换URL时,应返回包含一个或多个新鲜代理IP的响应。 请向您的代理提供商索取此类URL。


许可证

Apache 2.0许可证。详情请参阅LICENSE


🤝 支持与社区

微信二维码

版本历史

v4.5.02026/02/12
v4.4.02026/01/13
v4.3.02026/01/09
v4.2.02026/01/01
v4.1.02025/11/25
v4.0.12025/10/13
v4.0.02025/09/12
v3.0.152025/06/28
v3.0.142025/06/27
v3.0.132025/06/24
v3.0.122025/06/19
v3.0.112025/06/17
v3.0.102025/06/13
v3.0.92025/06/09
v3.0.82025/06/03
v3.0.72025/05/20
v3.0.62025/05/14
v3.0.52025/05/10
v3.0.42025/05/07
v3.0.32025/05/02

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.6k|★★★☆☆|今天
语言模型Agent开发框架