How
The model chooses tools; the app maps tool results to components. runAgentTUI hosts an agent in a terminal chat.
Model tool calls render React components; plus a canned agent TUI.
ai-sdk.dev ↗repo ↗docs ↗runAgentTUI reference ↗Migrating from RSC to AI SDK UI ↗
Code-first generative UI and a fixed chat TUI; json-render is Vercel's data-first answer and the better comparison.
Ignore it for this purpose.
The AI SDK is where most TypeScript LLM apps start (29M weekly downloads), and its generative-UI story is the simplest one there is: let the model call a tool, render a real component for the result, stream it. No new UI language for the model to learn, no catalog DSL, full React and design-system fidelity, type-safe tool parts in useChat, and with @ai-sdk/tui the same agent runs in a polished terminal chat in three lines. For teams that just need 'show a weather card when the model calls getWeather', it is hard to beat.
| UI as data | 1 scene 5 | Components are React code; only tool args/results are data. |
|---|---|---|
| Agent can drive it | 2 scene 5 | |
| Agent can see it | 1 scene 5 | |
| Small, targeted edits | 1 scene 5 | |
| Time travel | 0 scene 0 | |
| Live data rate | 2 scene 5 | |
| Terminal native | 2 scene 5 | runAgentTUI renders a fixed chat UI in the terminal; no general terminal renderer. |
| Pixel graphics | 3 scene 4 | Whatever React on the web draws. |
| Teaching | 0 scene 3 | |
| Maturity | 3 scene 1 | AI SDK is an ecosystem standard, but RSC generative UI is experimental and discouraged for production. |
| Openness | 4 scene 4 |
Vercel AI SDK generative UI (RSC streamUI, AI SDK UI, @ai-sdk/tui) scene now scene planned
The model chooses tools; the app maps tool results to components. runAgentTUI hosts an agent in a terminal chat.
Low for Next.js/React apps.
AI state/messages only; the model never sees the rendered UI.
createStreamableUI .update/.append/.done on one streamed node; coarse.
Message history only.
Agent picks components via tools; no live control of the UI.
AI SDK RSC (@ai-sdk/rsc): streamUI calls a model and lets tools return React Server Components that stream to the client; createStreamableUI/createStreamableValue push UI or values; useUIState/useAIState separate visual state from model context. The docs say RSC is experimental and recommend AI SDK UI (useChat with typed tool parts rendered by client components) for production. @ai-sdk/tui's runAgentTUI runs a ToolLoopAgent (or a remote ChatTransport) in a ready-made terminal chat UI with collapsible tool/reasoning sections and token statistics.
No published generative-UI performance numbers.
The AI SDK is the TypeScript standard for LLM apps; its RSC generative-UI API is a small, experimental corner.
Used by: json-render (uses AI SDK streaming), Vercel templates
Very well maintained SDK; RSC module kept but officially experimental.
Releases: Multiple releases per day across packages · Contributors: ~730 (GitHub contributors API incl. anonymous) · Recent: 1,477 commits on main since 2026-07-11 · Bus factor: high
Agents surfacing UI to users; a terminal front end for agents (runAgentTUI).
Nothing substantive.
Everything scene is about: UI as data, live agent control, readback, patches, data streams, pixels, time travel.
| 1–7 | home · features · use cases · docs · changelog · under the hood · blog |
| t | light or dark |
| j k | scroll |
| g G | top · bottom |
| ? Esc | this · close |