assistant-ui

Always consult assistant-ui.com/llms.txt for latest API.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "assistant-ui" with this command: npx skills add assistant-ui/skills/assistant-ui-skills-assistant-ui

assistant-ui

Always consult assistant-ui.com/llms.txt for latest API.

React library for building AI chat interfaces with composable primitives.

References

  • ./references/architecture.md -- Core architecture and layered system

  • ./references/packages.md -- Package overview and selection guide

When to Use

Use Case Best For

Chat UI from scratch Full control over UX

Existing AI backend Connects to any streaming backend

Custom message types Tools, images, files, custom parts

Multi-thread apps Built-in thread list management

Production apps Cloud persistence, auth, analytics

Architecture

┌─────────────────────────────────────────────────────────┐ │ UI Components (Primitives) │ │ ThreadPrimitive, MessagePrimitive, ComposerPrimitive │ └─────────────────────────┬───────────────────────────────┘ │ ┌─────────────────────────▼───────────────────────────────┐ │ Context Hooks │ │ useAui, useAuiState, useAuiEvent │ └─────────────────────────┬───────────────────────────────┘ │ ┌─────────────────────────▼───────────────────────────────┐ │ Runtime Layer │ │ AssistantRuntime → ThreadRuntime → MessageRuntime │ └─────────────────────────┬───────────────────────────────┘ │ ┌─────────────────────────▼───────────────────────────────┐ │ Adapters/Backend │ │ AI SDK · LangGraph · Custom · Cloud Persistence │ └─────────────────────────────────────────────────────────┘

Pick a Runtime

Using AI SDK? ├─ Yes → useChatRuntime (recommended) └─ No ├─ External state (Redux/Zustand)? → useExternalStoreRuntime ├─ LangGraph agent? → useLangGraphRuntime ├─ AG-UI protocol? → useAgUiRuntime ├─ A2A protocol? → useA2ARuntime └─ Custom API → useLocalRuntime

Core Packages

Package Purpose

@assistant-ui/react

UI primitives & hooks

@assistant-ui/react-ai-sdk

Vercel AI SDK v6 adapter

@assistant-ui/react-langgraph

LangGraph adapter

@assistant-ui/react-markdown

Markdown rendering

assistant-stream

Streaming protocol

assistant-cloud

Cloud persistence

Quick Start

import { AssistantRuntimeProvider } from "@assistant-ui/react"; import { Thread } from "@/components/assistant-ui/thread"; import { useChatRuntime, AssistantChatTransport } from "@assistant-ui/react-ai-sdk";

function App() { const runtime = useChatRuntime({ transport: new AssistantChatTransport({ api: "/api/chat" }), }); return ( <AssistantRuntimeProvider runtime={runtime}> <Thread /> </AssistantRuntimeProvider> ); }

State Access

import { useAui, useAuiState } from "@assistant-ui/react";

const api = useAui(); api.thread().append({ role: "user", content: [{ type: "text", text: "Hi" }] }); api.thread().cancelRun();

const messages = useAuiState(s => s.thread.messages); const isRunning = useAuiState(s => s.thread.isRunning);

Related Skills

  • /setup

  • Installation and configuration

  • /primitives

  • UI component customization

  • /runtime

  • State management deep dive

  • /tools

  • Tool registration and UI

  • /streaming

  • Streaming protocols

  • /cloud

  • Persistence and auth

  • /thread-list

  • Multi-thread management

  • /update

  • Version updates and migrations

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

streaming

No summary provided by upstream source.

Repository SourceNeeds Review
General

primitives

No summary provided by upstream source.

Repository SourceNeeds Review
General

tools

No summary provided by upstream source.

Repository SourceNeeds Review