harlan-zw/mdream

☁️ The fastest HTML to markdown convertor on GitHub. Optimized for LLMs and supports streaming.

解决的问题

网页内容通常包含大量 HTML 标签,当输入大型语言模型(LLMs)时会消耗过多的 token,导致成本增加并缩小有效上下文窗口。Mdream 提供了一种高性能的 HTML 转 Markdown 方法,生成专为 LLM 消费优化的干净、低 token 消耗的 Markdown。

工作原理

使用多种引擎选项将 HTML 转换为 GitHub 风格 Markdown:用于极致速度的原生 Rust 引擎、用于边缘/浏览器运行时的 WASM 引擎,以及用于零依赖环境的纯 JavaScript 引擎。包含「minimal」预设和「clean」模式,可移除冗余链接、空图片和追踪参数,以最小化 token 使用量。

此外,还提供一个爬虫包(@mdream/crawl),可遍历整个网站,生成 llms.txt 资产——一种用于帮助 AI 工具发现和理解网站内容的整合文本文件。

适用人群

  • AI 工程师:构建 RAG(检索增强生成)系统,需要爬取和分块网页数据以供向量数据库使用。
  • 开发者:希望将网页直接输入 LLM CLI(如 Claude 或 GPT)时,最大限度减少 token 浪费。
  • 网站所有者:希望借助 llms.txt 使自己的网站对 AI 可发现。

亮点

  • 极致性能:比 Turndown 快高达 37 倍,显著快于其他基于 Rust 的转换器。
  • token 优化:生成的 token 数量比竞争库最多减少 2 倍,比原始 HTML 最多减少 92%。
  • 支持流式处理:唯一支持大文档流式处理的 JavaScript HTML 转 Markdown 转换器。
  • 多部署方式:支持作为 Rust crate、Node.js 包、Docker 镜像、GitHub Action 以及通过浏览器 CDN 使用。
  • LLM 资产生成:内置功能可生成 llms.txtllms-full.txt,用于网站发现。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目