# car-browser
Browser automation and perception pipeline for the [Common Agent Runtime](https://github.com/Parslee-ai/car).
## 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
```rust
use car_browser::{BrowserBackend, BrowserToolExecutor};
// Implement BrowserBackend for your engine, then register tools
let executor = BrowserToolExecutor::new(backend);
// 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.
Part of [CAR](https://github.com/Parslee-ai/car) -- see the main repo for full documentation.