markstream-vue is a free, open source ai interaction & interfaces project written in Vue and released under MIT. It has 3,010 GitHub stars, 183 forks and 3 open issues, and was last pushed 4 days ago. On this registry it ranks #56 of 76 tracked projects in AI Interaction & Interfaces, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is markstream-vue?

What it is

markstream-vue is Vue 3, Nuxt, VitePress streaming Markdown renderer for AI chat. Project lives in AI interaction and interface ecosystem inside machine learning category. It is part of Markstream renderer family covering Vue, React, Octane, Svelte, Angular, Vue 2. Package targets Markdown arriving incrementally from large language model token streams, server-sent events, WebSocket output.

Problem solved is unstable rendering of partial Markdown. AI responses change while user reads, with incomplete syntax, diagrams, math, code blocks, long output. Standard renderers usually handle finished documents or re-render whole blocks, causing jitter and heavy work in chat interfaces. markstream-vue aims for stable partial Markdown states, mobile WebView rendering, safe component rendering, progressive heavy blocks, low-jitter updates.

Key capabilities

  • Renders streaming Markdown for AI chat and large language model token streams from server-sent events or WebSocket output.
  • Handles incomplete Markdown and long AI responses while preserving stable partial rendering states.
  • Supports Mermaid diagrams and KaTeX math inside streaming Markdown content.
  • Supports enhanced code and diff blocks through optional stream-diffs peer package.
  • Provides safe HTML and safe component rendering for generated Markdown content.
  • Targets Vue 3, Nuxt, VitePress, and mobile WebView rendering needs.
  • Sibling packages cover React, Next.js, Svelte, Angular, Octane, and Vue 2.

Who uses it and how

  • Developers building AI chat interfaces in Vue, Nuxt, VitePress show model output as tokens arrive.
  • Applications receiving server-sent events or WebSocket messages display changing Markdown without waiting for complete response.
  • Interfaces showing diagrams, math, code, or diffs use Mermaid, KaTeX, and stream-diffs support.
  • Mobile WebView applications use stable partial Markdown states and progressive heavy blocks.
  • Teams choosing non-Vue frameworks use sibling Markstream packages for React, Next.js, Svelte, Angular, Octane, or Vue 2.

Getting started

Install markstream-vue with pnpm add markstream-vue, then import MarkdownRender component and markstream-vue index stylesheet. Add optional stream-diffs peer only when enhanced code and diff blocks are needed, and use markstream-vue version 1 when staying on maintained 1.x line.

When to use it — and when not to

Use markstream-vue when Markdown is still changing while user reads it, especially in AI chat, token streaming, long partial responses. Use marked, markdown-it, or react-markdown for finished Markdown documents instead. Non-Vue frameworks require sibling packages, and enhanced code and diff rendering requires optional stream-diffs peer.

project readme (upstream, from github) — read inline

Markstream — Streaming Markdown renderers for AI chat

markstream-vue is a Vue 3 / Nuxt / VitePress streaming Markdown renderer for AI chat, LLM token streams, SSE/WebSocket output, incomplete Markdown, long AI responses, Mermaid, KaTeX, and streaming code blocks.

Markstream is the renderer family for Vue, React, Octane, Svelte, Angular, and Vue 2. Use sibling packages for non-Vue frameworks; use markstream-vue when your Vue/Nuxt/VitePress UI needs stable partial Markdown states, mobile WebView rendering, safe component rendering, and progressive heavy blocks.

中文版 Docs Playground Test page

Vue package:

markstream-vue npm version NPM downloads Bundle size

Other packages:

markstream-react npm version markstream-svelte npm version markstream-angular npm version markstream-vue2 npm version

Release Discussions Discord Support Security CI License

Install markstream-vue

Markstream 2.x is stable on npm's latest tag:

pnpm add markstream-vue

Add the optional stream-diffs peer only when you need enhanced code and diff blocks. markstream-vue@1 pins the maintained 1.x line; it is also preserved on the legacy npm tag, with 1.x prereleases on legacy-next. See the 1.x to 2.0 migration guide for the code-block runtime changes.

For applications that must stay on the 1.x line across the 2.x cutover:

pnpm add markstream-vue@1
<script setup lang="ts">
import MarkdownRender from 'markstream-vue'
import 'markstream-vue/index.css'

defineProps<{
  content: string
  isDone: boolean
}>()
</script>

<template>
  <MarkdownRender mode="chat" :content="content" :final="isDone" />
</template>

Why not marked / markdown-it / react-markdown?

Use marked, markdown-it, or react-markdown for finished Markdown documents.

Use Markstream when the Markdown is still changing while the user is reading it.

Detailed comparisons: vue-stream-markdown, Streamdown, react-markdown, and marked / markdown-it.

Packages

Start with the framework overview if you are choosing between packages.

Package Framework Install Docs
markstream-vue Vue 3 / Nuxt / VitePress pnpm add markstream-vue Framework overview · Vue landing · Nuxt landing
markstream-react React / Next.js / Remix pnpm add markstream-react React landing · Next.js landing
markstream-octane Octane pnpm add markstream-octane octane Package guide · Local playground
markstream-svelte Svelte 5 pnpm add markstream-svelte svelte@^5 Svelte landing · Quick start
markstream-angular Angular standalone pnpm add markstream-angular Angular landing · Quick start
markstream-vue2 Vue 2.6 / 2.7 pnpm add markstream-vue2 Vue 2 landing · Quick start
stream-markdown-parser Any JS/TS app pnpm add stream-markdown-parser Parser guide
markstream-core Framework-agnostic pnpm add markstream-core Core package

Which package should I use?

  • Vue 3 / Nuxt / VitePressmarkstream-vue
  • React / Next.js / Remixmarkstream-react
  • Octanemarkstream-octane
  • Svelte 5markstream-svelte
  • Angular standalonemarkstream-angular
  • Vue 2.6 / 2.7markstream-vue2
  • Framework-agnostic parsing onlystream-markdown-parser
  • Streaming controller utilitiesmarkstream-core

Stability

markstream-vue 2.x is stable and published on npm's latest tag. The maintained 1.x line remains available through markstream-vue@1 and the legacy tag. Version 2 removes the Monaco and stream-markdown code-block runtimes; install the optional stream-diffs peer when you need the enhanced code-block surface. See Migrating from 1.x to 2.0 before upgrading.

The stable surface includes MarkdownRender, streaming content rendering, pre-parsed node rendering, the safe HTML policy, optional Mermaid / KaTeX / D2 / Infographic integrations, enhanced code blocks, virtual-scroll coordination, CSS exports, worker client subpaths, and SSR imports for Vite / Nuxt / VitePress.

Cross-framework renderers (markstream-react, markstream-octane, markstream-svelte, markstream-angular, markstream-vue2) are available and actively developed. Check each package page for API maturity, framework support, and known limitations.

For the full release contract and Go / No-Go checklist, see 1.0 Release Readiness. For reproducible performance evidence, run pnpm benchmark:1.0 and use the generated 1.0 Benchmark Report.

Contents

📖 Framework overview, docs, API, and advanced usage: https://markstream.simonhe.me/frameworks

TL;DR Highlights

  • Purpose-built for streaming Markdown (AI/chat/SSE), designed to minimize flicker and keep memory predictable.
  • Two render modes: virtual window for long docs, incremental batching for “typing” effects.
  • Progressive diagrams (Mermaid) and **streaming code

readme truncated — read the full docs on github

Frequently asked questions

Is markstream-vue free to use?

markstream-vue is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does markstream-vue do?

Multi-framework streaming Markdown renderers for AI apps: Vue/Nuxt, React/Next.js, Svelte, and Angular, with Mermaid, KaTeX, stream-diffs code blocks, safe HTML

What is markstream-vue written in?

markstream-vue is primarily written in Vue. Its source is publicly available at https://github.com/Simon-He95/markstream-vue, and it has 3,010 GitHub stars.