Moli 无头浏览器介绍 作者:马育民 • 2026-10-15 20:14 • 阅读:10000 # 介绍 **Moli** 是 Lexmount 推出、**Rust 编写、原生自研内核**的开源无头浏览器,主打 AI Agent 网页自动化、网页抓取。**不是 Chromium 的包装壳**,核心设计理念:**结构优先,像素按需(Structure first. Pixels on demand.)** > GitHub:lexmount/moli > 官网:[https://browser.lexmount.com](https://browser.lexmount.com) > 协议:Apache-2.0 / MIT 双许可,开源可自托管;另有商业托管云服务 Lexmount Browser(独立产品) > 二进制包大小:约40MB,单文件,无额外依赖,支持 Linux / macOS / Windows # 设计思想 传统 Chrome Headless 无论是否需要截图、点击坐标,都会持续做完整布局渲染,内存开销巨大。 Moli 默认只维护 **DOM、CSSOM、JS 运行时、网络、存储**;**布局、像素渲染只在你需要截图/获取元素坐标时才临时计算,用完丢弃**。 对于大部分只需要提取文本、DOM 信息的 AI Agent 任务,可以大幅降低内存占用,官方测试内存约为 Chrome Headless 的 1/10 左右,启动速度更快,适合小规模 VPS 并发跑大量浏览器实例。 # 底层技术组件 - 主体语言:Rust(内存安全) - JS引擎:**V8**(和Chrome相同JS引擎,保证JS兼容性) - CSS引擎:Stylo(Servo项目CSS引擎) - 布局引擎:Taffy + Parley - HTML解析:html5ever - 网络栈、Cookie、存储系统自研集成 # 支持能力 1. **完整Web运行时** HTML流式解析、DOM、CSS级联、V8 JS(ES模块、定时器、微任务、事件)、iframe、Web Worker;Fetch/XHR/WebSocket;Cookie、WebCrypto;localStorage、IndexedDB、OPFS 隔离存储(按配置文件隔离) 2. **多种接入方式** - CLI命令行:直接抓取网页,输出 HTML / Markdown / JSON / 语义文本树;支持选择器、等待网络、网络追踪 - **CDP(Chrome DevTools Protocol)**:`moli serve` 启动,监听 `127.0.0.1:9222`,**Playwright、Puppeteer、Browser-use 等现有Agent框架可以直接对接,几乎不用改代码** - WebDriver Classic / WebDriver BiDi,同一内核,不需要额外驱动(chromedriver/geckodriver) 3. 自动化能力 DOM查询、表单填写、点击;按需开启布局、页面截图;等待元素、等待页面加载;网络拦截、请求修改;多会话隔离。 # 关键限制 Moli **不是 Chrome 的完全替代品**,项目文档明确边界: 1. 无GUI可视化窗口,纯无头;无GPU合成器 2. **不保证和Chrome像素级渲染一致** 3. Canvas、音视频媒体播放支持弱,高保真媒体页面会失败 4. 复杂WebGL、大量CSS动画、PDF渲染支持较差 > 建议策略:**AI文本抽取、DOM信息抓取优先使用Moli;遇到Canvas/WebGL/复杂媒体页面时,降级回Chrome Headless** # 适用场景 - AI Agent(Browser-use 这类网页智能体)作为浏览器后端 - 大规模网页抓取、网页内容提取(语义文本、JSON结构化输出) - 内存受限的VPS,并发大量浏览器实例 - 网页自动化、轻量爬虫、页面信息采集 - 强化学习网页环境,大量并发浏览器任务 - 存量Playwright/CDP项目,想替换笨重Chrome,降低服务器内存成本 # 简单上手示例 1. 下载单二进制 `moli` 2. 命令行直接抓取网页输出markdown ```bash moli fetch [https://example.com](https://example.com) --format markdown ``` 3. 启动CDP服务,供Playwright连接 ```bash moli serve ``` 然后 Playwright 连接 ws://127.0.0.1:9222,即可直接使用Moli作为浏览器后端。 # Moli vs Chrome Headless |项目|Moli|Chrome Headless| |---|---|---| |内核|Rust自研,集成V8|完整Chromium| |包体积|~40MB单文件|几百MB| |内存|低,按需布局|高,持续全量布局渲染| |CDP|支持|支持| |Canvas/WebGL|弱|完整支持| |像素渲染|按需,不保证像素对齐|像素级完整渲染| |适合|AI Agent、文本抓取、DOM提取|复杂前端、Canvas、媒体、需要精准截图自动化| # 总结 Moli 是**面向AI智能体场景的轻量无头浏览器**,最大亮点是单文件、低内存、兼容CDP,能无缝替换现有Playwright/Browser-use等Agent框架,非常适合大规模网页信息抽取。但它是**结构化优先浏览器**,复杂图形渲染场景能力不足,生产环境建议做降级兜底策略。 原文出处:/show_1GW4EWkmUzuR.html