Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Integrate markstream-vue into plain Vue 3 with renderer modes, code and DOM choices, streaming state, virtualization, optional peers, and scoped components.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -44% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -59% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -51% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -55% | 0% |
Configure the Vue 3 renderer beyond generic installation: surface modes, streaming lifecycle, code rendering, long-message virtualization, and scoped overrides.
Use for a plain Vue 3 application after the package has been selected. Use markstream-nuxt when SSR-specific Nuxt boundaries matter.
Before changing dependencies or source files, inspect the existing package manager and project conventions, preview the intended edits, and obtain explicit user approval.
markstream-vue/index.css after resets.content. Use mode="chat" for AI streams, docs for rich documents, and minimal for lightweight non-chat surfaces.pre without a peer, shiki with stream-markdown, or compatibility-named monaco backed by stream-diffs.auto, no fade, and an optional cursor. On completion keep the same mode, set final, and disable pacing/cursor.nodes only for worker parsing or structural AST ownership.vue<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" :fade="isDone" :typewriter="!isDone" :smooth-streaming="isDone ? false : 'auto'" html-policy="safe" /> </template>
Review dependency changes. Never enable trusted HTML or loose Mermaid rendering for untrusted model output.
Other measured skills in the registry, with their headline benchmark lift.