Moli is an open-source headless browser launched by Lexmount, positioned as a production-grade headless browser for AI agents, focusing on being lightweight, fast, and highly compatible. It is built with Rust and adopts an on-demand layout and rendering design, combining a complete browser runtime with a lightweight resource footprint. Moli helps AI agents retrieve and extract web pages, search the web, and automate browser tasks. It supports being driven via CLI, CDP, WebDriver Classic, or WebDriver BiDi, and can run on Linux, macOS, and Windows.
In terms of use cases, Moli targets AI agent workloads and can be used for web scraping, browser-using agents, retrieval pipelines, evaluation environments, and reinforcement learning, among other scenarios. It emphasizes that what most browser automation tasks truly need is page structure, not a continuously rendered visual world, so it treats the native DOM and style state as the single source of truth, triggering layout or software painting only when truly needed.
Key capabilities include: a complete web runtime, supporting streaming HTML parsing, native DOM, V8 JavaScript, modules/timers/microtasks/events, iframes and workers, CSS cascade, Fetch/XHR/WebSocket, cookies, WebCrypto, and per-profile isolated storage (localStorage, IndexedDB, OPFS); extraction-oriented output, where the CLI can directly generate HTML, Markdown, JSON, semantic text trees, and frame-aware serialization, and supports selector/script/response waiting and network tracing; a unified automation binary, where CDP, WebDriver Classic, and WebDriver BiDi share the same core and scheduler, with no need to separately install ChromeDriver, geckodriver, or a browser; on-demand real visual capabilities, where adding --layout enables full box construction, Taffy layout, Parley text layout, layout-based hit testing/input, viewport screenshots, and DevTools screenshot frames with low-frequency CPU rendering; controllable operation options, including profiles, cookies, HTTP cache, proxies, resource families, connection limits, timeouts, private network policies, user agent overrides, diagnostic logs, and network diagnostics.
In terms of usage, it can be used directly via the CLI, for example rendering a page as Markdown, or directly returning a compact, model-friendly semantic tree; if visual output is needed, on-demand layout can be enabled and written to a viewport PNG, full-document PNG, or paginated PDF. To export a page after explicit interaction, --eval (or --eval-file) can be combined with --dump; the expression runs after the page is ready, waits for promises, and follows any pending navigation before export. An automation server can also be started, with the same endpoint serving the three protocols CDP, WebDriver Classic, and WebDriver BiDi, and Playwright can connect directly via CDP.
In terms of limitations, Moli currently intentionally does not include a GUI browser, persistent windows, a GPU compositor, or a retained multi-frame painting architecture; it does not pursue pixel-level consistency with Chrome, nor does it provide high-fidelity Canvas/WebGL/media playback. --layout supports software screenshots and native CDP/CLI PDF with embedded fonts, but not all Chrome screenshot or print modes are implemented. Unsupported protocol paths return explicit errors, and Moli will not pretend that a certain browser operation, event, network observation, or visual result has occurred. Moli is an independent browser core, not a Chromium wrapper, and depends on components such as libcurl, html5ever, rusty_v8/V8, Servo/Stylo, Taffy + Parley, and AnyRender/Vello CPU. Unless otherwise stated, it may be used under the Apache License 2.0 or the MIT License. Lexmount Browser is a hosted cloud runtime and control plane built around Moli; the open-source headless browser can be used fully without Lexmount Browser.