2026年10月8日
Moli:给 AI 智能体一台“结构优先”的无头浏览器
AI 智能体要读网页、跑自动化,通常需要一套完整浏览器;但很多任务只取 DOM 或文本,并不需要持续渲染屏幕。Moli 是面向智能体的开源无头浏览器,采用按需布局与绘制:默认从浏览器运行时读取结构,需要坐标、截图等视觉能力时再计算。近期项目仍在快速更新,适合做网页抓取、浏览器 A
AI 智能体要读网页、跑自动化,通常需要一套完整浏览器;但很多任务只取 DOM 或文本,并不需要持续渲染屏幕。Moli 是面向智能体的开源无头浏览器,采用按需布局与绘制:默认从浏览器运行时读取结构,需要坐标、截图等视觉能力时再计算。近期项目仍在快速更新,适合做网页抓取、浏览器 Agent 或检索评测的开发者了解。
📌 这个项目是干什么的
- 定位:提供真实 JavaScript、DOM、CSS、网络与存储能力的浏览器运行时,可用于页面提取和浏览器自动化。
- 接入方式:命令行、Chrome DevTools Protocol(CDP)、WebDriver Classic、WebDriver BiDi;也可让 Playwright 通过 CDP 连接。
- 运行平台:Linux、macOS、Windows;可独立使用,不依赖其关联的托管服务。
- 许可证:可选 MIT 或 Apache 2.0(部分第三方组件另有许可)。截至 2026-10-08,最新 Release 为 v1.1.15,发布于 10 月 7 日。
🔍 为什么值得关注
- 把“读结构”和“看像素”分开。 默认提取 HTML/Markdown、查 DOM 或执行脚本时不触发布局和绘制;需要元素几何信息、坐标操作或截图时,再通过
--layout开启真实布局。对大量以读取页面为主的 Agent 工作负载,这种设计值得借鉴:不要为并不需要的视觉结果付出持续计算。 - 不是只会抓静态 HTML。 项目内置 JavaScript、DOM、CSS、网络和存储等浏览器能力,并提供标准自动化协议。对于依赖脚本渲染的页面,可以直接用浏览器运行时处理,再按任务选择 Markdown、语义树或截图等输出。
- 可以嵌入现有工具链。 除 CLI 外,同一服务端点支持多种协议;已有 Playwright 流程可按官方示例尝试 CDP 连接,不必先重写整套自动化代码。
🧪 谁适合试,怎么开始
- 适合开发网页抓取、浏览器 Agent、检索流水线或自动化评测的工程师,尤其是希望对比浏览器资源开销的人。
- Linux/macOS 可先按官方安装器安装,再运行:
moli fetch --dump markdown --wait-until done https://example.com。想看视觉结果可试moli fetch --layout --dump screenshot https://example.com > page.png。 - 若已有 Playwright 项目,可先按 README 的 CDP 示例连接
http://127.0.0.1:9222,用一个简单页面验证导航与文本提取。
⚠️ 使用提醒
- Moli 不是带可视窗口的 Chrome 替代品:不提供 GUI、GPU 合成,也不追求与 Chrome 像素级一致;高保真 Canvas/WebGL 和媒体播放等场景并非目标。
--layout下截图是软件渲染,Chrome 的全部截图和打印模式也未必支持。遇到不支持的协议操作应按其明确错误处理,不能把“兼容 CDP”理解成所有 Chrome 行为都可用。- 上游称其在文档定义的 Agent 浏览器场景中可用于生产,但项目仍在积极开发。先用自己的关键页面与协议测试做兼容性验证,再决定是否迁移。
🔗 参考资源
- GitHub(含中文 README):https://github.com/lexmount/moli
- 中文说明:https://github.com/lexmount/moli/blob/main/docs/README.zh-CN.md
- v1.1.15 Release:https://github.com/lexmount/moli/releases/tag/v1.1.15