vercel/streamdown

A drop-in replacement for react-markdown, designed for AI-powered streaming.

解決的問題

解決從 AI 模型串流 Markdown 內容時出現的格式挑戰。標準的 Markdown 解析器在處理不完整或未終止的區塊(例如尚未完成串流的程式碼區塊)時經常遇到困難,導致視覺上突兀的錯誤。Streamdown 透過優雅地處理這些部分區塊,提供無縫的渲染體驗。

工作原理

Streamdown 是 react-markdown 的即插即用替代品。它使用 remend 解析未終止的區塊,並透過記憶化渲染確保在 AI 新的 token 到達時能高效更新。它也整合了多種插件,支援數學與圖表等特殊內容。

適用對象

正在開發 AI 聊天介面或將 LLM 回應串流至 React 前端的開發者。

主要特色

  • 串流優化:專為處理不完整的 Markdown 區塊而設計,避免版面崩潰。
  • 豐富內容支援:支援 GitHub 風格 Markdown(表格、待辦事項清單)、透過 KaTeX 支援 LaTeX 公式,以及 Mermaid 圖表。
  • 開發者體驗:可作為 react-markdown 的直接替代品輕鬆整合,內建 Shiki 語法強調支援。
  • 安全性:使用 rehype-harden 確保內容安全渲染。

相關

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