car-browser
Browser automation and perception pipeline for the Common Agent Runtime.
What it does
Provides a backend-agnostic browser automation layer. The BrowserBackend trait abstracts
over different browser engines (Tauri WebView, Chromium via chromiumoxide, or test mocks).
The perception pipeline converts raw browser state (screenshots + accessibility trees) into
structured UiMap data for agent consumption.
Usage
use ;
// Implement BrowserBackend for your engine, then register tools
let executor = new;
// Tools: browse_navigate, browse_click, browse_type, browse_scroll, browse_screenshot
Backends
ChromiumBackend (chromiumoxide-based headless Chrome over CDP) is
always available -- there are no cargo feature flags to enable. The
chromiumoxide dependency is compiled unconditionally on every build.
Provisioned Chrome checks
The ordinary car-browser suite is hermetic and does not launch Chrome. On a
machine with Chrome installed, run the ignored integration lanes serially; they
serve checked-in HTML over loopback and make no public-web request:
The live perception lane always checks deterministic icon classification. To require its OCR contracts too, provision a system OCR backend and set the exact test opt-in; the test fails closed when OCR is unavailable:
CAR_TEST_BROWSER_OCR=1
Part of CAR -- see the main repo for full documentation.