# 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.
