markstream-vue

让 AI 流式输出 Markdown 在多框架下流畅渲染,低延迟不卡顿

markstream-vue 是一个面向 AI 应用的多框架流式 Markdown 渲染器,支持 Vue/Nuxt、React/Next.js、Svelte 和 Angular 等主流前端框架。它解决的是 AI 对话或流式输出场景中,Markdown 内容实时渲染的性能与体验问题,核心能力包括:低延迟的流式更新(低抖动)、内置 Mermaid 图表、KaTeX 数学公式、Shiki 代码高亮、Monaco 编辑器集成,以及安全的 HTML 渲染策略。项目通过统一的渲染核心和框架适配层,让开发者能在不同技术栈中复用同一套流式渲染逻辑,减少重复开发,提升 AI 应用的内容展示效率。

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

项目数据

分类开源模型
开发团队Simon-He95
所属国家
定价模式free
价格说明MIT 许可证,完全免费开源,可自行部署使用。
访问状态
是否开源
开源协议MIT
主要语言Vue
技术栈/模型ai,ai-chat,angular,katex,llm,markdown,markdown-renderer,markstream,mermaid,nextjs,nuxt,octane,react,safe-html,stream-markdown,streaming-markdown,svelte,vitepress,vue
GitHub 星标★ 3019
30天Star增速
HF 下载量
上线时间2025-05-22 00:00:00
最近更新2026-09-23 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

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

环境要求

  • 已有一个 Vue 3 / Nuxt / VitePress 前端项目(markstream-vue 只服务 Vue 系框架)
  • 本机已安装 Node.js 并可使用 pnpm(README 的安装命令基于 pnpm)
  • 需要 Mermaid 图表、KaTeX 公式、代码高亮等能力由该渲染器内置提供

安装与启动步骤

  1. 1确认项目环境

    markstream-vue 是 Vue 3 / Nuxt / VitePress 的流式 Markdown 渲染器,React、Svelte、Angular 等请改用同系列兄弟包,不要装这个。

  2. 2安装 markstream-vue

    在项目根目录用 pnpm 安装;用 npm 的项目把命令换成 npm install markstream-vue。2.x 是 npm 的 latest 稳定版。

    pnpm add markstream-vue
  3. 3引入组件与样式

    务必同时引入 markstream-vue/index.css,否则渲染样式会缺失。content 传流式文本,final 表示是否已输出完成。

    
    
    
  4. 4锁定 1.x 版本

    如果应用在 2.x 切换期必须留在 1.x,用 @1 安装;1.x 也保留在 npm 的 legacy 标签上,预发布在 legacy-next。

    pnpm add markstream-vue@1
  5. 5SSR 预解析节点

    在服务端或 Worker 里先解析成结构化节点,把 nodes 传给客户端渲染,可避免客户端解析并保持 SSR/水合结果确定。

    // server or worker
    import { getMarkdown, parseMarkdownToStructure } from 'markstream-vue'
    
    const md = getMarkdown()
    const nodes = parseMarkdownToStructure('# Hello
    
    This is parsed once', md)
    // send `nodes` JSON to the client
    
    const nodes = parseMarkdownToStructure(source, md, { final: true })
  6. 6客户端渲染节点

    客户端直接接收服务端传来的 nodes 渲染,不再自行解析 Markdown,适合需要确定性输出的场景。

关键配置

配置项必填说明示例
mode渲染模式,示例中聊天流式场景使用 chatchat
content要渲染的 Markdown 内容,可随流式输出不断更新content
final标记内容是否已结束输出,用于切换最终解析语义isDone
nodesSSR/Worker 预解析好的节点,传入后组件不再自行解析nodesFromServer
parse-options.streamParse控制流式解析策略,可选 true / false / 'auto'{ streamParse: 'auto' }

如何确认成功

页面上出现正确的 Markdown 渲染结果,内容随流式输出逐步更新且无明显抖动,HTML/CSS 样式正常。

常见问题

Q:我的项目是 React / Svelte / Angular,能装这个包吗?

A:不能直接用。markstream-vue 只面向 Vue 3 / Nuxt / VitePress,其他框架请使用 Markstream 家族的对应兄弟包。

Q:代码块和 diff 渲染不够强怎么办?

A:按需额外安装可选的 stream-diffs peer 依赖,README 说明只在需要增强的代码块和 diff 块时安装它。

Q:如何避免流式解析结果残留或不一致?

A:当 final 变化时渲染器会作废流缓存并按最终语义重新解析;也可显式传 parse-options,把最终内容解析交回常规解析器或完全关闭流式解析。

Q:复用同一个 md 实例解析无关文档要注意什么?

A:parseMarkdownToStructure 默认 streamParse 为 'auto',会保留最新 source/token 缓存;解析一次性文档时请传 { final: true } 或 { streamParse: false }。

注意事项

  • 2.x 是 npm latest 稳定线,1.x 保留在 legacy 标签、预发布在 legacy-next,跨 2.x 升级可参考官方 1.x→2.0 迁移指南。
  • MarkdownRender 自己解析 content 时,parseOptions.streamParse 默认是 true;如需最终内容走常规解析,传 'auto' 或 false。
  • 代码块运行时在 2.0 有变化,从 1.x 升级前先看迁移指南再动手。
  • 安装命令要按自己项目的包管理器替换,README 同时给出了 pnpm 与 npm 两种写法。

核心亮点

  • 支持 Vue、React、Svelte、Angular 多框架,一套逻辑复用
  • 内置 Mermaid、KaTeX、Shiki 等常用组件,开箱即用
  • 低抖动更新机制,适合高频流式输出场景

不足之处

  • 文档/社区待观察

适用场景

  • AI 聊天机器人流式回复渲染
  • AI 生成文档或报告的实时预览
  • 多框架团队统一渲染方案选型

替代项目

react-markdown、marked、markdown-it

项目介绍

markstream-vue 是开发框架领域的开源项目,由 Simon-He95 开发,2025 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(3,019)位列前 30%,在开发框架分类中处于中上游。

近 42 天,它的 GitHub 星标从 2,881 增加到 3,019,净增 138。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-23。MIT 许可证,完全免费开源,可自行部署使用。

它主要面向的使用场景是:AI聊天机器人流式回复渲染。同类可对比的替代方案包括 react-markdown、marked、markdown-it。

上一篇:langgraphjs

下一篇:graph-of-thoughts

同类项目推荐

langchain 开源

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

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

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

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

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12