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.txt和llms-full.txt,用于网站发现。
相关
- 项目
- 项目
- 项目
- 项目
- 项目