rotunda
Agent-first web browser driven from the command line
TLDR
SYNOPSIS
rotunda agent subcommand [context-id] [options]
DESCRIPTION
Rotunda is a browser purpose-built for AI agents. It bundles a stealthy Chromium build, exposes high-level primitives for navigation, inspection, and form interaction, and persists profiles, daemon sessions, and short resource indexes under ~/.rotunda so that later uvx rotunda calls can attach to the same profile without rebooting it.The agent CLI is grouped into a few families of subcommands: profile and session management (fetch, new-profile, new-context, stop), navigation primitives (navigate, back, forward, reload, wait), inspection (describe, screenshot, extract), and interaction (click, hover, fill, type, select, check, press, upload, dialog). Each element-targeted command refers to a numeric context id and an element reference returned by describe.Rotunda is also importable as a Python library on top of Playwright, but the CLI is the recommended entry point for shell-based agents.
PARAMETERS
fetch
Download the bundled browser build to ~/.rotunda.new-profile --name name
Create a persistent browser profile.new-context profile
Open a fresh browser context in the named profile; prints a numeric context id.navigate ctx url
Load url in the given context.describe ctx
Print page structure and reference ids that other commands consume.click ctx ref, hover ctx ref
Mouse interaction with a referenced element.fill ctx ref text
Replace the value of an input field.type ctx text
Type text at the current focus position.select ctx ref value
Choose a dropdown option by value.check ctx ref, press ctx key
Toggle a checkbox / send a keyboard key.extract ctx [--format text|html|markdown|links]
Pull text, raw HTML, markdown, or link lists out of the page.screenshot ctx [--full-page] [--path file]
Capture the viewport or the entire page.upload ctx ref file
Attach file to a file-input element.dialog ctx action
Accept or dismiss browser dialogs (alert/confirm/prompt).wait ctx condition
Block until a page condition is met (load state, selector, timeout).back, forward, reload ctx
Standard navigation primitives.stop
Shut down the profile daemon.
CONFIGURATION
~/.rotunda/
Persistent profiles, daemon sockets, and short resource indexes shared between uvx rotunda invocations.~/.rotunda/profiles/name
One subdirectory per named profile created via new-profile.
CAVEATS
Requires uv / uvx to be installed; uvx rotunda downloads and runs the project on demand. Contexts are addressed by numeric ids that are only valid for the lifetime of the daemon — calling stop invalidates them. Bot-detection avoidance is best-effort; some sites will still block automated traffic.
HISTORY
Rotunda was published by MonkeySee AI in 2026 as an agent-friendly browser layer that fills the gap between raw Playwright scripting and full-featured commercial browser-automation services. Its CLI surface is intentionally narrow and stable so that LLM-driven agents can call it without a tool-specific SDK.
SEE ALSO
playwright(1), chromium(1), puppeteer(1), uv(1)
