Skip to content

Quick start

Browser commands currently require macOS. After configuring the native SDKs as described in Install, build the CLI and lite worker:

Terminal window
cargo build --release -p brimp-controller -p brimp-lite-worker
export BRIMP_WORKER_PATH="$PWD/target/release/lite-worker"
./target/release/brimp doctor
Terminal window
./target/release/brimp fetch https://example.com --output example.md
./target/release/brimp fetch https://example.com --eval 'document.title'
./target/release/brimp fetch https://example.com --output example.png --full-page

Each browser command launches a child worker. See the CLI reference for crawl scheduling, output formats, personas, and persistent storage.

Start the controller:

Terminal window
./target/release/brimp serve --worker-path "$BRIMP_WORKER_PATH" --port=9222

Install the CDP client in your automation project:

Terminal window
npm install playwright-core
import { chromium } from 'playwright-core';
const browser = await chromium.connectOverCDP('http://127.0.0.1:9222');
try {
const context = browser.contexts()[0] ?? await browser.newContext();
const page = await context.newPage();
await page.goto('https://example.com');
console.log(await page.evaluate(() => document.title));
} finally {
await browser.close();
}

Brimp implements a subset of CDP. Check the CDP support reference for supported commands and limitations.