Moli Browser:为 Agent 按需排版的 Rust 无头浏览器
Moli Browser 用 Rust 为 AI Agent 提供网页读取与自动化,默认访问 DOM,需要坐标或截图时才执行真实排版,并支持三种标准自动化协议。
项目资料
GitHub Ecosystem- 许可证
- Apache-2.0
- 主语言
- Rust
- 星标
- 23,067
- 核查时间
- 2026-11-09
以上快照资料以核查当日为准,可能随版本或运营策略变化。
做网页抓取和 Agent 浏览器任务时,很多请求只需要 DOM、文本或 JavaScript 结果,并不需要每次都把整页布局、绘制成像素。Moli Browser 是 Lexmount 开源的 Rust 无头浏览器:默认从浏览器运行时读取结构,遇到坐标、截图或 screencast 请求时才按需生成布局与画面。它支持 Linux、macOS、Windows,CLI、CDP、WebDriver Classic 和 WebDriver BiDi 都由同一个浏览器内核提供。

Moli 的展示图呈现了一个关键边界:它能按需进行软件渲染并让 DevTools 检查页面,但定位仍是无头 Agent 浏览器,而不是供人持续操作的桌面浏览器。
核心功能
- DOM 优先读取:
moli fetch --dump markdown、HTML、JSON 和语义树输出可以直接读取 DOM、运行 JavaScript、检查网络与存储;这些操作默认不触发真实排版和绘制。 - 按需生成几何与像素:加上
--layout后,Moli 才构建真实布局,用于元素几何、命中测试、坐标输入、截图和 screencast。每次截图都会从当前 DOM 与样式重新生成画面,不维护常驻 GPU 合成器或窗口。 - 一套内核接三种自动化协议:
moli serve同时提供 CDP、WebDriver Classic 与 WebDriver BiDi;README 还给出 Playwright 通过 CDP 连接的示例,不需要另装 ChromeDriver 或 GeckoDriver。 - 独立浏览器运行时:项目不是 Chromium 封装,使用 Rust 组件组合 HTML 解析、V8 JavaScript、Servo/Stylo 样式、Taffy 与 Parley 布局,以及 CPU 软件绘制。
- 跨平台及网络选项:支持 Linux、macOS、Windows;配置项包括 profile、cookie、HTTP cache、proxy、超时和私有网络策略。页面读取时也可以选择开启图像、字体、音频、视频等资源族。
性能数据
项目 README 报告了两类基准。混合网页抓取测试含 192 个中英文公开网址,只有拿到 JavaScript 执行后的有效内容才算成功;Lexbench 则比较标准自动化任务。两者测试对象和指标不同,不能合并成一个笼统的「比 Chrome 快」结论。
| 项目方测试 | Moli | 对照 |
|---|---|---|
| 192 站点有效页面数 | 103 / 192(53.6%) | Chrome Headless 101(52.6%);Lightpanda 85(44.3%) |
| 混合抓取中位 RSS | 73 MiB | Chrome Headless 773 MiB;Lightpanda 40 MiB |
| Lexbench 可比任务通过率 | 81.88%(1,071 / 1,308) | Chrome 99.85%;Lightpanda 53.29% |
| 示例 Agent 工作负载峰值 PSS | 102.46 MiB | Chromium 348.82 MiB |
以上是项目 README 所列测试结果;Lexbench 的详细方法与条件见其 五引擎报告,其中 81.88% 对应 Moli 0.1.1 的 2026-08-13 评测。不同测试集合和版本的结果显示 Moli 在选定任务上的资源与兼容性折中,不等于任意网站或自动化脚本都能得到相同结果。
典型使用场景
- 知识库抓取与检索:批量读取网页正文、抽取 Markdown 或语义树,减少为纯文本任务持续维持完整画面所需的资源。
- 浏览器 Agent 与自动化框架:需要 CDP、WebDriver BiDi 或 Playwright 接口,同时希望同一进程兼顾结构查询与可选截图的工程团队。
- 自建评测环境:在 Linux、macOS 或 Windows 上启动本地无头浏览器,运行网页操作任务并按需启用真实布局。
快速上手
Linux 或 macOS 安装命令来自项目 README:
curl --proto '=https' --tlsv1.2 -fsSL \
https://github.com/lexmount/moli/releases/latest/download/moli-installer.sh | sh
moli fetch \
--dump markdown \
--wait-until done \
https://example.com
需要截图时添加 --layout --dump screenshot;启动自动化服务则运行 moli serve,并可用 moli serve --layout 开启真实几何和截图能力。Windows 安装器和其余参数见 官方仓库。
Moli 的按需排版流程是「保留浏览器完整能力,但把真实布局与绘制延后到请求发生时」:图示中的工作树在读取画面后会释放,便于理解它与常驻渲染树的区别。
小结
Moli Browser 适合要在自建 Agent 或抓取流水线里运行轻量无头浏览器、且大多数操作以 DOM 为主的开发者。它支持标准自动化协议,也能在需要时生成截图;但它没有 GUI 窗口、GPU 合成器或持续保留的多帧绘制状态,项目也不追求 Canvas、WebGL、媒体播放与 Chrome 像素级兼容。Apache-2.0(README 同时允许选择 MIT),Rust 编写。项目方的基准可以帮助筛选目标任务,实际部署前仍应拿自己的站点和脚本验证;如需登录态共享和可见的人工接管,可对照本站的 ego lite,面向页面读取与提取的方案也可看 Lightpanda。