streamdown

AI 流式输出 Markdown,边生成边稳定渲染不闪烁

streamdown 是 react-markdown 的即插即用替代品,专为 AI 流式输出场景设计。传统 Markdown 渲染器在接收逐字返回的流式内容时,常出现未闭合的代码块、残缺的表格、闪烁的列表等问题,导致界面抖动或渲染错误。streamdown 在保留 react-markdown 使用方式的基础上,内置了对不完整 Markdown 语法的容错处理,能在 token 持续追加的过程中稳定渲染,并支持代码高亮、表格、数学公式等常见扩展。它面向聊天机器人、AI 助手、实时生成类应用,让开发者无需自己处理流式解析边界,即可获得平滑的输出体验。项目使用 TypeScript 编写,与 React 生态无缝集成,适合需要边生成边展示 Markdown 的前端场景。

开源 free 开发框架
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 5679
维护状态 活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类开发框架
开发团队vercel
所属国家
定价模式free
价格说明开源免费使用
访问状态
是否开源是
开源协议NOASSERTION
主要语言TypeScript
技术栈/模型ai,markdown,streaming
GitHub 星标★ 5679
30天Star增速
HF 下载量
上线时间2025-08-15 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-08
浏览次数0

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • 已安装 Node.js 与 npm(README 使用 npm i 安装)
  • 一个 React 项目(streamdown 是 react-markdown 的即插即用替代品)
  • 项目使用 Tailwind CSS,可编辑 globals.css
  • 如需数学公式渲染,需引入 katex 的 CSS(示例中已 import)

安装与启动步骤

  1. 1安装 Streamdown

    在项目根目录执行 npm 安装,streamdown 会作为依赖加入 package.json,安装后即可替代 react-markdown。

    npm i streamdown
  2. 2按需安装插件

    需要代码高亮、Mermaid、数学公式或 CJK 支持时,另行安装对应插件包;README 示例导入了 code、mermaid、math、cjk,具体安装方式见各插件文档。

  3. 3配置 Tailwind 扫描

    在 globals.css 中添加 @source 指令,让 Tailwind 能扫描到 streamdown 使用的工具类;路径需相对该 CSS 文件指向含 streamdown 的 node_modules。

    @source "../node_modules/streamdown/dist/*.js";
  4. 4引入样式文件

    在组件入口文件中引入 streamdown 自带样式;若使用数学公式插件,再引入 KaTeX 的样式文件。顺序不限,但必须在渲染前完成引入。

    import "streamdown/styles.css";
    import "katex/dist/katex.min.css";
  5. 5在组件中使用

    从 streamdown 导入 Streamdown 组件,把流式返回的文本作为 children 传入,并通过 plugins 传入已安装插件。

    import { Streamdown } from "streamdown";
    import { code } from "@streamdown/code";
    import { mermaid } from "@streamdown/mermaid";
    import { math } from "@streamdown/math";
    import { cjk } from "@streamdown/cjk";
    
    export default function Chat({ text, isStreaming }) {
      return (
        
          {text}
        
      );
    }
  6. 6验证流式渲染

    启动你的开发服务器,让 AI 逐字输出包含未闭合代码块或残缺表格的 Markdown,观察渲染是否稳定、不闪烁、不报错。

关键配置

配置项必填说明示例
plugins否传入已安装的插件,启用代码高亮、图表、公式、CJK 等能力{ code, mermaid, math, cjk }
isAnimating否标记当前是否处于流式输出状态,通常绑定 useChat 的 statusstatus === 'streaming'
animated否给流式输出开启逐字动画效果animated
children是要渲染的 Markdown 文本,直接放流式返回的 token 内容part.text

如何确认成功

启动开发服务器后,页面中的流式 Markdown 能随 token 持续追加稳定渲染,未闭合代码块和表格不再导致抖动或报错,即为成功。

常见问题

Q:streamdown 和 react-markdown 有什么区别?

A:streamdown 是 react-markdown 的即插即用替代品,专门处理流式场景下不完整或未闭合的 Markdown 块,用法基本一致。

Q:必须安装那些插件包吗?

A:不是。插件是可选的,只在实际安装并引入时才需要写对应的 import 和 @source 条目,不用的插件不要加。

Q:Tailwind 找不到 streamdown 的样式类怎么办?

A:检查 globals.css 中的 @source 路径。它必须相对于该 CSS 文件指向含 streamdown 的 node_modules;标准 Next.js 项目中 app/globals.css 用默认路径即可。

Q:monorepo 里 @source 路径怎么写?

A:依赖通常被提升到根 node_modules,需要按层级增加 ../。例如 apps/web/app/globals.css 要写 @source "../../../node_modules/streamdown/dist/*.js"。

Q:支持哪些 Markdown 扩展?

A:支持 GitHub Flavored Markdown(表格、任务列表、删除线)、KaTeX 数学公式、Mermaid 图表,以及基于 Shiki 的代码语法高亮。

注意事项

  • @source 路径必须相对于你自己的 CSS 文件,层级不对会导致 Tailwind 扫不到样式。
  • 只为实际安装的插件添加 @source 条目,避免引用不存在的包。
  • README 未提供启动命令、端口等信息,请按自己项目的开发流程启动与调试。
  • 项目主要为 AI 流式输出设计,非流式场景也可作为 react-markdown 的替代使用。

核心亮点

  • 可直接替换 react-markdown,迁移成本低
  • 针对流式未闭合语法做容错,避免渲染抖动
  • 支持代码高亮、表格、数学公式等常见扩展

不足之处

  • 生态与插件丰富度不及 react-markdown 成熟
  • 仅面向 React,非 React 项目无法直接使用

适用场景

  • AI 聊天助手逐字输出 Markdown 回答
  • 代码生成工具实时展示带高亮的代码块
  • 文档/报告类应用边生成边预览排版内容

替代项目

react-markdown、marked

项目介绍

streamdown 是开发框架领域的开源项目,由 vercel 开发,2025 年首次发布。

在全站 13,916 个收录项目中,它的 GitHub 星标数(5,679)位列前 8%,在开发框架分类的 844 个项目里位列前 9%。

项目目前处于活跃维护状态,最近一次代码更新于 2026-10-07。开源免费使用。

它主要面向的使用场景是:AI聊天助手逐字输出Markdown回答。同类可对比的替代方案包括 react-markdown、marked。

上一篇:tilelang

下一篇:air

同类项目推荐

dsh-our-free-model 开源

装个插件就能免密钥白嫖前沿大模型,不限量

在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Fl···

★ 3323 2026-10-04
langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 147537 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 167028 2026-08-09