# assistant-ui > React components for AI chat interfaces ## Table of Contents ### architecture - [Architecture](https://www.assistant-ui.com/docs/architecture): How components, runtimes, and cloud services fit together. ### cli - [CLI](https://www.assistant-ui.com/docs/cli): Scaffold projects, add components, and manage updates from the command line. ### devtools - [DevTools](https://www.assistant-ui.com/docs/devtools): Inspect runtime state, context, and events in the browser. ### root - [Introduction](https://www.assistant-ui.com/docs): Beautiful, enterprise-grade AI chat interfaces for React applications. ### installation - [Installation](https://www.assistant-ui.com/docs/installation): Get assistant-ui running in 5 minutes with npm and your first chat component. ### llm - [AI-Assisted Development](https://www.assistant-ui.com/docs/llm): Use AI tools to build with assistant-ui faster. AI-accessible documentation, Claude Code skills, and MCP integration. ### react-compatibility - [Using old React versions](https://www.assistant-ui.com/docs/react-compatibility): Compatibility notes for React 18, 17, and 16. ### cloud - [User Authorization](https://www.assistant-ui.com/docs/cloud/authorization): Configure workspace auth tokens and integrate with auth providers. - [Overview](https://www.assistant-ui.com/docs/cloud/overview): Hosted service for thread management, chat history, and user authentication. - [Chat History for AI SDK](https://www.assistant-ui.com/docs/cloud/persistence/ai-sdk): Integrate cloud persistence and thread management with Vercel AI SDK. - [Chat History for LangGraph Cloud](https://www.assistant-ui.com/docs/cloud/persistence/langgraph): Integrate cloud persistence and thread management with LangGraph Cloud. ### runtimes - [Assistant Transport](https://www.assistant-ui.com/docs/runtimes/assistant-transport): Stream agent state to the frontend and handle user commands for custom agents. - [Data Stream Protocol](https://www.assistant-ui.com/docs/runtimes/data-stream): Integration with data stream protocol endpoints for streaming AI responses. - [Helicone](https://www.assistant-ui.com/docs/runtimes/helicone): Configure Helicone proxy for OpenAI API logging and monitoring. - [LangChain LangServe](https://www.assistant-ui.com/docs/runtimes/langserve): Connect to LangServe endpoints via Vercel AI SDK integration. - [Picking a Runtime](https://www.assistant-ui.com/docs/runtimes/pick-a-runtime): Which runtime fits your backend? Decision guide for common setups. - [AI SDK v5](https://www.assistant-ui.com/docs/runtimes/ai-sdk/use-chat): Integrate Vercel AI SDK v5 with useChatRuntime for streaming chat. - [AI SDK v4 (Legacy)](https://www.assistant-ui.com/docs/runtimes/ai-sdk/v4-legacy): Legacy integration for Vercel AI SDK v4 using data stream runtime. - [Custom Thread List](https://www.assistant-ui.com/docs/runtimes/custom/custom-thread-list): Plug a custom thread database for multi-thread persistence. - [ExternalStoreRuntime](https://www.assistant-ui.com/docs/runtimes/custom/external-store): Bring your own Redux, Zustand, or state manager. - [LocalRuntime](https://www.assistant-ui.com/docs/runtimes/custom/local): Quickest path to a working chat. Handles state while you handle the API. - [Getting Started](https://www.assistant-ui.com/docs/runtimes/langgraph): Connect to LangGraph Cloud API for agent workflows with streaming. - [Full-Stack Integration](https://www.assistant-ui.com/docs/runtimes/mastra/full-stack-integration): Integrate Mastra directly into Next.js API routes. - [Overview](https://www.assistant-ui.com/docs/runtimes/mastra/overview): TypeScript agent framework for AI applications with tools and workflows. - [Separate Server Integration](https://www.assistant-ui.com/docs/runtimes/mastra/separate-server-integration): Run Mastra as a standalone server connected to your frontend. - [Introduction](https://www.assistant-ui.com/docs/runtimes/langgraph/tutorial): Build a stockbroker assistant with LangGraph and assistant-ui. - [Introduction](https://www.assistant-ui.com/docs/runtimes/langgraph/tutorial/introduction): Build a stockbroker assistant with LangGraph and assistant-ui. - [Part 1: Setup frontend](https://www.assistant-ui.com/docs/runtimes/langgraph/tutorial/part-1): Create a Next.js project with the LangGraph assistant-ui template. - [Part 2: Generative UI](https://www.assistant-ui.com/docs/runtimes/langgraph/tutorial/part-2): Display stock ticker information with generative UI components. - [Part 3: Approval UI](https://www.assistant-ui.com/docs/runtimes/langgraph/tutorial/part-3): Add human-in-the-loop approval for tool calls. ### ui - [AssistantModal](https://www.assistant-ui.com/docs/ui/assistant-modal): Floating chat bubble for support widgets and help desks. - [AssistantSidebar](https://www.assistant-ui.com/docs/ui/assistant-sidebar): Side panel chat for co-pilot experiences and inline assistance. - [Attachment](https://www.assistant-ui.com/docs/ui/attachment): UI components for attaching and viewing files in messages. - [File](https://www.assistant-ui.com/docs/ui/file): Display file message parts with icon, name, size, and download button. - [Image](https://www.assistant-ui.com/docs/ui/image): Display image message parts with preview, loading states, and fullscreen dialog. - [Markdown](https://www.assistant-ui.com/docs/ui/markdown): Display rich text with headings, lists, links, and code blocks. - [Mermaid Diagrams](https://www.assistant-ui.com/docs/ui/mermaid): Render Mermaid diagrams in chat messages with streaming support. - [ModelSelector](https://www.assistant-ui.com/docs/ui/model-selector): Model picker with unified overlay positioning and runtime integration. - [Message Part Grouping](https://www.assistant-ui.com/docs/ui/part-grouping): Organize message parts into custom groups with flexible grouping functions. - [Reasoning](https://www.assistant-ui.com/docs/ui/reasoning): Collapsible UI for displaying AI reasoning and thinking messages. - [Custom Scrollbar](https://www.assistant-ui.com/docs/ui/scrollbar): Replace the default scrollbar with a custom Radix UI scroll area. - [Sources](https://www.assistant-ui.com/docs/ui/sources): Display URL sources with favicon, title, and external link. - [Syntax Highlighting](https://www.assistant-ui.com/docs/ui/syntax-highlighting): Code block syntax highlighting with react-shiki or react-syntax-highlighter. - [ThreadList](https://www.assistant-ui.com/docs/ui/thread-list): Switch between conversations. Supports sidebar or dropdown layouts. - [Thread](https://www.assistant-ui.com/docs/ui/thread): The main chat container with messages, composer, and auto-scroll. - [ToolFallback](https://www.assistant-ui.com/docs/ui/tool-fallback): Default UI component for tools without dedicated custom renderers. - [ToolGroup](https://www.assistant-ui.com/docs/ui/tool-group): Wrapper for consecutive tool calls with collapsible and styled options. ### copilots - [Assistant Frame API](https://www.assistant-ui.com/docs/copilots/assistant-frame): Share model context across iframe boundaries - [makeAssistantVisible](https://www.assistant-ui.com/docs/copilots/make-assistant-readable): Make React components visible and interactive to assistants via higher-order component wrapping. - [makeAssistantToolUI](https://www.assistant-ui.com/docs/copilots/make-assistant-tool-ui): Register custom UI components to render tool executions and their status. - [makeAssistantTool](https://www.assistant-ui.com/docs/copilots/make-assistant-tool): Create React components that provide reusable tools to the assistant. - [Model Context](https://www.assistant-ui.com/docs/copilots/model-context): Configure assistant behavior through system instructions, tools, and context providers. - [Intelligent Components](https://www.assistant-ui.com/docs/copilots/motivation): Add intelligence to React components through readable interfaces and assistant tools. - [useAssistantInstructions](https://www.assistant-ui.com/docs/copilots/use-assistant-instructions): React hook for setting system instructions to guide assistant behavior. ### guides - [Attachments](https://www.assistant-ui.com/docs/guides/attachments): Let users attach files, images, and documents to messages. - [Message Branching](https://www.assistant-ui.com/docs/guides/branching): Navigate between different conversation branches when editing or reloading messages. - [Context API](https://www.assistant-ui.com/docs/guides/context-api): Read and update assistant state to build custom components. - [Speech-to-Text (Dictation)](https://www.assistant-ui.com/docs/guides/dictation): - [Message Editing](https://www.assistant-ui.com/docs/guides/editing): Allow users to edit their messages with custom editor interfaces. - [LaTeX](https://www.assistant-ui.com/docs/guides/latex): Render mathematical expressions in chat messages using KaTeX. - [Text-to-Speech (Speech Synthesis)](https://www.assistant-ui.com/docs/guides/speech): Read messages aloud with Web Speech API or custom TTS. - [Generative UI](https://www.assistant-ui.com/docs/guides/tool-ui): Render tool calls as interactive UI instead of plain text. - [Tools](https://www.assistant-ui.com/docs/guides/tools): Give your assistant actions like API calls, database queries, and more. ### api-reference - [Overview](https://www.assistant-ui.com/docs/api-reference/overview): API reference for primitives, runtime hooks, and context providers. - [](https://www.assistant-ui.com/docs/api-reference/context-providers/assistant-runtime-provider): Root provider that connects your runtime to assistant-ui components. - [](https://www.assistant-ui.com/docs/api-reference/context-providers/text-message-part-provider): Context provider for reusing text components outside of message content. - [@assistant-ui/react-data-stream](https://www.assistant-ui.com/docs/api-reference/integrations/react-data-stream): Hooks for connecting to data stream protocol endpoints and Assistant Cloud. - [@assistant-ui/react-hook-form](https://www.assistant-ui.com/docs/api-reference/integrations/react-hook-form): React Hook Form integration for AI-assisted form filling. - [@assistant-ui/react-ai-sdk](https://www.assistant-ui.com/docs/api-reference/integrations/vercel-ai-sdk): Vercel AI SDK v5 integration with chat runtime hooks and transport utilities. - [ActionBarMorePrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/action-bar-more): - [ActionBarPrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/action-bar): Buttons for message actions like copy, edit, reload, speak, and feedback. - [AuiIf](https://www.assistant-ui.com/docs/api-reference/primitives/assistant-if): Conditional rendering component based on thread, message, or composer state. - [AssistantModalPrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/assistant-modal): A popover chat interface for floating assistant UI in the corner of the screen. - [AttachmentPrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/attachment): Components for displaying and managing file attachments in messages and composer. - [BranchPickerPrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/branch-picker): Navigate between conversation branches with previous/next controls. - [ComposerPrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/composer): Primitives for the text input, send button, and attachments. - [Composition](https://www.assistant-ui.com/docs/api-reference/primitives/composition): How to compose primitives with custom components using asChild. - [ErrorPrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/error): Components for displaying error messages in the chat interface. - [MessagePartPrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/message-part): Primitives for text, images, tool calls, and other message content. - [MessagePrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/message): Components for rendering message content, parts, and attachments. - [ThreadListItemMorePrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/thread-list-item-more): Dropdown menu for additional thread actions like archive and delete. - [ThreadListItemPrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/thread-list-item): Individual thread item with title, archive, and delete controls. - [ThreadListPrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/thread-list): Display and manage multiple conversation threads with create and archive actions. - [ThreadPrimitive](https://www.assistant-ui.com/docs/api-reference/primitives/thread): Primitives for the message list, viewport, and welcome screen. - [AssistantRuntime](https://www.assistant-ui.com/docs/api-reference/runtimes/assistant-runtime): Root runtime for managing threads, tool UIs, and assistant state. - [AttachmentRuntime](https://www.assistant-ui.com/docs/api-reference/runtimes/attachment-runtime): Hooks for accessing attachment state in composer and messages. - [ComposerRuntime](https://www.assistant-ui.com/docs/api-reference/runtimes/composer-runtime): Runtime for programmatically controlling the message composer. - [MessagePartRuntime](https://www.assistant-ui.com/docs/api-reference/runtimes/message-part-runtime): Hook for accessing message part state within parts. - [MessageRuntime](https://www.assistant-ui.com/docs/api-reference/runtimes/message-runtime): Hooks for accessing message state, utilities, and edit composer. - [ThreadListItemRuntime](https://www.assistant-ui.com/docs/api-reference/runtimes/thread-list-item-runtime): Runtime for managing individual thread list items. - [ThreadListRuntime](https://www.assistant-ui.com/docs/api-reference/runtimes/thread-list-runtime): Runtime for accessing and managing the list of threads. - [ThreadRuntime](https://www.assistant-ui.com/docs/api-reference/runtimes/thread-runtime): Runtime for thread state, messages, and viewport management. ### migrations - [Deprecation Policy](https://www.assistant-ui.com/docs/migrations/deprecation-policy): Stability guarantees and deprecation timelines for assistant-ui features. - [Migrating to react-langgraph v0.7](https://www.assistant-ui.com/docs/migrations/react-langgraph-v0-7): Guide to upgrading to the simplified LangGraph integration API. - [Migration to v0.11](https://www.assistant-ui.com/docs/migrations/v0-11): ContentPart renamed to MessagePart for better semantic clarity. - [Migration to v0.12](https://www.assistant-ui.com/docs/migrations/v0-12): Unified state API replaces individual context hooks. ### legacy - [AssistantModal](https://www.assistant-ui.com/docs/legacy/styled/assistant-modal): Chat bubble component for support or Q&A use cases. - [Decomposition](https://www.assistant-ui.com/docs/legacy/styled/decomposition): Break down styled components into smaller customizable parts. - [Markdown](https://www.assistant-ui.com/docs/legacy/styled/markdown): Enable rich text formatting for assistant messages using markdown. - [Custom Scrollbar](https://www.assistant-ui.com/docs/legacy/styled/scrollbar): Integrate custom scrollbar UI using Radix UI Scroll Area. - [Thread Width](https://www.assistant-ui.com/docs/legacy/styled/thread-width): Customize thread max width using CSS variables. - [Thread](https://www.assistant-ui.com/docs/legacy/styled/thread): Full-screen message list and composer UI for chat interfaces.