Moli 是 Lexmount 推出的开源无头浏览器,定位为面向 AI 智能体的生产级无头浏览器,主打轻量、快速和高兼容性。它使用 Rust 构建,采用按需布局和渲染设计,将完整的浏览器运行时与轻量资源占用结合起来。Moli 可帮助 AI 智能体获取和提取网页、搜索网络以及自动化浏览器任务,支持通过 CLI、CDP、WebDriver Classic 或 WebDriver BiDi 驱动,并可在 Linux、macOS 和 Windows 上运行。
用途方面,Moli 面向 AI 智能体工作负载,可用于网页抓取、浏览器使用智能体、检索管线、评估环境和强化学习等场景。它强调大多数浏览器自动化任务真正需要的是页面结构,而非持续渲染的可视世界,因此将原生 DOM 和样式状态作为唯一事实来源,仅在真正需要时触发布局或软件绘制。
主要能力包括:完整 Web 运行时,支持流式 HTML 解析、原生 DOM、V8 JavaScript、模块/定时器/微任务/事件、iframe 和 worker、CSS 级联、Fetch/XHR/WebSocket、cookie、WebCrypto 以及按配置文件隔离的存储(localStorage、IndexedDB、OPFS);面向提取的输出,CLI 可直接生成 HTML、Markdown、JSON、语义文本树和帧感知序列化,并支持选择器/脚本/响应等待和网络追踪;统一的自动化二进制,CDP、WebDriver Classic 和 WebDriver BiDi 共享同一内核和调度器,无需单独安装 ChromeDriver、geckodriver 或浏览器;按需的真实视觉能力,添加 --layout 可启用完整盒构建、Taffy 布局、Parley 文本布局、基于布局的命中测试/输入、视口截图和低频 CPU 渲染的 DevTools 截图帧;可控操作选项,包括配置文件、cookie、HTTP 缓存、代理、资源族、连接限制、超时、私有网络策略、用户代理覆盖、诊断日志和网络诊断。
使用方式方面,可通过 CLI 直接使用,例如将页面渲染为 Markdown,或直接返回紧凑的、模型友好的语义树;如需视觉输出,可启用按需布局并写入视口 PNG、全文档 PNG 或分页 PDF。要导出显式交互后的页面,可将 --eval(或 --eval-file)与 --dump 结合使用,表达式在页面就绪后运行,会等待 promise,并在导出前跟随任何待处理的导航。也可启动自动化服务器,同一端点服务于 CDP、WebDriver Classic 和 WebDriver BiDi 三种协议,Playwright 可直接通过 CDP 连接。
限制方面,Moli 当前有意不包含 GUI 浏览器、持久窗口、GPU 合成器或保留多帧绘制架构;不追求与 Chrome 的像素级一致,也不提供高保真 Canvas/WebGL/媒体播放。--layout 支持软件截图和带嵌入字体的原生 CDP/CLI PDF,但并非所有 Chrome 截图或打印模式都已实现。不支持的协议路径会返回明确错误,Moli 不会假装某个浏览器操作、事件、网络观察或视觉结果已经发生。Moli 是独立浏览器内核,而非 Chromium 封装,依赖 libcurl、html5ever、rusty_v8/V8、Servo/Stylo、Taffy + Parley 以及 AnyRender/Vello CPU 等组件。除另有说明外,可按 Apache License 2.0 或 MIT License 使用。Lexmount Browser 是围绕 Moli 构建的托管云运行时和控制平面,开源无头浏览器无需 Lexmount Browser 即可完全使用。