Yonom/assistant-ui

Typescript/React Library for AI Chat 💬🚀

12,113

stars

4,841

commits

TypeScript

primary language

Sep 11, 2026

updated

www.assistant-ui.com
ai-chatbot
base-ui
chatbot
conversational-ai
copilot
radix-ui
react-chatbot
shadcn
ui-components
vercel-ai-sdk

README

assistant-ui Header

Product · Documentation · Examples · Discord · Contact Sales

npm version npm downloads Ask DeepWiki Weave Badge GitHub License GitHub stars Backed by Y Combinator

The UX of ChatGPT in your React app 💬🚀

assistant-ui is an open-source TypeScript/React library to build production-grade AI chat experiences fast.

Installation

The fastest path is the CLI, which scaffolds a Next.js app or adds the styled components to an existing project:

npx assistant-ui@latest create   # new project
npx assistant-ui@latest init     # add to existing project

Or install the packages directly:

npm install @assistant-ui/react @assistant-ui/ai-sdk

Usage

"use client";

import { AssistantRuntimeProvider } from "@assistant-ui/react";
import { useChatRuntime } from "@assistant-ui/ai-sdk";
import { Thread } from "@/components/assistant-ui/elements/thread.aui";

export function Chat() {
  const runtime = useChatRuntime();
  return (
    <AssistantRuntimeProvider runtime={runtime}>
      <Thread />
    </AssistantRuntimeProvider>
  );
}

useChatRuntime connects to the Vercel AI SDK out of the box. Swap it for useLangGraphRuntime, useDataStreamRuntime, or any custom runtime to integrate with your own backend.

assistant-ui starter template

What you get

  • Composable primitives: build any chat UX from Thread, Message, Composer, ThreadList, ActionBar, and friends. Style every pixel yourself, or start from a polished shadcn/ui theme that the CLI copies into your project.
  • Production UX out of the box: streaming, auto-scroll, retries, attachments, markdown, code highlighting, voice dictation, keyboard shortcuts, and accessibility.
  • Generative UI: render tool calls and JSON as React components, collect inline human approvals, and expose safe frontend actions to the model.
  • Strong TypeScript: typed runtime APIs, tool schemas, message parts, and adapters end to end.

Backends

IntegrationPackage
Vercel AI SDK@assistant-ui/ai-sdk
LangGraph / LangChain@assistant-ui/react-langgraph, @assistant-ui/react-langchain
AG-UI / A2A protocols@assistant-ui/react-ag-ui, @assistant-ui/react-a2a
Google ADK / OpenCode@assistant-ui/react-google-adk, @assistant-ui/react-opencode
Custom data-stream backend@assistant-ui/react-data-stream
Managed thread history, telemetry, and file storageassistant-cloud

Broad model support out of the box (OpenAI, Anthropic, Google Gemini, Mistral, Perplexity, AWS Bedrock, Azure, Fireworks, Ollama) plus community providers via the AI SDK, and easy extension to any custom HTTP backend.

Customization

Instead of a single monolithic chat component, you compose primitives and bring your own styles. The CLI ships a great starter in your choice of Base UI (the default) or Radix UI flavor; you control everything else.

Overview of components

Sample customization to make a Perplexity lookalike:

Perplexity clone created with assistant-ui

Used in production by

Mastra, LangChain, Athena Intelligence, Browser Use, Stack, Inconvo, Iterable, Helicone, Gram, Coreviz, and many more.

Chart of assistant-ui's traction

Demos

Community & Support

For other platforms

License

MIT, with optional Assistant Cloud for managed thread persistence and analytics.

Backed by Y Combinator.

Contributors

(top 30 of 139)

Yonom

2,234 commits

okisdev

752 commits

Kinfe123

377 commits

Yonom/assistant-ui

Typescript/React Library for AI Chat 💬🚀

12,113

stars

4,841

commits

TypeScript

primary language

Sep 11, 2026

updated

www.assistant-ui.com
ai-chatbot
base-ui
chatbot
conversational-ai
copilot
radix-ui
react-chatbot
shadcn
ui-components
vercel-ai-sdk

README

assistant-ui Header

Product · Documentation · Examples · Discord · Contact Sales

npm version npm downloads Ask DeepWiki Weave Badge GitHub License GitHub stars Backed by Y Combinator

The UX of ChatGPT in your React app 💬🚀

assistant-ui is an open-source TypeScript/React library to build production-grade AI chat experiences fast.

Installation

The fastest path is the CLI, which scaffolds a Next.js app or adds the styled components to an existing project:

npx assistant-ui@latest create   # new project
npx assistant-ui@latest init     # add to existing project

Or install the packages directly:

npm install @assistant-ui/react @assistant-ui/ai-sdk

Usage

"use client";

import { AssistantRuntimeProvider } from "@assistant-ui/react";
import { useChatRuntime } from "@assistant-ui/ai-sdk";
import { Thread } from "@/components/assistant-ui/elements/thread.aui";

export function Chat() {
  const runtime = useChatRuntime();
  return (
    <AssistantRuntimeProvider runtime={runtime}>
      <Thread />
    </AssistantRuntimeProvider>
  );
}

useChatRuntime connects to the Vercel AI SDK out of the box. Swap it for useLangGraphRuntime, useDataStreamRuntime, or any custom runtime to integrate with your own backend.

assistant-ui starter template

What you get

  • Composable primitives: build any chat UX from Thread, Message, Composer, ThreadList, ActionBar, and friends. Style every pixel yourself, or start from a polished shadcn/ui theme that the CLI copies into your project.
  • Production UX out of the box: streaming, auto-scroll, retries, attachments, markdown, code highlighting, voice dictation, keyboard shortcuts, and accessibility.
  • Generative UI: render tool calls and JSON as React components, collect inline human approvals, and expose safe frontend actions to the model.
  • Strong TypeScript: typed runtime APIs, tool schemas, message parts, and adapters end to end.

Backends

IntegrationPackage
Vercel AI SDK@assistant-ui/ai-sdk
LangGraph / LangChain@assistant-ui/react-langgraph, @assistant-ui/react-langchain
AG-UI / A2A protocols@assistant-ui/react-ag-ui, @assistant-ui/react-a2a
Google ADK / OpenCode@assistant-ui/react-google-adk, @assistant-ui/react-opencode
Custom data-stream backend@assistant-ui/react-data-stream
Managed thread history, telemetry, and file storageassistant-cloud

Broad model support out of the box (OpenAI, Anthropic, Google Gemini, Mistral, Perplexity, AWS Bedrock, Azure, Fireworks, Ollama) plus community providers via the AI SDK, and easy extension to any custom HTTP backend.

Customization

Instead of a single monolithic chat component, you compose primitives and bring your own styles. The CLI ships a great starter in your choice of Base UI (the default) or Radix UI flavor; you control everything else.

Overview of components

Sample customization to make a Perplexity lookalike:

Perplexity clone created with assistant-ui

Used in production by

Mastra, LangChain, Athena Intelligence, Browser Use, Stack, Inconvo, Iterable, Helicone, Gram, Coreviz, and many more.

Chart of assistant-ui's traction

Demos

Community & Support

For other platforms

License

MIT, with optional Assistant Cloud for managed thread persistence and analytics.

Backed by Y Combinator.

Contributors

(top 30 of 139)

Yonom

2,234 commits

okisdev

752 commits

Kinfe123

377 commits

Languages

TypeScript

83.3%

MDX

13.8%

Python

1.6%