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,用於網站發現。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案