Skip to main content

Crate car_browser

Crate car_browser 

Source
Expand description

Browser automation and perception pipeline for the Common Agent Runtime.

This crate provides:

  • BrowserBackend trait: abstract interface for browser automation
  • Perception pipeline: converts raw browser state (screenshots + a11y trees) into structured UiMap data
  • Browser tool registration: registers browse_* tools with car-engine

§Architecture

car-browser is backend-agnostic. Consumers provide a BrowserBackend implementation:

  • Hydra provides TauriBackend (drives Tauri’s WebView)
  • Headless uses ChromiumBackend (chromiumoxide)
  • Tests use MockBackend

Re-exports§

pub use backend::BrowserBackend;
pub use backend::BrowserError;
pub use chromium::ChromiumBackend;
pub use chromium::HistoryStep;
pub use models::A11yNode;
pub use models::Bounds;
pub use models::Modifier;
pub use models::Viewport;
pub use models::WaitCondition;
pub use recorder::Recording;
pub use recorder::RecordingHandle;
pub use screencast::FrameReceiver;
pub use screencast::ScreencastFrame;
pub use screencast::ScreencastPump;
pub use screencast::FRAME_CHANNEL_CAP;
pub use tabs::TabError;
pub use tabs::TabEvent;
pub use tabs::TabId;
pub use tabs::TabInfo;
pub use tabs::TabsSnapshot;
pub use tools::BrowserToolExecutor;

Modules§

backend
Browser backend trait — the abstract interface that all browser implementations must satisfy.
chromium
Headless Chromium backend via chromiumoxide.
keymap
What a key press has to look like before Chromium will act on it.
models
Core browser domain types.
perception
Perception pipeline — converts raw browser state into structured UiMap data.
profile
Who currently holds which persistent Chromium profile directory, within this process.
recorder
Screen recording for a driven browser session, via CDP screencast.
screencast
Broadcast-capable CDP screencast pump.
tabs
Multi-tab page registry — the tab data model behind crate::chromium::ChromiumBackend.
tools
Browser tool registration and execution for car-engine.