Installation
- CLI install (recommended)
- Manual install
- Install the
playwrightPython package (with auto-fallback for older systems) - Install system dependencies on Linux
- Download the Chromium browser (Linux servers automatically use the headless build)
- Detect China-mainland networks and use mirror acceleration
- Supported on Ubuntu 20.04+, Debian 10+, macOS and Windows. Older systems such as Ubuntu 18.04 will fall back to a compatible version automatically.
- The browser tool has heavy dependencies (~300MB) and is optional. For lightweight web content retrieval, use the
web_fetchtool.
Desktop client users: playwright is bundled in the installer, no separate install needed. On first use of the browser tool:
- If Google Chrome / Edge is installed, it drives the system browser directly with no download (recommended);
- Otherwise, send
/install-browserin chat to download a lightweight browser engine into~/.cow.
Workflow
A typical browser workflow for the Agent:navigate— Open the target URLsnapshot— Get a compact DOM with auto-numbered interactive elements (ref)click/fill/select— Operate elements byrefsnapshot— Snapshot again to verify the result
Supported Actions
Use Cases
- Access a URL to retrieve dynamic page content
- Fill in forms and log in
- Operate web elements (click buttons, select options, etc.)
- Verify the result of a deployed web page
- Scrape content that requires JS rendering
Run Mode
The browser picks a mode based on the runtime environment:
You can override it in
config.json:
Browser Engine
The browser engine is selected automatically, no configuration needed:- If Google Chrome / Edge is detected on the machine, it drives the system browser directly, with no Chromium download, using real browser fingerprints;
- Otherwise it falls back to the Chromium engine downloaded into
~/.cowviainstall-browser.
Persistent Login
Log in to a target site once and the Agent can keep using it. Two ways are supported:Option 1: Persistent mode (default)
Works out of the box. Login state is saved under~/.cow/browser_profile. No configuration needed.
To disable persistence and start with a clean environment every time:
Option 2: CDP mode (attach to real Chrome)
Have the Agent connect to a separately launched real Chrome (instead of the Chromium bundled with Playwright) for full browser fingerprints. Useful for sites with strict bot detection. Launch Chrome with a debugging port and a dedicated user data directory:- macOS
- Linux
- Windows
config.json:
Chrome 137+ requires
--remote-debugging-port to be paired with a dedicated --user-data-dir. As a result, the CDP-launched Chrome cannot directly reuse the login state of your daily Chrome; you’ll need to log in once inside this dedicated profile.