Browser4 智能浏览器自动化
面向自动化交互、网页抓取与结构化提取的可扩展浏览器工具。
这个 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 工具调用到后端服务的执行路径。
- 需要在网站登录后填写表单、点击筛选项并验证页面变化的 QA 或运营人员,可用 snapshot 的元素引用配合 click、fill 和 wait 完成流程。
- 需要从商品搜索页提取每条结果的标题、价格和链接的数据团队,可先保存 htmlsnapshot,再以 X-SQL 查询关联字段。
- 拥有 URL 列表、希望并行加载页面并执行同一提取查询的采集工程师,可创建 swarm 并使用 --seed-file 和 --sql 提交作业。
- 需要从起始页按链接规则抓取多层页面的研究人员,可用 crawl、--depth 和 --out-link-selector 配置采集范围。
- 需要定期检查网页内容或接口健康状态的运维人员,可用 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 批处理。