# assistant-ui

An open-source TypeScript and React library for building production-grade AI chat interfaces quickly, with composable primitives, streaming and generative UI, plus backends for the Vercel AI SDK and LangGraph.

assistant-ui is an open-source TypeScript and React library for building production-grade AI chat experiences quickly, aiming for the feel of a modern chat assistant inside a React application. A command-line tool scaffolds a new Next.js project or adds its styled components to an existing one, starting from a shadcn/ui-based theme that can then be restyled freely, and the underlying pieces, such as a thread, a message, a composer and an action bar, can also be composed by hand.

It provides production behavior out of the box: streaming responses, automatic scrolling, retries, file attachments, Markdown and code-highlighting rendering, voice dictation, keyboard shortcuts and accessibility support. A generative-UI layer renders a model's tool calls and JSON output as React components, collects inline human approvals, and exposes safe, predefined frontend actions the model can call.

It ships backend adapters for the Vercel AI SDK, LangGraph and LangChain, the AG-UI and A2A agent protocols, Google's Agent Development Kit, OpenCode and custom data-stream backends, with broad model support across OpenAI, Anthropic, Google Gemini, Mistral, Perplexity, AWS Bedrock, Azure, Fireworks and Ollama.

Website: https://www.assistant-ui.com
