Browser4 Agentic Browser

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

Stars
★ 1.2k
Last updated
1d ago
License
Apache-2.0
Primary language
Kotlin

At a glance

How it runs
CLIMCP serverAgent plugin / skill
Works with
Universal · cross-platformOpenAI API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Node.jsJDK 17+ for source buildsChrome or Chromium for source buildsRust toolchain for building the CLI from sourceShell / CLINetwork accessLocal filesystemMCP Server
Typical use
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.
Not a fit if
  • Users unwilling to install JDK, Chrome, and Rust build prerequisites
  • Anyone expecting built-in bypass of CAPTCHAs or anti-bot defenses

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.

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.

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 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.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Browser4 Agentic Browser This agent 47 · Major gaps CLIFree + model costs ★ 1.2k 1d ago Kotlin OpenAI API
Obscura Headless Browser 75 · Good CLIFree ★ 30k 1d ago Rust Claude.ai
Opensteer 49 · Major gaps CLIFree ★ 205 today TypeScript —
OpenCLI Browser Automation CLI 49 · Major gaps CLIFree ★ 31k today JavaScript Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
47/ 100 5-point scale 2.4 / 5
This review covers the source as of Aug 09, 2026. The project has shipped 24 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 10/29
Reliability 6/14
Adaptability 12/18
Convention 9/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust10 / 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.

Reliability6 / 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.

Adaptability12 / 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.

Convention9 / 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.

Effectiveness7 / 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.

Verifiability3 / 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.

Risks and how to mitigate them
  • 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.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision af0568b86112 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v4.16.1 🚀 Browser4 4.16.1
    Release notes excerpt
    🚀 Browser4 v4.16.1 Release Notes Release Date: 2026-11-04 04:03:51 UTC Built by: @galaxyeye > ### ☕ Java requirement — depends on how you install > > | Install mode | Java needed? | > |--------------|--------------| > | Self-contained bundle — browser4-cli install | None — the bundle ships its own jlink-built JRE | > | browser4-cli binaries / npm install -g browser4-cli | None — native binary | > | Standalone Browser4.jar (java -jar) | Java 25+ | > | WebMiner (browser4-cli webminer) | JDK 17+ — auto-detected (the bundle's JRE also satisfies it) | …
    View on GitHub ↗
  2. v4.16.0 🚀 Browser4 4.16.0
    Release notes excerpt
    🚀 Browser4 v4.16.0 Release Notes Release Date: 2026-11-02 09:04:58 UTC Built by: @galaxyeye > ### ☕ Java requirement — depends on how you install > > | Install mode | Java needed? | > |--------------|--------------| > | Self-contained bundle — browser4-cli install | None — the bundle ships its own jlink-built JRE | > | browser4-cli binaries / npm install -g browser4-cli | None — native binary | > | Standalone Browser4.jar (java -jar) | Java 25+ | > | WebMiner (browser4-cli webminer) | JDK 17+ — auto-detected (the bundle's JRE also satisfies it) | …
    View on GitHub ↗
  3. v4.15.4 🚀 Browser4 4.15.4
    Release notes excerpt
    🚀 Browser4 v4.15.4 Release Notes Release Date: 2026-10-31 10:48:19 UTC Built by: @galaxyeye > ### ☕ Java requirement — depends on how you install > > | Install mode | Java needed? | > |--------------|--------------| > | Self-contained bundle — browser4-cli install | None — the bundle ships its own jlink-built JRE | > | browser4-cli binaries / npm install -g browser4-cli | None — native binary | > | Standalone Browser4.jar (java -jar) | Java 25+ | > | WebMiner (browser4-cli webminer) | JDK 17+ — auto-detected (the bundle's JRE also satisfies it) | …
    View on GitHub ↗

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.
View on GitHub ↗ Install ↓

Related agents