Rotunda is a browser built for agents from the ground up, focusing on providing a browser that looks fully human without lying about its underlying identity. It is a Firefox fork that leverages structured web formats and plaintext to create a stealthy, agent-controlled browsing experience.
Overview
Rotunda is designed to give agents the power to browse the web, automating almost anything. It is built on the idea that the web gives access to beautiful structured formats, plaintext, etc., and that it's unnecessary to throw that away. The browser is intended for agent use and is built to work almost identically to a daily driver.
What it does
Rotunda allows agents to control the browser instance, providing a humanized text input path and mouse actions that use path prediction when humanization is enabled. The browser includes a range of commands for actions such as clicking, hovering, filling forms, and extracting data. It also includes broader browser primitives for less form-like tasks, such as taking screenshots, waiting for specific conditions, and uploading files.
To get started with Rotunda, users can install it into their Python project with uv, then fetch the latest Rotunda browser build. The browser can be used from Playwright by swapping in the Rotunda launch helper and creating contexts with NewContext.
Tradeoffs
Rotunda's approach to stealth browsing is different from other plugins, which often rely on overriding Javascript properties to return fake values that simulate another browser. Instead, Rotunda focuses on providing a browser that looks fully human, without lying about its underlying identity. This approach is based on the idea that it's impossible to compellingly lie about a browser fingerprint, and that it's better to fib about some specifics like accessible fonts or extensions or screen size.
The browser is not suitable for crawling public sites, but it's very suitable when delegating tasks to agents. It's like having a fleet of interns that are doing useful work on the home network. However, it's not impossible to get flagged as a bot, and users may need to debug issues with the browser.
To debug issues, users can run the browser with debugging handlers, which echo the calls that the site makes into the Javascript VM, the return values from those calls, console output, and outgoing page requests sent to their servers. This can help identify what's causing the issue and provide a way to report problems to the maintainers.
In conclusion, Rotunda is a powerful tool for agents, providing a stealthy and human-like browsing experience. While it may have some tradeoffs, it's a useful tool for automating tasks and delegating work to agents. Users can get involved with the project by checking the Issues for good getting started tickets and chiming in to help out.