OpenWhale supports two browser automation backends β choose based on your needs.
| Backend | Best For | Source |
|---|---|---|
| Playwright (Default) | Simple scraping, headless automation, zero setup | src/tools/browser.ts |
| BrowserOS (Recommended) | Real browser with your extensions, cookies, and logins | src/tools/browser-os.ts |
Built-in headless Chrome browser. Works out of the box.
- β Zero setup β just works
- β Headless β runs in background
- β Fast β optimized for automation
- β No extensions
- β No saved logins/cookies
Best for: Simple web scraping, screenshots, form filling
A real Chrome browser with AI automation superpowers. The AI controls your actual browser.
- β Your extensions β AdBlock, 1Password, etc. all work
- β Your logins β Already signed into sites? AI can use them
- β Visible browser β Watch what the AI does in real-time
- β Privacy-first β Runs locally, no cloud
- β Anti-detection β Looks like a real user, not a bot
- β Local AI support β Works with Ollama models
- β Visual workflows β See and debug AI actions
Best for: Complex tasks, logged-in services, anything requiring real browser behavior
| Scenario | Playwright | BrowserOS |
|---|---|---|
| Scrape public website | β Great | β Great |
| Login to your email | β Need to re-auth | β Use existing session |
| Book a flight | β Often blocked | β Works like real user |
| Use site with 2FA | β Can't handle | β Already authenticated |
| Debug AI actions | β Headless | β Watch in real-time |
| Use adblocker | β No extensions | β All extensions work |
# Install BrowserOS automatically
npm run setup
# Or manually
npm run cli browser install
# Check status
npm run cli browser status
# Switch backends
npm run cli browser use browseros # Use BrowserOS
npm run cli browser use playwright # Use Playwright (default)After installing BrowserOS, you need to enable the MCP server for OpenWhale to control it:
- Open BrowserOS
- Navigate to
chrome://browseros/mcpin the address bar - Enable the MCP server toggle
- The MCP server runs at
http://127.0.0.1:9000/mcpby default
Then verify and switch to BrowserOS:
# Check if BrowserOS MCP is running
npm run cli browser status
# Should show: BrowserOS β Running at http://127.0.0.1:9000
# Tools: 42 available
# Switch to BrowserOS backend
npm run cli browser use browseros
# List available tools
npm run cli browser toolsWhen using BrowserOS, you get access to 42+ browser automation tools:
browser_navigateβ Navigate to URLsbrowser_click_elementβ Click on page elementsbrowser_type_textβ Type text into inputsbrowser_get_screenshotβ Capture screenshotsbrowser_get_page_contentβ Extract page HTML/textbrowser_execute_javascriptβ Run custom JSbrowser_search_historyβ Search browser history- Plus 35 more for tabs, bookmarks, network, console, etc.