@smoothstream/vue

Deterministic, paced Markdown reveal for Vue 3
2,186 5
Install
npm install @smoothstream/vue
Latest Version:0.1.7
Vue:3
License:MIT
Last Updated:Sep 26, 2026
Links: GitHub  ·  npm
Maintainer: stefanjoseph

@smoothstream/vue

Deterministic, paced streaming Markdown for Vue 3 and Nuxt.

Documentation

npm install @smoothstream/vue vue
<script setup lang="ts">
import { Smoothstream } from "@smoothstream/vue";
</script>

<template>
  <Smoothstream
    :markdown="message.content"
    :receiving="message.isStreaming"
  />
</template>

Streaming mode is the default. Render completed content such as previous chat messages immediately with mode="static":

<Smoothstream :markdown="previousMessage.content" mode="static" />

Each mounted component represents one append-only response. Give a different response a new Vue key. Static rendering is SSR-safe; browser-only playback, resource loading, highlighting, and clipboard work begin after mounting.

Listen for @reveal-complete when the final word or character begins appearing, or @presentation-complete when entrances finish and reveal nodes compact. Each event fires once per mounted response after input closes. Static and reduced-motion responses can emit both after the same client render, in that order.

<Smoothstream
  :markdown="message.content"
  :receiving="message.isStreaming"
  @reveal-complete="showNextStep = true"
  @presentation-complete="measureFinalLayout"
/>

Pass Vue components for semantic elements produced by Markdown:

<script setup lang="ts">
import AppLink from "./AppLink.vue";

const components = { a: AppLink };
</script>

<template>
  <Smoothstream :components="components" :markdown="message.content" />
</template>

Overrides receive their content through the default slot. Preserve fallthrough attributes so Smoothstream can retain its reveal, safety, layout, and accessibility behavior. Fenced code and renderer-owned controls are not component override targets.

Default reveal mechanics and prose styling are loaded automatically.

Related Packages

@ai-gui/vue

Vue 3 adapter for AIGUI — stream LLM output into live Vue components with cards...

11,789 0
zen-ai-chat-ui

一个精美的大模型对话 UI 组件库,基于 Vue 3 + TypeScript。支持流式输出、思考过程...

3,306 0
@lionad/cx-stream

Streaming structured-render pipeline: incrementally parse incomplete LLM JSON in...

3,234 0
@incremark/vue

High-performance streaming markdown renderer for Vue 3 ecosystem.

10,634 282
mdc-syntax

Markdown Component (MDC) parser with streaming support for Vue and React

16,532 1,072

Version History

Version Released License
0.1.7 MIT
0.1.6 MIT
0.1.5 MIT
0.1.4 MIT
0.1.3 MIT