Browse components
Message Response
Markdown renderer for streamed AI assistant output. MessageResponse wraps Streamdown with the cjk, code (Shiki), math (KaTeX) and mermaid plugins, tolerates incomplete markdown while tokens arrive, and is memoized on children/isAnimating so a chat list does not re-render every block on each token. Use it as the body of an assistant message; accepts every Streamdown prop.
pnpm dlx shadcn@latest add @uifiles/response
Streamed markdown
Headings, a fence, a table, inline and display math and a link, as Streamdown renders them. The wide formula scrolls in its own box.
Choosing a cache strategy
Streamed markdown renders incrementally as tokens arrive, including incomplete fences and tables.
For a cache hit rate of h, the effective cost per request is:
A regularized logistic loss is wider than a phone, so it scrolls on its own instead of widening the page:
Tip: keep the chunk size small so partial output paints early. Links such as the ask before they open.