Moli treats browser layout as a disposable snapshot for AI agents
My reading of the moli README is that its central bet concerns when a browser does visual work. It ships a full rendering stack, yet by default it runs no real layout or paint at all. Geometry comes back mocked unless you pass --layout , and even with that flag on, layout is a snapshot the browser builds, freezes, and holds only until the next rebuild. If your agent reads pages instead of looking…
Moli, a browser kernel developed by Lexmount, operates on the principle of treating browser layout as a disposable snapshot for AI agents. Instead of rendering visual content continuously, Moli only builds and freezes a layout tree when necessary, such as when an agent reads a page or clicks on elements. The browser stack includes libcurl for network transport, html5ever for HTML parsing, V8 for JavaScript, Servo/Stylo for selectors and cascade, Taffy and Parley for layout, and AnyRender/Vello with usvg for software rendering.
By default, Moli's request table directly accesses runtime state without triggering layout or paint. The LayoutPolicy::Mock default offers deterministic geometry without actual layout or paint, while LayoutPolicy::OnDemand enables real layout calculations only for specific operations like querying element boxes or sending coordinate input.
Screenshot capturing rebuilds the frozen tree and renders a fresh frame, discarding paint state afterward. The architecture discards the working tree, layout caches, and paint state after each refresh to maintain efficiency. Moli serves CDP, WebDriver Classic, and WebDriver BiDi protocols through a single endpoint, eliminating the need for separate browser installations.
The tool offers various dump targets, including Markdown, semantic tree, and screenshots. Benchmarking shows Moli's performance closely matching Chrome Headless in terms of median time and success rate, with lower memory usage and faster CDP ready times. Moli is suitable for crawling, browser-use agents, retrieval pipelines, evaluation environments, and reinforcement-learning workloads that don't rely heavily on screenshots.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.