https://github.com/assistant-ui/assistant-ui
Typescript/React Library for AI Chat๐ฌ๐
https://github.com/assistant-ui/assistant-ui
ai-chatbot chatbot conversational-ai copilot radix-ui react-chatbot shadcn ui-components vercel-ai-sdk
Last synced: about 3 hours ago
JSON representation
Typescript/React Library for AI Chat๐ฌ๐
- Host: GitHub
- URL: https://github.com/assistant-ui/assistant-ui
- Owner: assistant-ui
- License: mit
- Created: 2023-11-22T16:01:17.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-05-24T00:35:48.000Z (8 days ago)
- Last Synced: 2026-05-24T02:24:51.697Z (8 days ago)
- Topics: ai-chatbot, chatbot, conversational-ai, copilot, radix-ui, react-chatbot, shadcn, ui-components, vercel-ai-sdk
- Language: TypeScript
- Homepage: https://www.assistant-ui.com
- Size: 84.8 MB
- Stars: 10,204
- Watchers: 79
- Forks: 1,032
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
- awesome-opensource-ai - Assistant UI - React/TypeScript library for building production-grade AI chat interfaces. Drop-in components for streaming messages, tool calls, and multi-modal inputs.  (13. Developer Tools & Integrations)
- awesome-shadcnui - Github - ui.com) | โ 4801 | (Components & Libraries)
- awesome - assistant-ui/assistant-ui - Typescript/React Library for AI Chat๐ฌ๐ (TypeScript)
- awesome-open-source-ai-tools - assistant-ui/assistant-ui - Typescript/React Library for AI Chat๐ฌ๐ (Chatbots & Virtual Companions)
- awesome-github-projects - assistant-ui - Typescript/React Library for AI Chat๐ฌ๐ โญ10,082 `TypeScript` ๐ฅ (๐ Web Development - Frontend)
README
Product ยท
Documentation ยท
Examples ยท
Discord ยท
Contact Sales
[](https://www.npmjs.com/package/@assistant-ui/react)
[](https://www.npmjs.com/package/@assistant-ui/react)
[](https://deepwiki.com/assistant-ui/assistant-ui)
[](https://app.workweave.ai/reports/repository/org_GhSIrtWo37b5B3Mv0At3wQ1Q/722184017)

[](https://github.com/assistant-ui/assistant-ui)

## 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:
```bash
npx assistant-ui@latest create # new project
npx assistant-ui@latest init # add to existing project
```
Or install the packages directly:
```bash
npm install @assistant-ui/react @assistant-ui/react-ai-sdk
```
## Usage
```tsx
"use client";
import { AssistantRuntimeProvider } from "@assistant-ui/react";
import { useChatRuntime } from "@assistant-ui/react-ai-sdk";
import { Thread } from "@/components/assistant-ui/thread";
export function Chat() {
const runtime = useChatRuntime();
return (
);
}
```
`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.
[](https://youtu.be/k6Dc8URmLjk)
## 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
| Integration | Package |
| -------------------------------------- | ---------------------------------------------------------------- |
| Vercel AI SDK | `@assistant-ui/react-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 storage | `assistant-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
Radix-style: instead of a single monolithic chat component, you compose primitives and bring your own styles. The CLI ships a great starter; you control everything else.

Sample customization to make a Perplexity lookalike:

## Used in production by
,
,
,
,
,
,
,
,
,
, and many more.

## Demos
## Community & Support
- [Examples](https://www.assistant-ui.com/examples)
- [Documentation](https://www.assistant-ui.com/docs/)
- [Discord](https://discord.com/invite/S9dwgCNEFs)
- [Book a sales call](https://cal.com/simon-farshid/assistant-ui)
## For other platforms
- React Native: [`@assistant-ui/react-native`](https://www.npmjs.com/package/@assistant-ui/react-native)
- Terminal (Ink): [`@assistant-ui/react-ink`](https://www.npmjs.com/package/@assistant-ui/react-ink)
## License
MIT, with optional Assistant Cloud for managed thread persistence and analytics.
Backed by Y Combinator.