<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Agents' Codex</title><link>https://agentscodex.com/tags/rotunda/</link><description>Practical, no-hype insights on AI agents — cost optimization, multi-agent architecture, and real-world operations.</description><generator>Hugo -- 0.164.0</generator><language>en-us</language><lastBuildDate>Fri, 24 Jul 2026 18:07:01 -0300</lastBuildDate><atom:link href="https://agentscodex.com/tags/rotunda/index.xml" rel="self" type="application/rss+xml"/><item><title>Rotunda and the Agent-Native Browser: Browsers Built for AI Agents</title><link>https://agentscodex.com/posts/2026-07-24-rotunda-agent-native-browser/</link><pubDate>Fri, 24 Jul 2026 06:00:00 -0300</pubDate><author>Agents' Codex</author><guid>https://agentscodex.com/posts/2026-07-24-rotunda-agent-native-browser/</guid><category>agentnativebrowser</category><category>webautomation</category><category>aiagents</category><category>rotunda</category><description>Agent-native browsers like Rotunda swap pixel-gazing for structured DOM access, cutting task time from 17 minutes to 20 seconds and token costs by 46×.</description><content:encoded><![CDATA[<p><strong>TL;DR</strong></p>
<ul>
<li>Vision agents need 53 steps and 551K tokens for tasks an API agent completes in 8 calls using 12K tokens, a 46× cost multiplier that makes pure screenshot-based automation unsustainable at scale [1].</li>
<li>Rotunda patches Firefox 150 to run Juggler (not CDP) in an isolated JS context, replacing deterministic input with an autoregressive RNN that simulates human typing, typos and curved mouse paths included [2].</li>
<li>Coasty&rsquo;s unlimited $99/month computer-use plan and Browser Use&rsquo;s 106K GitHub stars confirm the market is consolidating around agent-native infrastructure, not better vision models [4] [7].</li>
</ul>
<p>A vision agent that navigates a browser by looking at screenshots burns roughly 551,000 tokens per task. A structured API call completes the same work in 12,000 tokens [1]. That 46× gap is not a rounding error; it is a verdict. Forcing <a href="/posts/2026-07-17-ai-agent-ides-multi-agent-workspace-rebuild/">AI agents</a>
 to navigate web pages designed for human eyes is the costliest architectural mistake in <a href="/posts/2026-03-13-browser-automation-agents-openai-cua-gui-ai/">browser automation</a>
 right now. The fix is not a better vision model; it is giving agents the interface they actually need: an agent-native browser with structured access, honest hardware fingerprints, and human-like input simulation. Rotunda, a Firefox fork released in May 2026, is the clearest signal yet that this inversion is underway.</p>
<h2 id="what-changed-in-2026-that-made-agent-native-browsers-inevitable">What Changed in 2026 That Made Agent-Native Browsers Inevitable</h2>
<p>Three things converged. First, LLM inference costs dropped far enough that running an agent on your laptop became viable; Rotunda ships as a local CLI, not a cloud service [2]. Second, anti-bot detection evolved past simple fingerprint checks: Cloudflare and hCaptcha now run statistical models that flag unnatural input timing, deterministic mouse trajectories, and CDP-leaked browser flags [3]. Third, the open-source community&rsquo;s appetite for <a href="/posts/2026-06-05-agent-gateway-centralized-routing-cost-control/">agent infrastructure</a>
 exploded. Browser Use crossed 106,480 GitHub stars [7], proving that practitioners want programmable browsers, not just wrappers around Selenium.</p>
<p>The old model of spinning up a headless Chromium instance, driving it via CDP, scraping screenshots, and feeding them to a vision model was always a stopgap. It treated the browser as a black box — in 2026, that approach stopped being cheap enough to ignore its flaws.</p>
<div class="alert alert-alert">
  <p class="alert-heading">ALERT</p>
  <p>Rotunda&rsquo;s author explicitly rejects the stealth-browser approach of adding noise to canvas and audio pipelines. Instead, Rotunda inherits the host&rsquo;s real GPU and IP reputation while only permuting high-entropy controllable attributes like browser extensions, font subsets, and screen size [2]. This is not spoofing; it is selective fibbing.</p>
</div><h2 id="how-rotunda-simulates-a-real-human-behind-the-keyboard">How Rotunda Simulates a Real Human Behind the Keyboard</h2>
<p>Rotunda&rsquo;s signature feature is an autoregressive RNN trained on days of the author&rsquo;s own keyboard and mouse data [2]. Keystrokes and mouse deltas share a single quantized token stream. At inference, the model generates realistic (Δx, Δy, Δt) mouse hops with overshoots, curved trajectories, and micro-corrections. It also produces (key, Δt) typing sequences, including typos, backspaces, and natural pause variance. A structured decoding layer guaranteeing the final field value is correct regardless of how many intermediate corrections the RNN inserts.</p>
<p>Why does this matter? Anti-bot classifiers train on the difference between deterministic programmatic input and human motor noise. A Selenium script types each character at exactly 12ms intervals. A human types &ldquo;the&rdquo; in one burst, hesitates before the next word, and fat-fingers a key every few dozen strokes. Rotunda&rsquo;s RNN reproduces that variance. It does not claim to be human; it claims to be biologically plausible, which is a bar statistical detectors struggle to clear consistently.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>uvx rotunda agent --task <span style="color:#e6db74">&#34;search for flights to Tokyo&#34;</span> --profile personal
</span></span></code></pre></div><p>The CLI interface is deliberate. The author argues that bash is more composable and more familiar to LLMs than MCP&rsquo;s walled-garden JSON schemas. MCP tool descriptions bloat context windows with redundant definitions [2]. A single-line invocation carries less overhead.</p>
<div class="key-takeaway">
  <span class="key-takeaway-label">Key Takeaway</span>
  Rotunda is the first open-source browser to replace deterministic programmatic input with biologically plausible human-like interaction. It does not spoof a fingerprint; it produces one that looks real because the underlying generation process is stochastic.
</div>

<h2 id="why-firefox-and-juggler-instead-of-chromium-and-cdp">Why Firefox and Juggler Instead of Chromium and CDP</h2>
<p>Most browser automation tools route commands through the Chrome DevTools Protocol (CDP). Playwright, Puppeteer, and Selenium with ChromeDriver all depend on it. But CDP leaks state into the page context: the navigator.webdriver flag gets set, and window.chrome injects objects that client-side detection scripts can probe. In the author&rsquo;s own words, &ldquo;CDP simply leaks too much state&rdquo; for anti-detection purposes [2].</p>
<p>Rotunda patches Firefox 150 and uses Juggler, Firefox&rsquo;s automation API that predates CDP. Juggler runs in a fully isolated JavaScript context [2]. No navigator.webdriver. No window.chrome. No protocol-level signals that a remote controller is attached. The trade-off: Rotunda forks Firefox aggressively; v0.3.5 shipped July 21, 2026 under MPL-2.0, so it must track upstream Firefox releases to stay current [9].</p>
<table>
	<thead>
			<tr>
					<th>Property</th>
					<th>Chromium + CDP</th>
					<th>Firefox + Juggler (Rotunda)</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>navigator.webdriver</td>
					<td>Set to true</td>
					<td>Not set</td>
			</tr>
			<tr>
					<td>window.chrome injection</td>
					<td>Present, detectable</td>
					<td>Not injected</td>
			</tr>
			<tr>
					<td>Automation API context</td>
					<td>Shared with page JS</td>
					<td>Fully isolated</td>
			</tr>
			<tr>
					<td>Canvas/WebGL fingerprint</td>
					<td>Emulated (detectable)</td>
					<td>Inherits real GPU</td>
			</tr>
			<tr>
					<td>IP reputation</td>
					<td>Datacenter (flagged)</td>
					<td>Home IP (clean)</td>
			</tr>
	</tbody>
</table>
<p>The local-first execution model provides another advantage: Rotunda runs on your machine with your GPU and your home IP reputation. Cloud-hosted stealth browsers must spoof these signals because they actually run in datacenters with recognizable IP ranges. Rotunda inherits the host&rsquo;s genuine hardware fingerprint; it only permutes the software attributes that users normally configure anyway [2].</p>
<h2 id="vision-agents-burn-46-more-tokens-than-structured-apis">Vision Agents Burn 46× More Tokens Than Structured APIs</h2>
<p>In April 2026, Reflex.dev published a head-to-head comparison on an internal admin-panel task. A vision agent using the browser-use/computer-use pattern required a mean of 53 steps (±13), consumed approximately 551,000 tokens (±179,000), and took roughly 17 minutes (1,003s ± 254s). It also failed on an abstract task variant without a 14-step UI walkthrough [1]. An API agent using structured calls against the tool&rsquo;s internal endpoints completed the identical task in a mean of 8 calls (±0), using 12,000 tokens (±27), in 19.7 seconds (±2.8s) [1].</p>
<p>Based on mean values from the source, the gap comes to roughly 46× more tokens and 51× more time [1]. But the subtler finding is about failure modes. The vision agent&rsquo;s reliability varied widely: wall-clock time ranged from 853s to 1,296s, and token consumption ranged from 407,000 to 751,000. The API agent&rsquo;s reliability clustered tightly because the structured endpoint always returns the same JSON schema [1]. The HN discussion drew little direct engagement but confirmed practitioner sentiment that per-token economics make screenshot-based agents unsustainable [10].</p>
<pre class="mermaid">graph LR
  A[Task] --> B[Vision Agent]
  A --> C[API Agent]
  B --> D[53 steps<br/>551K tokens<br/>~17 min]
  C --> E[8 calls<br/>12K tokens<br/>~19.7 sec]</pre><p>This is not a theoretical problem.</p>
<p>The practical implication: if a workflow runs more than a few times, codifying it into an API call pays back the token savings immediately. Three vision-agent runs on this task would cost approximately 1.65 million tokens. Three API-agent runs: 36,000 tokens. The gap widens linearly with repetition [1].</p>
<h2 id="fingerprint-fibbing-the-anti-detection-strategy-that-actually-works">Fingerprint Fibbing: The Anti-Detection Strategy That Actually Works</h2>
<p>Anti-detection is an arms race, and the weapon of choice matters.</p>
<p>There is a philosophical split in the anti-detection community. Stealth browsers try to spoof everything — they add noise to canvas renderings, lie about GPU specs, fake audio driver fingerprints, and route through residential proxies. A deep-pocketed detector like Cloudflare can model the joint distribution of thousands of fingerprint signals and flag machines whose composite fingerprint sits in an empty region of the statistical space [2].</p>
<p>Rotunda takes the opposite approach. It inherits the host&rsquo;s real GPU, real IP address, real audio stack, and real canvas rendering pipeline. It only permutes high-entropy attributes that humans routinely change: installed browser extensions, system font subsets, screen dimensions, and timezone. These are features a legitimate user modifies organically, so permuting them does not produce a statistical anomaly. The author calls this &ldquo;fingerprint fibbing&rdquo; and contrasts it with &ldquo;fingerprint forgery,&rdquo; which fabricates a complete synthetic identity [2].</p>
<div class="alert alert-alert">
  <p class="alert-heading">ALERT</p>
  <p>Run Rotunda on your own machine with your own IP, and you are presenting a fingerprint built on genuine hardware. The detector sees only that your font list or extension set differs slightly from yesterday. That is exactly what happens when a real user installs a new plugin. That is a harder signal to classify than a datacenter IP with a spoofed consumer GPU string.</p>
</div><h2 id="coasty-bets-99month-unlimited-on-structured-computer-use-apis">Coasty Bets $99/Month Unlimited on Structured Computer-Use APIs</h2>
<p>Coasty entered the market with a pricing model designed to make pure vision agents look extravagant; its /v1/predict API is priced at $0.05 base per prediction, with published surcharges [6]. The Unlimited plan runs $99 per month flat with two machines, ten schedules, and five concurrent agents [6]. For comparison, Devin Team costs $500 per seat plus usage fees, OpenAI Operator is $200 with rate limits, and Genspark Pro caps credits at $249. All are substantially pricier than a flat-rate computer-use subscription.</p>
<p>Behind the pricing is a structured-output architecture. Instead of returning screenshots for a vision model to parse, Coasty&rsquo;s predict endpoint returns structured JSON representations of UI elements. This eliminates the vision-reasoning loop for tasks representable as DOM queries and action plans [5]. Coasty publishes its OpenAPI 3.1 schema, ships a 26-tool MCP server, offers free sandbox keys, and integrates 1,000+ OAuth-secured native apps callable in every chat [5].</p>
<p>The company claims an 85.60% OSWorld benchmark score [5]. Independent third-party verification was not available at research time; treat it as vendor-reported. But the pricing alone signals the market direction: a flat $99/month buying unlimited structured computer-use makes per-token vision agents uneconomic for any team running more than a handful of daily tasks.</p>
<table>
	<thead>
			<tr>
					<th>Product</th>
					<th>Pricing Model</th>
					<th>Monthly Floor</th>
					<th>Key Limitation</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Coasty Unlimited</td>
					<td>$99/month flat</td>
					<td>$99</td>
					<td>2 machines, 5 concurrent agents</td>
			</tr>
			<tr>
					<td>Devin Team</td>
					<td>Per-seat + usage</td>
					<td>$500 + ACU</td>
					<td>Enterprise-scale pricing</td>
			</tr>
			<tr>
					<td>OpenAI Operator</td>
					<td>Rate-limited subscription</td>
					<td>$200</td>
					<td>Rate limits, no unlimited tier</td>
			</tr>
			<tr>
					<td>Genspark Pro</td>
					<td>Credit-capped</td>
					<td>$249</td>
					<td>Credit cap, overage costs</td>
			</tr>
	</tbody>
</table>
<h2 id="browser-use-the-open-source-giant-with-106k-stars">Browser Use: The Open-Source Giant with 106K Stars</h2>
<p>Browser Use is the dominant open-source player with 106,480 GitHub stars and Fortune 500 adoption [7]. Its cloud offering provides stealth browsers at $0.02 per hour and fully hosted web agents at $0.006 per step [8]. The project&rsquo;s community weight makes it the default answer for teams asking what to use for web automation.</p>
<p>The broader ecosystem is expanding rapidly, but it fragments along the same fault line that Rotunda exposes: tools that treat the browser as a pixel grid versus tools that treat it as programmable infrastructure. Browser Use sits somewhere in between; its open-source library gives developers structured access to the DOM and page state. Its cloud offering falls back to stealth browsers and screenshot-based interaction when structured access is not enough. This hybrid approach explains much of its traction.</p>
<figure>
    <img loading="lazy" src="/images/posts/2026-07-24-rotunda-agent-native-browser/image-1.jpg"
         alt="Translucent orange capsule with internal wire network symbolizing agent-native browser architecture"/> <figcaption>
            <p>A translucent orange shell-like capsule with an intricate internal filament network, representing agent-native browser architecture</p>
        </figcaption>
</figure>

<h2 id="local-first-vs-cloud-first-where-should-your-agents-browser-live">Local-First vs. Cloud-First: Where Should Your Agent&rsquo;s Browser Live</h2>
<p>Rotunda is aggressively local. It runs on your device, inherits your home IP, and uses your GPU&rsquo;s real WebGL fingerprint. Browser Use Cloud offers the opposite: browsers in datacenters with residential proxy pools and CAPTCHA-solving services. Which you choose depends on what you are optimizing for.</p>
<p>Rotunda&rsquo;s local model wins on detection evasion: no datacenter IP ranges, no spoofed hardware signals, no statistical anomalies for Cloudflare to latch onto. But it scales poorly. You get one browser per machine, and the human-like input simulation means tasks take human-scale time. That is by design: the author optimized for &ldquo;good bots&rdquo; like personal account automation, form filling, and authenticated sessions, and made the browser structurally poor for ticket scalping or high-volume abuse [2].</p>
<p>Cloud browsers win on throughput and simplicity. You run dozens of browser instances in parallel with sub-second cold starts. But the trade-off is detection surface: datacenter IPs are flagged by default, and every spoofed fingerprint signal bets against a detector that updates its model faster than you patch your spoofing layer. For sensitive tasks such as bank logins, government portals, and payment flows, Rotunda&rsquo;s honest-hardware approach may be the only viable option [2].</p>
<pre class="mermaid">graph TD
  A[Rotunda: Local-First] --> B[Low Detection Risk]
  A --> C[High Deployment Complexity]
  D[Coasty: Structured API] --> E[Medium Detection Risk]
  D --> F[Low Deployment Complexity]
  G[Browser Use: Cloud] --> H[High Detection Risk]
  G --> I[Medium Deployment Complexity]</pre><h2 id="practical-takeaways">Practical Takeaways</h2>
<ol>
<li>Evaluate whether your automation task can work with structured APIs before reaching for a vision agent. The Reflex benchmark shows a 46× token gap that compounds with every run [1].</li>
<li>If anti-detection is critical for authenticated sessions, payment flows, or government portals, prefer a local-first browser like Rotunda that inherits real hardware fingerprints over a cloud browser that must spoof them.</li>
<li>For high-throughput scraping and data extraction, Browser Use Cloud at $0.02/hour provides the parallelism you need; just budget for CAPTCHA-solving and proxy costs.</li>
<li>Watch Coasty&rsquo;s $99/month unlimited pricing as a signal: if structured computer-use settles at a flat monthly rate, per-token screenshot-based agents become unsustainable for teams running more than a handful of daily workflows.</li>
<li>Avoid Chromium-based automation for tasks where detection matters. CDP leaks navigator.webdriver flags and window.chrome objects into the page context that modern anti-bot classifiers check first.</li>
</ol>
<h2 id="conclusion">Conclusion</h2>
<p>The browser automation stack is splitting into two lanes. One lane keeps treating browsers as black boxes that agents must squint at, burning tokens to interpret pixels meant for human eyes. The other lane treats the browser as programmable infrastructure with structured access, honest fingerprints, and biologically plausible input simulation. The lingering unknown: if monthly subscriptions displace per-token pricing for web task execution, does screenshot-driven orchestration shrink to a specialist corner? We will know the answer within a year.</p>
<h2 id="frequently-asked-questions">Frequently Asked Questions</h2>
<h3 id="does-rotunda-work-with-playwright-scripts-written-for-chromium">Does Rotunda work with Playwright scripts written for Chromium?</h3>
<p>Rotunda provides a Playwright-compatible API. Scripts that depend on Chromium CDP features need adjustment; see the CDP-vs-Juggler comparison table above for specifics.</p>
<h3 id="how-does-rotundas-rnn-input-simulation-compare-to-simple-randomized-delays-in-selenium-scripts">How does Rotunda&rsquo;s RNN input simulation compare to simple randomized delays in Selenium scripts?</h3>
<p>Randomized delays are trivially detectable: anti-bot classifiers look for timing distributions, not just delay values. An RNN trained on real human input data produces biologically plausible inter-key intervals, curved mouse trajectories with overshoots, and realistic typo-and-correct patterns that randomized scripts cannot replicate. The difference is between adding noise from a uniform distribution and generating from a learned model of human motor behavior. That is a much harder signal to flag.</p>
<h3 id="when-should-i-use-vision-agents-instead-of-structured-apis">When should I use vision agents instead of structured APIs?</h3>
<p>Vision agents still make sense when the target website has no structured API and its DOM changes too frequently for maintainable selectors. Think one-off research on unfamiliar sites. For anything running more than a few times, the economics tilt decisively toward structured APIs.</p>
<h3 id="can-coasty-handle-tasks-that-require-logging-into-authenticated-services">Can Coasty handle tasks that require logging into authenticated services?</h3>
<p>Yes. Coasty integrates 1,000+ OAuth-secured native apps including Gmail, Slack, Notion, Salesforce, and HubSpot [5]. For services without OAuth support, its structured-output approach can navigate login flows, though reliability depends on the specific service&rsquo;s anti-bot posture.</p>
<h3 id="what-is-the-biggest-risk-of-building-on-agent-native-browser-infrastructure-today">What is the biggest risk of building on agent-native browser infrastructure today?</h3>
<p>The field is very young. Rotunda v0.3.5 shipped in July 2026 and must track upstream Firefox releases closely; the MPL-2.0 license provides code freedom, but maintaining a forked browser takes real work. Coasty&rsquo;s benchmark claims are vendor-reported; no third-party OSWorld leaderboard confirmation is public yet. The anti-detection arms race means today&rsquo;s fingerprint fibbing strategy may need to evolve as detectors improve. We do not yet have clean production data on how this approach ages against daily detector model updates.</p>
<hr>
<h2 id="sources">Sources</h2>
<table>
	<thead>
			<tr>
					<th>#</th>
					<th>Publisher</th>
					<th>Title</th>
					<th>URL</th>
					<th>Date</th>
					<th>Type</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>1</td>
					<td>Reflex.dev</td>
					<td>&ldquo;Vision agents vs. structured APIs on the same internal tool task&rdquo;</td>
					<td><a href="https://reflex.dev/blog/vision-agents-vs-api-calls/" target="_blank">https://reflex.dev/blog/vision-agents-vs-api-calls/</a>
</td>
					<td>2026-04-30</td>
					<td>Blog</td>
			</tr>
			<tr>
					<td>2</td>
					<td>Pierce Freeman</td>
					<td>&ldquo;A browser for agents&rdquo;</td>
					<td><a href="https://pierce.dev/notes/a-browser-for-agents" target="_blank">https://pierce.dev/notes/a-browser-for-agents</a>
</td>
					<td>2026-05-11</td>
					<td>Blog</td>
			</tr>
			<tr>
					<td>3</td>
					<td>Rotunda</td>
					<td>&ldquo;Rotunda.sh Landing Page&rdquo;</td>
					<td><a href="https://www.rotunda.sh/" target="_blank">https://www.rotunda.sh/</a>
</td>
					<td>2026-07-24</td>
					<td>Documentation</td>
			</tr>
			<tr>
					<td>4</td>
					<td>Coasty</td>
					<td>&ldquo;Coasty Homepage&rdquo;</td>
					<td><a href="https://coasty.ai/" target="_blank">https://coasty.ai/</a>
</td>
					<td>2026-07-24</td>
					<td>Documentation</td>
			</tr>
			<tr>
					<td>5</td>
					<td>Coasty</td>
					<td>&ldquo;Coasty Docs&rdquo;</td>
					<td><a href="https://coasty.ai/docs" target="_blank">https://coasty.ai/docs</a>
</td>
					<td>2026-07-24</td>
					<td>Documentation</td>
			</tr>
			<tr>
					<td>6</td>
					<td>Coasty</td>
					<td>&ldquo;Coasty Pricing Page&rdquo;</td>
					<td><a href="https://coasty.ai/pricing" target="_blank">https://coasty.ai/pricing</a>
</td>
					<td>2026-07-24</td>
					<td>Documentation</td>
			</tr>
			<tr>
					<td>7</td>
					<td>GitHub / browser-use</td>
					<td>&ldquo;Browser Use GitHub&rdquo;</td>
					<td><a href="https://github.com/browser-use/browser-use" target="_blank">https://github.com/browser-use/browser-use</a>
</td>
					<td>2026-07-24</td>
					<td>Documentation</td>
			</tr>
			<tr>
					<td>8</td>
					<td>Browser Use</td>
					<td>&ldquo;Browser Use Homepage&rdquo;</td>
					<td><a href="https://browser-use.com/" target="_blank">https://browser-use.com/</a>
</td>
					<td>2026-07-24</td>
					<td>Documentation</td>
			</tr>
			<tr>
					<td>9</td>
					<td>GitHub / monkeysee-ai</td>
					<td>&ldquo;Rotunda GitHub Repository&rdquo;</td>
					<td><a href="https://github.com/monkeysee-ai/rotunda" target="_blank">https://github.com/monkeysee-ai/rotunda</a>
</td>
					<td>2026-07-21</td>
					<td>Documentation</td>
			</tr>
			<tr>
					<td>10</td>
					<td>Hacker News</td>
					<td>&ldquo;HN Discussion: Vision agents vs. structured APIs on the same internal tool task&rdquo;</td>
					<td><a href="https://news.ycombinator.com/item?id=47965066" target="_blank">https://news.ycombinator.com/item?id=47965066</a>
</td>
					<td>2026-04-30</td>
					<td>News</td>
			</tr>
	</tbody>
</table>
]]></content:encoded><media:content url="https://agentscodex.com/images/covers/2026-07-24-rotunda-agent-native-browser/cover.jpg" medium="image"/><media:thumbnail url="https://agentscodex.com/images/covers/2026-07-24-rotunda-agent-native-browser/cover.jpg"/></item></channel></rss>