Coding

Show HN: Rotunda - A browser built for agents with simulated typing

"Simulated Typing Takes Center Stage: A Firefox fork, Rotunda, is redefining browser interactions for agents, sidestepping expensive computer use models by leveraging structured web formats and plaintext, and cleverly bypassing Chrome's automation protocol to create a stealthy, agent-controlled browsing experience."

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.

Similar Articles

More articles like this

Coding 1 min

The Other Half of AI Safety

A long-overlooked vulnerability in AI safety protocols is being exposed by a growing number of edge cases, where seemingly innocuous model updates can have catastrophic consequences, highlighting the need for more robust "backdoor" detection and mitigation strategies in large language models. Specifically, researchers have identified a class of "adversarial perturbations" that can be injected into model weights, compromising downstream applications. This "other half" of AI safety is now a pressing concern.

Coding 1 min

Tell HN: Dont use Claude Design, lost access to my projects after unsubscribing

"Subscription limbo: A user's experience with Claude Design's abrupt access revocation after downgrading from a paid plan, raising questions about the implications of complex contractual agreements on user data ownership and access rights in large language model ecosystems."

Coding 1 min

Medicare's new payment model is built for AI. Most of the tech world has no idea

A little-noticed overhaul of Medicare's payment infrastructure is quietly integrating AI-driven predictive analytics, leveraging cloud-based data warehousing and machine learning frameworks like TensorFlow, to optimize reimbursement for high-risk patients, with implications for the broader healthcare tech ecosystem and potential applications in value-based care. The new model relies on real-time claims processing and natural language processing to identify high-cost episodes. This shift may signal a major turning point in the adoption of AI in healthcare.

Coding 1 min

Meta won't let you block its AI account on Threads

Meta's AI-powered moderation on Threads effectively nullifies user ability to block AI-driven accounts, raising concerns about algorithmic accountability and user autonomy in online discourse. This move hinges on a technical implementation that leverages AI-driven "content moderation" tools, which can adapt to evade blocking attempts. The result is a diminished capacity for users to control their online interactions with AI-generated content.

Coding 1 min

Rars: a Rust RAR implementation, mostly written by LLMs

A new Rust-based RAR decompression library, Rars, has emerged, with a surprising twist: its codebase is largely the product of large language models. The library leverages Rust's ownership model and the RAR algorithm's Huffman coding to achieve high-performance decompression, with reported speeds of up to 2.5 GB/s on a single thread. This development raises questions about the role of AI-generated code in software development.

Coding 2 min

Kubernetes v1.36: Advancing Workload-Aware Scheduling

Kubernetes v1.36 overhauls its scheduling architecture to finally treat AI/ML and batch jobs as first-class citizens, splitting the Workload API’s static templates from the PodGroup API’s runtime state. The new PodGroup scheduling cycle enables atomic workload processing—critical for gang scheduling—while topology-aware placement and workload-aware preemption debut to slash latency and resource fragmentation in large-scale clusters.