// the find
nanobrowser/nanobrowser
Open-Source Chrome extension for AI-powered web automation. Run multi-agent workflows using your own LLM API key. Alternative to OpenAI Operator.
A Chrome/Edge extension that runs a two-agent LLM loop (a Planner for reasoning, a Navigator for DOM actions) to carry out natural-language browser tasks, pitched as a bring-your-own-key alternative to OpenAI Operator. Fits developers who want to automate web tasks from the browser itself without paying for a hosted agent subscription.
Splitting Planner and Navigator into separate configurable models is a real architectural choice, not just a marketing bullet — you can put a stronger model on reasoning and a cheap/fast one on click-level actions, and the README gives honest cost/performance tradeoffs for both. Provider support is genuinely broad (OpenAI, Anthropic, Gemini, DeepSeek, Grok, Azure, OpenRouter, Ollama, custom OpenAI-compatible endpoints), including real local-model support via Ollama, so it's not vendor-locked. There's actual unit test coverage where it matters — navigator output parsing, LLM provider abstraction, message history, and a dedicated guardrails/sanitizer module — rather than just end-to-end demo scripts. Everything executes client-side in the extension, so there's no vendor backend sitting between your credentials/browsing data and the LLM provider you chose.
Chromium-only (Chrome and Edge via Manifest V3/WXT) — no Firefox or Safari, so despite being called 'browser automation' it's really Chrome automation. The Navigator feeds arbitrary page DOM content straight to an LLM (buildDomTree.js), which is the standard prompt-injection surface for browser agents; a guardrails/sanitizer module exists but the README doesn't say what it actually catches or where its limits are. There's no headless or server mode — it needs a live, loaded tab with the extension running, so it can't be used for scheduled or background automation the way a Puppeteer/Playwright script can. The project's own docs admit that cheaper/local model configurations 'may produce less stable outputs' and need hand-tuned prompts, meaning reliability is largely at the mercy of whichever model you bring rather than something the project controls.