License Apache-2.0 v0.4.0 Rust

The browser engine for agents.

Plasmate compiles HTML into a Semantic Object Model, a structured representation that LLMs can reason about directly. 50x faster than Chrome. 10x fewer tokens.

Reduced motion is enabled. Background particles are disabled.

Speed
4-5 ms/page

Chrome takes 252ms. Lightpanda takes 23ms. Plasmate takes 4.

Memory
28 MB

Chrome uses ~20GB for 100 concurrent pages. Plasmate uses 28MB.

Tokens
94% token savings

Across 98 sites. Up to 1,544x on heavy SPAs. Mean 44.9x, median 9x. See the benchmark.

Binary
45.8 MB

One file. No dependencies. 54 MB with plugins.

The DOM was built for humans

The Document Object Model represents a page as a tree of elements. It includes styling, layout, accessibility attributes, event handlers, and rendering state. All of it.

Agents don't need all of it.

The Semantic Object Model extracts what matters: structure, content, and interactive elements. It's a projection of the DOM optimized for reasoning, not rendering.

DOM

47,000 tokens

SOM

4,500 tokens

Wikipedia homepage, same page.

SOM is not lossy compression. It's a different representation for a different purpose.

7 methods. That's the protocol.

Chrome DevTools Protocol has hundreds of methods. Most exist for debugging, profiling, and human-driven inspection.

AWP has seven:

navigate snapshot click type scroll select extract

These are intents, not instructions. Plasmate handles the implementation. Your agent handles the reasoning.

If you've used Puppeteer, the API will feel familiar. The token cost will not.

CDP compatibility is included as a legacy bridge. AWP is the native protocol.

Infrastructure, not product

Plasmate is Apache 2.0 licensed. Use it, fork it, embed it, sell it.

SOM and AWP are specifications, not features. We want them implemented everywhere: in other browser engines, in agent frameworks, in production systems we'll never see.

The web has standards for documents, for styling, for scripting. It needs a standard for agents. This is that standard.

One binary. Two modes.

$ curl -fsSL https://plasmate.app/install.sh | sh
Library mode

Embed in your agent. Call the Rust API directly.

plasmate fetch <url>

Server mode

Run as a service. Connect over AWP or CDP.

plasmate serve --protocol awp

230 tests passing. 94/98 top sites covered. Actively maintained.

What's new

SPA rendering bridge with bidirectional V8/DOM sync. Network interception. TLS fingerprint tuning. Wasm plugin system. Multi-page sessions (50 concurrent). page.click(), page.type(), page.waitForSelector(). Auth profiles with encrypted storage. ~25K lines of Rust. 230 tests passing.

Performance in context

Engine Per page 100 pages Memory Binary
Plasmate 4-5 ms 405-512 ms 28 MB 45.8 MB
Lightpanda 23 ms 2,300 ms ~2.4 GB 59-111 MB
Chrome 252 ms 25,200 ms ~20 GB 300-500 MB

Local harness, 100 pages, 231KB average HTML. No caching. Methodology matches Lightpanda's published benchmarks.