Your agent's model is fine; its browser is what gets it blocked
An open-source take on OpenAI's dots: a web agent whose whole bet is that failures happen in the browser, so it ships a Firefox patched in C++ to slip past bot detection.

What it does
dots is a local web agent: you type a task into a web interface — conversation on the left, a live view of the browser on the right — and it gets carried out in a real Firefox window. The README’s showcase task is the classic grind: check fares from Milan to Lisbon across five dates and report the cheapest per day, with an explicit “do not guess a number.” The model is any OpenRouter model, swappable with --model; the browser is the half the project actually obsesses over.
The interesting bit
Most anti-detection is makeup — a fake fingerprint painted on with JavaScript, which is the first thing a suspicious page checks. dots does the surgery in C++, patching the Firefox engine itself so the identity exists before any page code runs. The identity is coherent, too: one --seed yields the same screen, fonts, GPU, timezone, and language on every run, and --proxy makes timezone and language follow the exit node, so the person and the place never contradict each other.
Key highlights
- Firefox engine patched in C++ — the fingerprint is decided inside the engine, not layered on with inspectable JavaScript.
- No WebDriver flag, no DevTools protocol, no automation globals exposed to the page.
- The pointer travels to what it clicks and keys are pressed one at a time, so input events look trusted.
--profile-dirkeeps logins and cookies between runs;--seedreproduces one consistent identity.- The same browser is available to Claude Code, Codex, and Gemini CLI via the companion
invisible_playwright_mcpMCP server.
Caveats
- The README never says where the patched Firefox engine comes from — how the C++ patches are built or distributed isn’t documented, which is a gap if you want to audit what’s actually running.
- “Nothing for a page to find” is asserted, not demonstrated; no detection tests or results appear anywhere.
- By its own tags this is an anti-detect, stealth browser, and the flagship example is scraping airline fares — squarely the kind of target whose terms of service forbid it.
Verdict If you build web agents and keep watching them die at challenge pages and expired logins, this MIT-licensed take on the real failure point — and open-source answer to OpenAI’s dots — is worth a look. If you need auditable provenance or want no part in the bot-detection arms race, move along.
Frequently asked
- What is feder-cr/invisible_playwright_mcp?
- An open-source take on OpenAI's dots: a web agent whose whole bet is that failures happen in the browser, so it ships a Firefox patched in C++ to slip past bot detection.
- Is invisible_playwright_mcp open source?
- Yes — feder-cr/invisible_playwright_mcp is open source, released under the MIT license.
- What language is invisible_playwright_mcp written in?
- feder-cr/invisible_playwright_mcp is primarily written in Python.
- How popular is invisible_playwright_mcp?
- feder-cr/invisible_playwright_mcp has 2.7k stars on GitHub.
- Where can I find invisible_playwright_mcp?
- feder-cr/invisible_playwright_mcp is on GitHub at https://github.com/feder-cr/invisible_playwright_mcp.