Skip to main content

What it does

Launches a headless Chromium browser that the assistant can control — navigate to URLs, click elements, fill forms, execute JavaScript, scroll pages, and read content. Uses accessibility snapshots to give the LLM numbered element references instead of fragile CSS selectors.

Requirements

Install Playwright and Chromium (one-time):
The browser tool is automatically registered at gateway startup when Playwright is available.

How the assistant uses it

The browser exposes seven actions, each registered as a separate tool:

Typical browsing flow

  1. Assistant calls browser_navigate to open a page
  2. Assistant calls browser_snapshot to see the page structure
  3. Assistant identifies the right element by its ref number
  4. Assistant calls browser_click or browser_type to interact
  5. Assistant takes another snapshot if the page changed

Extracting structured data

For JavaScript-heavy pages (product listings, search results, data tables), browser_evaluate is often faster than repeated snapshot/scroll cycles:
Scripts with top-level return statements are automatically wrapped in an IIFE, so you can write return ... directly without wrapping in a function.

Scrolling

browser_scroll scrolls the viewport by a pixel amount (default 500px). Useful for loading lazy content or reaching elements below the fold:

Wait conditions

browser_wait supports multiple strategies:
Avoid state: "networkidle" on single-page applications — SPAs never stop making requests and it will timeout.

Configuration

Live Preview

When enabled, a real-time browser view panel appears on the right side of the chat while the assistant is browsing. You can watch navigation, clicks, form fills, and page transitions as they happen. Live Preview uses Chrome DevTools Protocol screencast to stream compressed JPEG frames directly from Chromium — the same technology that powers Chrome’s remote debugging. Frames are only pushed when the page visually changes, so bandwidth is naturally throttled.

Enabling Live Preview

Live Preview is disabled by default. To turn it on:
  1. Go to Settings → Tools → Browser
  2. Toggle Live Preview on
Or set it via the config file:
The setting is hot-applied — no gateway restart required.
Live Preview adds ~20–50 KB per frame over the WebSocket connection. On typical browsing sessions this is well within normal bandwidth, but you may want to disable it on very slow connections.

When to use browser vs web fetch