Skip to content

About

Typescript/React Library for AI Chat 馃挰馃殌

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

聽
聽

Latest commit

聽

History

6,369 Commits

Folders and files

NameName
Last commit message
Last commit date
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽
聽

Repository files navigation

assistant-ui: the frontend library for AI agents

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.

An assistant-ui chat: a hotel search tool call, a streamed reply, an approval card that the user allows, and follow-up suggestions

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 ai
Running npx assistant-ui@latest init in a terminal

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.

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.
A get_weather tool call rendered as a weather card inside an assistant-ui chat

Backends

Integration Package
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 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

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.

A chat UI annotated with the primitives that build it: ThreadPrimitive.Viewport, MessagePrimitive.Root and Parts, makeAssistantToolUI, ActionBarPrimitive, BranchPickerPrimitive, and ComposerPrimitive.Input, Send and AddAttachment

Used in production by

Mastra聽聽聽聽聽聽LangChain聽聽聽聽聽聽Athena Intelligence聽聽聽聽聽聽Browser Use聽聽聽聽聽聽Stack

Inconvo聽聽聽聽聽聽Iterable聽聽聽聽聽聽Helicone聽聽聽聽聽聽Gram聽聽聽聽聽聽Coreviz

鈥nd many more.

Chart of assistant-ui's traction

Demos

Short Demo Long Demo

Community & Support

License

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

Backed by Y Combinator.

About

Typescript/React Library for AI Chat 馃挰馃殌

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages