Open source browser automation tools, installed and run
Browser automation tools you can run yourself. The list is ordered by whether each project came up when Argusic installed it fresh, with the recording of that attempt one click away.
Tested between and . Each row shows its own test date; a project can change after that day.
30 of 31 tested projects run. 52 more waiting for a test.
In short: 17 of the 31 tested projects started as-is on a fresh machine: invisible_dots, page-agent, browser-harness, camofox-browser, steel-browser, ferret, playwright-go, and browser-control, and 9 more. 13 more started once a stand-in replaced a service they expect, such as a database: dots, ego-lite, GenericAgent, pinchtab, llm-scraper, js-reverse-mcp, brightdata-mcp, and actionbook, and 5 more. 1 could not be verified: OpenBot; the log shows where it stopped.
Measured by Argusic on a fresh machine every time. Every number links to its evidence.
| # | project | verdict | Argusic Score | language | stars | tested on |
|---|---|---|---|---|---|---|
| 1 | invisible_dots | Runs | 100 / 100 | TypeScript | 31,843 | |
Open-source, self-hosted alternative to OpenAI Dots, Grok Bot. Built to be undetectable by anti-bot systems. What the test found: npm ci installs 428 packages without error; npm run build produces the CLI binary (apps/cli/dist/invisible-dots.mjs) and the server binary (apps/web/.next/standalone/apps/web/server.js). The test suite passes 2103 tests across 150 files (0 failures, 3 skipped). The server starts, creates its PGlite database, applies... 49 minutes. | ||||||
| 2 | page-agent | Runs | 100 / 100 | TypeScript | 29,359 | |
JavaScript in-page GUI agent. Control web interfaces with natural language. What the test found: Install, sequential build, typecheck, lint, and all 69 unit tests pass. The project is fully functional with Node v22. via nvm. 27 minutes. | ||||||
| 3 | browser-harness | Runs | 100 / 100 | Python | 18,350 | |
Browser Harness | Self-healing harness that enables LLMs to complete any task. What the test found: The package installs, builds, passes all 283 tests, and the CLI drives a real headless Chrome via CDP (navigate, page_info) when pointed at a running browser with BU_CDP_WS. 5 minutes. | ||||||
| 4 | camofox-browser | Runs | 100 / 100 | JavaScript | 11,480 | |
Stealth headless browser for AI agents, bypass Cloudflare, bot detection, and anti-scraping. Drop-in Puppeteer/Playwright replacement. What the test found: Server starts with Camoufox browser under Xvfb, responds on port 9377, creates browser tabs that navigate to real URLs, returns accessibility snapshots with element refs, and processes click interactions correctly. All API endpoints function end-to-end. 4 minutes. | ||||||
| 5 | steel-browser | Runs | 100 / 100 | TypeScript | 7,754 | |
🔥 Open Source Browser API for AI Agents & Apps. Steel Browser is a batteries-included browser sandbox that lets you automate the web without worrying about... What the test found: With a user-local Node 22 and Chrome for Testing plus DISABLE_CHROME_SANDBOX=true, the dev-mode API runs on port 3000, /v1/health returns 200 with live Chrome, and sessions/scrape/screenshot/pdf plus external CDP client connections all worked with real results. 11 minutes. | ||||||
| 6 | ferret | Runs | 100 / 100 | Go | 6,012 | |
Declarative data automation language and Go runtime for structured extraction workflows. What the test found: Go 1.27.1 installed, all dependencies resolved, all 68 test packages pass with race detection, CLI binary compiles and runs FQL queries end-to-end. 7 minutes. | ||||||
| 7 | playwright-go | Runs | 100 / 100 | Go | 3,515 | |
Playwright for Go a browser automation library to control Chromium, Firefox and WebKit with a single API. What the test found: Playwright for Go is installed and functional: Playwright driver v1.62.1 launches Chromium 151.0.7922.34 in headless mode, all package tests (0 failures) and all integration test groups (0 failures) pass with real browser interactions including page navigation, DOM queries, locators, assertions, network interception... 42 minutes. | ||||||
| 8 | browser-control | Runs | 100 / 100 | Rust | 3,147 | |
A tiny, fast Rust CLI that drives a real browser over the Chrome DevTools Protocol, built for coding agents. What the test found: The browser-control CLI builds and passes all 10 unit tests; the binary connects to Chromium 127 over CDP and successfully executes open, snapshot, eval, cdp, text, and inspect commands against real web pages. 10 minutes. | ||||||
| 9 | atomic-agent | Runs | 100 / 100 | TypeScript | 3,049 | |
Atomic Agent is a local-first AI agent. Runs open-weight models on your own machine via llama.cpp. What the test found: Build compiles, CLI binary runs and responds to --version/--help, 594 of ~600+ test files pass with 1 genuine test-logic failure in sidecar send-message concurrency, and all 22 eval-memory test files pass. 58 minutes. | ||||||
| 10 | webcmd | Runs | 100 / 100 | TypeScript | 2,661 | |
Self-learning agent browser What the test found: Webcmd 0.8.4 is installed, builds from source, runs unit tests (3571 passed), connects to Cloak browser daemon, and responds to CLI commands. 5 minutes. | ||||||
| 11 | stealth-browser-mcp | Runs | 100 / 100 | Python | 2,216 | |
Stealth browser automation for AI agents over MCP and the Chrome DevTools Protocol: navigation, network hooks, DOM extraction, and pixel-accurate UI cloning. What the test found: Stealth Browser MCP server runs on stdio transport, spawns a headless Chromium 157.0.8086.0, navigates to data URLs, extracts page HTML content, and closes cleanly -- all via MCP protocol over stdio. 15 minutes. | ||||||
| 12 | Mink | Runs | 100 / 100 | PHP | 1,608 | |
PHP web browser emulator abstraction What the test found: PHP 8.4.26 and Composer 2.10.3 are installed locally, all 38 dependencies are in vendor/, the Mink test suite passes 520 tests with 1165 assertions, composer.json validates, phpstan reports no errors, and a stub-driver script using the Mink library successfully found the Downloads link with href /download. 12 minutes. | ||||||
| 13 | nanobrowser | Runs | 90.7 / 100 | TypeScript | 14,006 | |
Open-Source Chrome extension for AI-powered web automation. Run multi-agent workflows using your own LLM API key. Alternative to OpenAI Operator. What the test found: Dependencies installed, project builds to dist/ (background.iife.js 1,848.81 kB, manifest.json), TypeScript type-check passes across all 15 packages, unit tests pass (14/14). 15 minutes. | ||||||
| 14 | ArchiveBox | Runs | 86.7 / 100 | Python | 28,706 | |
🗃 Open source self-hosted web archiving. Takes URLs/browser history/bookmarks/Pocket/Pinboard/etc. saves HTML, JS, PDFs, media, and more... What the test found: ArchiveBox 0.9.65rc24 is installed with Python deps, initialized with SQLite DB and migrations, supports adding/list URLs via CLI, and serves HTTP on port 5797; missing system binaries (chromium, wget, unzip) cannot be installed without root access. 23 minutes. | ||||||
| 15 | OpenAdapt | Runs | 80 / 100 | Python | 1,762 | |
Compiles a demonstrated GUI task into a program that reports VERIFIED only if an independent check agrees. pip install openadapt; openadapt flow tutorial... What the test found: Package installs and all 288 tests pass; CLI, doctor, version commands work; recording generates valid artifacts; compile is CPU-bound by onnxruntime in this container but eventually produces bundles. 20 minutes. | ||||||
| 16 | browser-use | Runs | 66.7 / 100 | Python | 117,466 | |
Agents that use the browser. What the test found: browser-use v0.13.10 installed in a Python 3.12 venv with uv, Chromium headless installed via playwright, and all 563 CI tests pass (529 passed, 34 skipped) after fixing 2 test identity comparison bugs in test_beta_agent.py that only manifest under xdist worker parallelism. 75 minutes. | ||||||
| 17 | OpenCLI | Runs | 66.7 / 100 | JavaScript | 29,931 | |
Make Any Website into CLI & Use your logged-in browser by AI agent. What the test found: OpenCLI 1.8.8 builds and runs on Node 22.14.0; 632 test files pass (7325 tests, 3 skipped) across unit, extension, adapter, smoke projects; CLI binary answers version 1.8.8 and lists 1366 registered commands. 27 minutes. | ||||||
| 18 | dots | Runs with mocks | 92 / 100 | TypeScript | 31,843 | |
Open-source, self-hosted alternative to OpenAI Dots, Grok Bot. Built to be undetectable by anti-bot systems. What the test found: All 4 pytest tests pass, the CLI help displays correctly, and the app launches a server on port 9876 with the stealth Firefox engine downloaded and ready. 9 minutes. | ||||||
| 19 | ego-lite | Runs with mocks | 92 / 100 | JavaScript | 16,941 | |
The fastest browser for AI agents to run browser automation, built for sharing your logged-in browser state with your AI agents, like Codex or Claude Code... What the test found: The ego-browser package installs, builds, and passes 494 unit tests on Node 22; the CLI reads JS from stdin and executes it. 2 minutes. | ||||||
| 20 | GenericAgent | Runs with mocks | 92 / 100 | Python | 14,288 | |
Self-evolving agent: grows skill tree from 3.3K-line seed, achieving full system control with 6x less token consumption What the test found: GenericAgent v0.1.0 (commit e86ca72) installed with all dependencies, all 275 tests passing, Streamlit web UI serving HTTP 200, and ga CLI reporting version successfully. 3 minutes. | ||||||
| 21 | pinchtab | Runs with mocks | 92 / 100 | Go | 10,349 | |
High-performance browser automation bridge and multi-instance orchestrator with advanced stealth injection and real-time dashboard. What the test found: Pinchtab builds from source, 53 of 54 Go test packages pass (1 pre-existing handlers failure), and the bridge serves HTTP 200 health checks with Chrome 131 headless. 41 minutes. | ||||||
| 22 | llm-scraper | Runs with mocks | 92 / 100 | TypeScript | 6,936 | |
Turn any webpage into structured data using LLMs What the test found: The project installs and builds without errors; 8/8 test cases pass with a mocked OpenAI Responses API endpoint. 24 minutes. | ||||||
| 23 | js-reverse-mcp | Runs with mocks | 92 / 100 | TypeScript | 2,910 | |
AI Agent-first JS 逆向 MCP Server:有头 Chrome 调试、断点、网络/WebSocket 分析、Patchright 反检测,可选 CloakBrowser。 What the test found: The js-reverse-mcp v4.0.5 TypeScript project compiles to JavaScript, its full test suite of 114 tests passes, and the MCP server binary responds to JSON-RPC initialize on stdin/stdout. A Node.js v22.12.0 upgrade was applied (portable) and the cloakbrowser optional dependency was installed. Google Chrome is not... 4 minutes. | ||||||
| 24 | brightdata-mcp | Runs with mocks | 92 / 100 | JavaScript | 2,661 | |
A powerful Model Context Protocol (MCP) server that provides an all-in-one solution for public web access. What the test found: The Bright Data MCP server installs and all 21 unit tests pass under Node.js v22.12.0; the server starts listening when API_TOKEN is set. 4 minutes. | ||||||
| 25 | actionbook | Runs with mocks | 92 / 100 | Rust | 1,612 | |
Let your AI agent get the sources behind logins and paywalls. What the test found: Actionbook monorepo builds and all test suites pass (js-sdk 78/78, mcp 45/45, tools-ai-sdk 7/7, openclaw-plugin 39/39, cli 482/483), MCP server starts on stdio listing 5 tools, Rust CLI reports version 1.6.0, and json-ui renders reports, with the only gap being lsof not in the container and the remote API returning a... 13 minutes. | ||||||
| 26 | scrapy-playwright | Runs with mocks | 92 / 100 | Python | 1,454 | |
🎭 Playwright integration for Scrapy What the test found: scrapy-playwright 0.0.48 installed and builds; chromium handler works end-to-end (73 tests pass); firefox works standalone but 3 firefox test classes hang in pytest-twisted; webkit tests correctly skip on Linux; missing `file` system command patched in test. 61 minutes. | ||||||
| 27 | WebAI2API | Runs with mocks | 92 / 100 | JavaScript | 1,383 | |
WebAI2API: 基于 Camoufox 的网页 AI 转 API 工具,支持 LMArena/Gemini等,多窗口并发与账号隔离。 | Web AI to OpenAI API via Camoufox. Supports LMArena/Gemini and more, multi-window... What the test found: The WebAI2API server starts on port 3000 with a Camoufox browser instance, serving OpenAI-compatible /v1/models, WebUI, and /v1/cookies endpoints, all returning HTTP 200, though chat completions require real AI website credentials via the browser adapter and cannot produce output without logging in. 7 minutes. | ||||||
| 28 | HolyClaude | Runs with mocks | 86 / 100 | JavaScript | 2,580 | |
AI coding workstation: Claude Code + web UI + 8 AI CLIs + headless browser + 50+ tools What the test found: All 285 Node.js unit tests, 5 Python notification tests, and the CLI persistence shell test pass. Repository structure is validated end to end with product facts contracts, security policy, documentation, and patch scripts all verified. 2 minutes. | ||||||
| 29 | web-ui | Runs with mocks | 80.6 / 100 | Python | 16,606 | |
🖥️ Run AI Agent in your browser. What the test found: browser-use-web-ui installed and launches: Gradio webui responds HTTP 200 on / and /gradio_api/info, displaying 'Browser Use WebUI' title with agent/browser/run tabs; 7 of 11 LLM API provider tests pass against a mock OpenAI-compatible server. 16 minutes. | ||||||
| 30 | eko | Runs with mocks | 80 / 100 | TypeScript | 4,960 | |
Eko (Eko Keeps Operating) - Build Production-ready Agentic Workflow with Natural Language - eko.fellou.ai What the test found: All 4 packages build successfully. 12 of 14 test suites pass (14 of 16 individual tests) in eko-core with a mock LLM server. Remaining failures: test/llm/utils.test.ts has a pre-existing unhandled rejection for an intentional timeout scenario; test/llm/mcp.test.ts requires an external MCP SSE server on localhost:8083... 27 minutes. | ||||||
| 31 | OpenBot | Could not verify | 38.6 / 100 | TypeScript | 6,200 | |
Open-source AI coworkers that each get a computer of their own: a browser, files and tools, with every action decided before it happens and recorded after... What the test found: bun install and all 3985 non-integration unit tests pass. The 69 failures are all infrastructure-gated (no PostgreSQL for integration tests, no Docker for compose tests, 2 pre-existing Mastra .env leakage failures). 49 minutes. | ||||||
| - | moli | Not yet tested | - | Rust | 13,400 | - |
| - | AIPex | Not yet tested | - | TypeScript | 1,261 | - |
| - | Gemini-Nexus | Not yet tested | - | JavaScript | 1,116 | - |
| - | ClawBench | Not yet tested | - | Python | 977 | - |
| - | beachpatrol | Not yet tested | - | JavaScript | 925 | - |
| - | rustwright | Not yet tested | - | Python | 912 | - |
| - | auto-browser | Not yet tested | - | Python | 904 | - |
| - | puppetry | Not yet tested | - | JavaScript | 888 | - |
| - | gemini-skill | Not yet tested | - | JavaScript | 832 | - |
| - | dsh-browser | Not yet tested | - | TypeScript | 785 | - |
| - | lcu | Not yet tested | - | Python | 767 | - |
| - | dsh-antibrow | Not yet tested | - | JavaScript | 700 | - |
| - | vmprint | Not yet tested | - | JavaScript | 673 | - |
| - | Prism-Browser-Community | Not yet tested | - | TypeScript | 670 | - |
| - | terminal | Not yet tested | - | Rust | 651 | - |
| - | surf-cli | Not yet tested | - | TypeScript | 632 | - |
| - | invisible_puppeteer | Not yet tested | - | Python | 573 | - |
| - | reader | Not yet tested | - | TypeScript | 558 | - |
| - | parchi | Not yet tested | - | TypeScript | 551 | - |
| - | oc | Not yet tested | - | JavaScript | 533 | - |
| - | browser-search | Not yet tested | - | JavaScript | 528 | - |
| - | flyto-core | Not yet tested | - | Python | 484 | - |
| - | html2image | Not yet tested | - | Python | 455 | - |
| - | bux | Not yet tested | - | Python | 453 | - |
| - | jarvis-assistant-vocal | Not yet tested | - | Python | 449 | - |
| - | ash-agents | Not yet tested | - | Python | 448 | - |
| - | wmux | Not yet tested | - | TypeScript | 415 | - |
| - | camofox-browser | Not yet tested | - | JavaScript | 411 | - |
| - | grasp | Not yet tested | - | Go | 395 | - |
| - | reins | Not yet tested | - | Python | 392 | - |
| - | open-browser-use | Not yet tested | - | JavaScript | 361 | - |
| - | herdr-browser | Not yet tested | - | TypeScript | 357 | - |
| - | nuphus-mcp | Not yet tested | - | Rust | 322 | - |
| - | bladebro | Not yet tested | - | Rust | 305 | - |
| - | CatGPT-Gateway | Not yet tested | - | Python | 295 | - |
| - | login-machine | Not yet tested | - | TypeScript | 292 | - |
| - | teracrawl | Not yet tested | - | TypeScript | 285 | - |
| - | openbrowser-ai | Not yet tested | - | Python | 274 | - |
| - | Uni-CLI | Not yet tested | - | TypeScript | 274 | - |
| - | pi-desktop | Not yet tested | - | TypeScript | 259 | - |
| - | advai-cli | Not yet tested | - | Python | 253 | - |
| - | advai-cli | Not yet tested | - | Python | 253 | - |
| - | playwright | Not yet tested | - | PHP | 251 | - |
| - | kane-cli | Not yet tested | - | JavaScript | 248 | - |
| - | agent-browser-mcp | Not yet tested | - | Python | 245 | - |
| - | dorabot | Not yet tested | - | TypeScript | 245 | - |
| - | dsh-deepseek-web-login | Not yet tested | - | JavaScript | 238 | - |
| - | pi-agent-browser-native | Not yet tested | - | TypeScript | 231 | - |
| - | safari-mcp | Not yet tested | - | JavaScript | 211 | - |
| - | Boterdrop-Solver | Not yet tested | - | Python | 205 | - |
| - | opensteer | Not yet tested | - | Python | 203 | - |
| - | bluebox | Not yet tested | - | Python | 202 | - |
runs installed and started with its real dependencies. runs with mocks started after stand-ins replaced external services such as a database or a third-party API. could not verify neither the standard agent nor the stronger one got it running within the time limit; the log shows where it stopped.
How we tested
On this list as of the latest test: 17 projects ran as-is, 13 with mocks, 1 could not be verified, 52 still waiting. Languages tested: Go, JavaScript, PHP, Python, Rust, TypeScript. Every attempt used a clean single-use machine, the subject at a pinned version, and a 45-minute limit; the complete procedure is on the methodology page.
Frequently asked questions (FAQs)
How is this list ranked?
By measurement, not opinion: projects Argusic installed and launched on a fresh machine come first, then those that ran with mocks in place of external services, then those it could not verify. Ties go to the Argusic Score, then how popular it is on its own source.
Why are some projects unranked?
52 projects are still waiting for a test or for a finished attempt. They are listed without a rank until Argusic has measured them.
Where is the evidence?
Every row links to the project's Argusic page, where each run has a full log and a terminal recording stored with a sha256 fingerprint. The same pages exist for every one of the tested projects, on this list or not.
More lists in this category
- web scraping tools (shares Uni-CLI, WebAI2API, brightdata-mcp, browser-search, camofox-browser, camofox-browser, ferret, moli, oc, pinchtab, reader, stealth-browser-mcp, teracrawl with this list)
- self-hosted AI apps (shares CatGPT-Gateway, OpenCLI, WebAI2API, auto-browser, browser-search, browser-use, moli, nanobrowser, stealth-browser-mcp, steel-browser with this list)
- AI agent frameworks (shares OpenCLI, browser-use, invisible_dots, moli, nanobrowser, page-agent, steel-browser with this list)
- open source coding agents (shares HolyClaude, dsh-browser, pi-desktop, wmux with this list)
- MCP servers (shares brightdata-mcp, js-reverse-mcp, stealth-browser-mcp with this list)
- workflow automation tools (shares OpenAdapt, grasp, invisible_dots with this list)
- API gateways (shares CatGPT-Gateway with this list)
- CI/CD tools (shares puppetry with this list)
- developer CLI tools (shares webcmd with this list)
- home automation tools (shares jarvis-assistant-vocal with this list)
- low-code platforms (shares puppetry with this list)
- API clients
- CMS platforms
- LLM gateways
- VPN tools
- backup tools
- code editors
- Open source databases, installed and queried
- e-commerce platforms
- ebook readers
- game engines
- open source games
- map tools
- message queues
- Open source music servers, installed and played
- observability tools
- Open source office suites, installed and launched
- self-hosted password managers
- project management tools
- screen recorders
- search engines
- self-hosted analytics
- speech tools
- static site generators
- uptime monitors
- vector databases
- open source video editors
- video players
- whiteboard tools
- wikis
- self-hosted Notion alternatives
- self-hosted dashboards
- self-hosted git servers