Automation & Ops browser-automationweb-scrapingdata-extractionx-sqlchrome-devtools-protocolrust-cli

Browser4 Agentic Browser

A browser automation CLI for interactive workflows, web crawling, and structured page extraction.

FollowAgents review · FARS-2.1
Not recommended
47/ 100 5-point scale 2.4 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust10 / 29 · 1.7/5

Evidence shows: CLI provides `--session` for isolated sessions, `--proxy` for proxy configuration, `--timeout` for timeout control, and commands like `delete-data`, `uninstall`, indicating some least-privilege awareness. However, no explicit permission declarations or sandbox mechanisms are found, and install scripts via remote execution (`irm ... | iex`, `curl ... | bash`) pose risks. User confirmation: options like `--auto-dismiss-dialogs` and `--follow` may auto-execute actions, but no global confirmation mechanism is provided. Data flow transparency: documentation describes command data flow but not how data is collected, stored, or shared. Sensitive data handling: supports cookie/localStorage operations but no encryption or protection measures are described. Dependency security: CI uses pinned action versions but no dependency vulnerability scanning evidence. External effects: browser automation may have side effects on websites, but no rate limiting or ethical guidelines are provided. Rollback: provides `state-save/load` and `uninstall`, but no operation-level rollback. Source attribution: Apache-2.0 license and copyright notices exist, but publisher is unverified.

2Reliability6 / 14 · 2.1/5

Evidence shows: README and CI configuration are consistent, command reference is detailed, indicating good internal consistency. Dependency availability: requires Node.js, JDK, Chrome, etc., no version pinning or mirrors provided. Failure messages: documentation does not provide error handling or diagnostic info, only `doctor` command provides partial diagnostics.

3Adaptability12 / 18 · 3.3/5

Evidence shows: Targets AI agents and human users, provides guides for multiple scenarios (interaction, extraction, scale), audience is clear. Capability boundaries: documentation lists commands and limitations but does not explicitly state unsupported features. Trigger precision: command parameters are detailed, but no error handling or edge cases. Environment fit: supports Windows/Linux/macOS, but no Docker or cloud deployment guides.

4Convention9 / 18 · 2.5/5

Evidence shows: README structure is clear, includes TOC, quick start, command reference, good information architecture. Install notes are detailed, multiple methods. Naming stability: command names are consistent, but no version history. Examples and FAQ: provides many examples, but no FAQ. Known limitations: not explicitly listed. License: Apache-2.0 complete. Versioning and changelog: no CHANGELOG provided. Maintenance responsibility: no contribution guide or maintainer info.

5Effectiveness7 / 13 · 2.7/5

Evidence shows: Output usability: supports JSON, file output, etc., multiple formats. Marginal value: provides unique features like ML extraction, X-SQL, but depends on LLM keys. Cost-benefit: free and open source, but requires infrastructure and LLM costs, no cost analysis.

6Verifiability3 / 8 · 1.9/5

Evidence shows: Performance claims in README (100k-200k pages/day) lack benchmark evidence. Cross-source verification: no third-party verification. Fact-inference separation: documentation does not distinguish facts from inferences.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision af0568b86112
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • Install scripts via remote execution (`irm ... | iex`, `curl ... | bash`) pose supply-chain risks; review script contents.
  • No explicit permission declarations or sandbox mechanisms; browser automation may have side effects on target websites.
  • Relies on external services (LLM providers) and infrastructure; manage keys and costs.
  • Performance claims (100k-200k pages/day) lack benchmark evidence.
Review evidence [1][2][3][4][5][6][7]
See the full review method →

What does this agent do, and when should you use it?

Browser4 is a browser automation and web-data processing project centered on the browser4-cli command-line interface. Its documented architecture combines a Rust CLI, the Kotlin/Spring browser4-rest backend, a Chrome DevTools Protocol browser driver, and browser4-agentic tooling connected through MCP over HTTP. It supports live page interaction through accessibility-tree element references, alongside stored HTML snapshots for CSS-selector and X-SQL extraction. Crawl, swarm, loop, and batch commands cover larger or recurring jobs, while screenshots, PDFs, HTML exports, and browser-state operations provide outputs and persistence. The CLI can be installed with npm, or the project can be built from source into a unified Browser4.jar launcher.

browser4-cli open or goto opens or reconnects a browser session. snapshot exposes interactive page elements as references such as e15, which commands including click, fill, type, press, select, and wait can use to operate the page. For extraction, htmlsnapshot capture stores the DOM; htmlsnapshot get, htmlsnapshot inspect, and htmlsnapshot query --sql @query.sql read text, attributes, or correlated records from that snapshot, while extract and summarize require an LLM provider key. crawl processes a URL or seed file, and swarm create enables parallel submission or X-SQL query work that is retrieved with status and result commands. The CLI also creates screenshots, PDFs, and exported HTML, persists cookies and localStorage, and calls the backend through MCP over HTTP.

  1. A QA engineer validating a logged-in form flow can inspect snapshot references, fill fields, click controls, and wait for a success message or network-idle state.
  2. A data analyst extracting title, price, and URL from each search-result card can capture an HTML snapshot and query correlated fields with X-SQL.
  3. A scraping engineer with a file of known URLs can create a swarm and run the same SQL extraction across pages in parallel.
  4. A researcher collecting pages reachable from a starting site can configure crawl with a depth and an outgoing-link selector.
  5. An operations user monitoring a page or health endpoint on a schedule can use loop to repeat a browser task or shell command.

What are this agent's strengths and limitations?

Pros
  • It deliberately separates accessibility-tree references for interaction from stored HTML snapshots and X-SQL for repeatable DOM extraction after dynamic page work.
  • The Rust CLI, Kotlin/Spring backend, and CDP driver have documented boundaries and communicate through MCP over HTTP.
  • crawl, swarm, batch, loop, and named sessions span single-page interaction, bulk crawling, parallel jobs, and recurring execution.
  • It includes cookie and storage controls plus HTML, screenshot, and PDF outputs for stateful automation workflows.
Limitations
  • AI-powered extract, summarize, chat, agent run, and X-SQL llm_* functions depend on external LLM provider credentials.
  • Source builds have several prerequisites: JDK, Chrome/Chromium, PowerShell 7 in the documented Linux/macOS prerequisites, and Rust for the CLI build.
  • The CLI persists session state, cookies, and localStorage, so adopters need their own approach to credential and local-state handling.
  • The documented command set does not establish a general guarantee for anti-bot defenses, CAPTCHAs, or site-specific authorization failures.

How do you install or deploy this agent?

Global CLI installation requires Node.js:

npm install -g browser4-cli
browser4-cli install

Verify the first session with:

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

AI commands such as extract, summarize, chat, and agent run require a supported provider key. For an OpenAI-compatible provider, configure OPENAI_API_KEY, OPENAI_MODEL_NAME, and OPENAI_BASE_URL. Source builds require Git, JDK 17+ (21+ recommended), and Chrome or Chromium; building the CLI from source also requires a Rust toolchain.

How do you use this agent?

For an interactive flow:

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

For structured extraction, run browser4-cli htmlsnapshot and then browser4-cli htmlsnapshot query --sql @query.sql. Process a URL list with browser4-cli crawl --seed-file urls.txt --depth 0 --sql @query.sql, or create a swarm first when parallel processing is needed.

How does this agent compare with similar options?

WebMiner is presented as a complementary path: Browser4 can acquire individual or bulk HTML pages, while WebMiner clusters downloaded HTML locally to create interactive reports and Excel spreadsheets without LLM-token use. Browser4 covers browser interaction and acquisition; WebMiner emphasizes offline HTML batch processing.

FAQ

Which features require an LLM key?
extract, summarize, chat, agent run, and X-SQL llm_* functions require one. Snapshot-based interaction, HTML snapshots, and ordinary X-SQL extraction are not documented as requiring an LLM.
Can it work with authenticated websites?
The CLI provides open, attach, state-save, state-load, and cookie/storage commands for session workflows. It does not guarantee handling of site-specific authentication policies, CAPTCHAs, or access restrictions.
How should I process many URLs?
Use crawl --seed-file for known URL lists. For parallel work, run swarm create and then submit or query jobs with swarm commands.
Is there a no-token route for structuring downloaded pages?
The README describes WebMiner as a local ML workflow that clusters downloaded HTML and produces reports and Excel files without LLM tokens. Browser4's AI commands still require the relevant provider key.

Related agents