自动化与运维 browser-automationweb-scrapingdata-extractionx-sqlchrome-devtools-protocolrust-cli

Browser4 智能浏览器自动化

面向自动化交互、网页抓取与结构化提取的可扩展浏览器工具。

FollowAgents 评估 · FARS-2.0
待评估
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Browser4 是一个以 browser4-cli 为入口的浏览器自动化与网页数据处理项目。其架构由 Rust CLI、Kotlin/Spring 的 browser4-rest 服务、基于 Chrome DevTools Protocol 的浏览器驱动,以及 browser4-agentic 工具层组成,并通过 HTTP 上的 MCP 通信。它既能以元素引用驱动真实页面交互,也能保存 HTML 快照并用 CSS 选择器或 X-SQL 进行结构化提取。项目还提供 crawl、swarm、loop、batch 等批量与并行执行能力,以及截图、PDF、HTML 导出和浏览器状态保存等输出或持久化操作。可通过 npm 安装 CLI,也可从源码构建包含统一启动器的 Browser4.jar。

先用 browser4-cli open 或 goto 建立或恢复浏览器会话;snapshot 输出可交互元素及 e15 一类引用,随后可调用 click、fill、type、press、select、wait 等命令操作页面。对于提取任务,htmlsnapshot capture 保存页面 DOM,htmlsnapshot get、htmlsnapshot inspect 与 htmlsnapshot query --sql @query.sql 从快照读取文本、属性或关联列表数据;extract 和 summarize 则需要配置 LLM Provider Key。crawl 可从 URL 或种子文件抓取,swarm create 后可并行提交或查询任务,任务通过 status 和 result 获取结果。它还能输出截图、PDF、导出的 HTML,保存 cookies 与 localStorage,并提供 MCP 工具调用到后端服务的执行路径。

  1. 需要在网站登录后填写表单、点击筛选项并验证页面变化的 QA 或运营人员,可用 snapshot 的元素引用配合 click、fill 和 wait 完成流程。
  2. 需要从商品搜索页提取每条结果的标题、价格和链接的数据团队,可先保存 htmlsnapshot,再以 X-SQL 查询关联字段。
  3. 拥有 URL 列表、希望并行加载页面并执行同一提取查询的采集工程师,可创建 swarm 并使用 --seed-file 和 --sql 提交作业。
  4. 需要从起始页按链接规则抓取多层页面的研究人员,可用 crawl、--depth 和 --out-link-selector 配置采集范围。
  5. 需要定期检查网页内容或接口健康状态的运维人员,可用 loop 按间隔重复运行浏览器任务或 shell 命令。

这个 Agent 有哪些优点和局限?

优点
  • 将基于可访问性树的交互引用与基于静态 DOM 的 HTML 快照/X-SQL 提取分开,适合在动态操作后进行重复数据采集。
  • Rust CLI、Kotlin/Spring 后端和 CDP 浏览器驱动具备明确边界,并通过 HTTP MCP 连接,便于在本地自动化流程中部署。
  • 提供 crawl、swarm、batch、loop 和具名会话,覆盖单页交互、批量抓取、并行任务与周期运行。
  • 可管理 cookies、localStorage、sessionStorage 和页面状态,并可生成 HTML、截图及 PDF 等产物。
局限
  • AI 驱动的 extract、summarize、chat、agent run 与部分 X-SQL LLM 函数依赖外部 LLM 提供商密钥。
  • 源码构建存在多项运行时要求:JDK、Chrome/Chromium、PowerShell 7(Linux/macOS 构建说明中列出)以及构建 CLI 所需的 Rust。
  • CLI 会保存会话状态、cookies 和 localStorage;采用已登录会话前需要自行评估凭据与本地状态的管理方式。
  • README 虽列出多种浏览器与采集命令,但未说明网站反爬、验证码或访问授权失败时的通用处理保证。

如何安装或部署这个 Agent?

安装全局 CLI 需要 Node.js:

npm install -g browser4-cli
browser4-cli install

首次验证可运行:

browser4-cli open --headed https://browser4.io
browser4-cli snapshot --boxes

extract、summarize、chat 和 agent run 等 AI 命令需要设置已支持提供商的密钥;例如 OpenAI 兼容配置使用 OPENAI_API_KEY、OPENAI_MODEL_NAME 与 OPENAI_BASE_URL。源码构建需要 Git、JDK 17+(推荐 21+)、Chrome 或 Chromium;构建 CLI 还需 Rust 工具链。

如何使用这个 Agent?

交互式流程示例:

browser4-cli goto https://example.com/login
browser4-cli snapshot -i --boxes
browser4-cli fill e3 "[email protected]"
browser4-cli fill e4 "secret" --submit
browser4-cli wait --load networkidle

结构化提取时先执行 browser4-cli htmlsnapshot,再用 browser4-cli htmlsnapshot query --sql @query.sql。批量 URL 可使用 browser4-cli crawl --seed-file urls.txt --depth 0 --sql @query.sql;并行处理则先执行 browser4-cli swarm create,再执行 swarm query。

这个 Agent 与同类方案有什么区别?

项目将 WebMiner 定位为互补方案:Browser4 可获取单页或批量 HTML,而 WebMiner 面向已下载 HTML 的本地聚类、交互报告和 Excel 生成;前者覆盖浏览器交互与采集,后者强调无 LLM token 的 HTML 批处理。

常见问题

哪些功能必须配置 LLM 密钥?
extract、summarize、chat、agent run,以及 X-SQL 的 llm_* 函数需要密钥;快照、页面交互、HTML 快照与常规 X-SQL 提取并未在说明中列为必须使用 LLM。
它能否处理需要登录的网站?
CLI 提供 open、attach、state-save、state-load,以及 cookie 与存储管理命令,可用于会话操作;具体站点的登录策略、验证码和授权限制并未给出保证。
怎样处理大量 URL?
已知 URL 列表可通过 crawl --seed-file 抓取;需要并发时使用 swarm create 后以 swarm query 或 swarm submit 提交任务。
是否有无需付费模型调用的结构化处理路径?
README 说明 WebMiner 可对下载的 HTML 本地运行 ML 聚类并输出报表和 Excel,且不消耗 LLM token;Browser4 的 AI 命令本身仍需要相应提供商密钥。

相关 Agents