Browser
The browser launches Chromium on the host, captures screenshots, and streams them to the client as a live image feed.
It also includes a lightweight remote DevTools surface inside the client for browser storage, network traffic, console output, and DOM inspection.
How it works
Section titled “How it works”- The daemon launches headless Chromium via the Chrome DevTools Protocol (CDP)
- It navigates to the target URL and captures screenshots at a configurable interval (default 900ms)
- Screenshots are pushed to the client over the live event WebSocket
- The client can send interaction commands back to the headless browser
Supported interactions
Section titled “Supported interactions”The browser supports remote interaction through CDP:
| Action | How it works |
|---|---|
| Tap / click | Dispatches mousePressed + mouseReleased events at the tapped coordinates |
| Scroll | Sends mouseWheel events with deltaX / deltaY |
| Text input | Inserts text via Input.insertText |
| Special keys | Sends key events (Enter, Backspace, Arrow keys, etc.) |
| Navigation | Back, forward, and reload via Page.getNavigationHistory and Page.reload |
| Resize | Updates the viewport dimensions dynamically |
Use cases
Section titled “Use cases”- Low-bandwidth environments where downloading full page payloads is slow
- Heavy pages with lots of JS, images, and fonts where you only need a visual
- Quick checks without setting up anything else
- Verifying what a headless browser renders on the host
- Inspecting cookies, local storage, session storage, and IndexedDB schema from a mobile device
- Inspecting DOM structure, attributes, and selected element styles from a mobile device
- Reviewing request traffic and console output without opening a desktop browser
Built-in DevTools
Section titled “Built-in DevTools”The browser exposes a compact remote DevTools panel in the client:
| Panel | What you can do |
|---|---|
| Console | View recent console output, exceptions, and browser log entries |
| Network | Inspect requests, response metadata, websocket traffic, and request/response bodies when available |
| Storage | View cookies, localStorage, sessionStorage, quota usage, IndexedDB database schema, and clear or edit supported storage entries |
| Inspector | Browse a partial DOM tree, pick elements from the live preview, and inspect attributes, inline styles, computed styles, and layout box geometry |
Limitations
Section titled “Limitations”- Lower fidelity than a real browser (compressed JPEG screenshots, not native rendering)
- Frame updates are periodic, not real-time (default every 900ms)
- The browser runs on the host, so it sees the host’s network and user-agent
- Built-in DevTools are lighter than full Chrome DevTools and still omit advanced features like full CSS rule tracing, layout tooling, and a complete network waterfall
- Only supports HTTP/HTTPS targets