К основному содержанию
скилл CX Codex

assistant-ui — скилл для Claude Code: что делает и как установить

Помогает проектировать чат-интерфейсы на React: подсказывает архитектуру, выбор пакетов, рантаймов и хуков библиотеки assistant-ui.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add assistant-ui/skills --skill assistant-ui -a claude-code
Открыть на GitHub

Что делает assistant-ui

Скилл выступает архитектурным навигатором по библиотеке assistant-ui линейки 0.15.x. Он объясняет разделение на слои: базовые примитивы @assistant-ui/react, стилизованные элементы, клиентское состояние aui и независимое ядро @assistant-ui/core. Если нужно быстро собрать интерфейс, скилл покажет команду CLI или проведёт через ручную сборку разметки на примитивах.

Внутри описана схема выбора рантайма под конкретный бэкенд. Для Vercel AI SDK v7 используется связка с @assistant-ui/ai-sdk и хук useChatRuntime, а для сторонних серверов предусмотрены адаптеры LangGraph, LangChain, Google ADK, A2A, AG-UI или Eve. Стилизованные компоненты здесь не ставятся отдельным npm-пакетом. Их копируют в проект командой npx assistant-ui@latest add. Об этом легко забыть при первой настройке.

Какие задачи решает

  • выбрать подходящий runtime-адаптер под LangGraph, AI SDK или Google ADK
  • разобраться в архитектурных слоях библиотеки assistant-ui
  • настроить базовый чат с помощью useChatRuntime и элементов thread
  • управлять состоянием треда через хуки useAui, useAuiState и useAuiEvent

Примеры запросов агенту

  • Объясни, какой рантайм assistant-ui выбрать для интеграции с LangGraph
  • Покажи, как инициализировать базовый чат с помощью @assistant-ui/ai-sdk и компонента Thread
  • Как обновлять сообщения и отслеживать события через useAui и useAuiState?

Как установить assistant-ui

1Через Skills CLI (Vercel)

npx skills add assistant-ui/skills --skill assistant-ui -a claude-code

2Вручную: положить файлы

~/.claude/skills/assistant-ui/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/assistant-ui/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о assistant-ui

Как установить assistant-ui в Claude Code?

Выполните в терминале команду npx skills add assistant-ui/skills --skill assistant-ui -a claude-code. Файл навыка сохранится по пути ~/.claude/skills/assistant-ui/SKILL.md.

Что делает скилл assistant-ui?

Он ориентирует агента в архитектуре assistant-ui, подсказывает правильные пакеты и помогает подбирать адаптеры рантайма для версии 0.15.x.

Как в assistant-ui подключаются стилизованные компоненты?

Стилизованные элементы не поставляются как npm-пакет. Их добавляют командой npx assistant-ui@latest add thread, которая копирует код прямо в папку components/assistant-ui/elements/.

Исходный текст

SKILL.md · MIT
---
name: assistant-ui
description: "Overview and router for assistant-ui, the React library for building AI chat interfaces from composable primitives and a styled elements catalog. Use for high-level, cross-cutting, or architecture questions: choosing packages, picking a runtime, or understanding the layers (elements, primitives, the aui client with AuiConfig and AuiProvider, the runtime, adapters) and the message model. Covers `@assistant-ui/react` 0.15.x, `@assistant-ui/ai-sdk` for AI SDK v7 (`useChatRuntime`), `@assistant-ui/core`, `@assistant-ui/store`, `assistant-stream`, `assistant-cloud`, the LangGraph, LangChain, Google ADK, A2A, AG-UI, Eve, OpenCode, and Pi adapters, the `@assistant-ui/react-native` and `@assistant-ui/react-ink` bindings, and the `useAui`, `useAuiState`, and `useAuiEvent` hooks. For a specific area route to a focused sibling instead: setup, elements, primitives, runtime, tools, generative-ui, streaming, cloud, thread-list, copilots, markdown, react-mcp, observability, react-native, ink, or update."
license: MIT
---

# assistant-ui

**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms.txt) for the latest API.**

React library for AI chat interfaces: unstyled primitives, a styled elements catalog, a runtime that adapts any backend, and optional cloud persistence. Current line is `@assistant-ui/react` 0.15.x on AI SDK v7 through `@assistant-ui/ai-sdk`.

## References

- [./references/architecture.md](./references/architecture.md) -- layers, the aui client, data flow, message model
- [./references/packages.md](./references/packages.md) -- every published package and when to install it

## When to Use

| Use Case | Reach for |
|----------|-----------|
| Chat UI in an afternoon | `npx assistant-ui@latest create`, then the `thread` element |
| Full control over markup | Primitives (`ThreadPrimitive`, `ComposerPrimitive`, `MessagePrimitive`) |
| Existing AI backend | A runtime adapter (AI SDK, LangGraph, LangChain, ADK, A2A, AG-UI, Eve, OpenCode) or `useLocalRuntime` |
| Tools with UI | `"use generative"` toolkits, tool UI, generative UI |
| Multi-thread apps | Thread list elements plus Assistant Cloud or your own adapter |
| Copilots in an app | Instructions, context, visible components, interactables |
| Mobile or terminal | `@assistant-ui/react-native`, `@assistant-ui/react-ink` |

## Architecture

```
┌──────────────────────────────────────────────────────────────┐
│  Elements (styled, copied into components/assistant-ui/)     │
│  Primitives (unstyled, @assistant-ui/react)                  │
└───────────────────────────┬──────────────────────────────────┘
                            │ read state, call actions
┌───────────────────────────▼──────────────────────────────────┐
│  aui client: useAui, useAuiState, useAuiEvent, AuiIf         │
│  scopes provided by AuiConfig through AssistantRuntimeProvider│
│  or AuiProvider (@assistant-ui/store on @assistant-ui/tap)   │
└───────────────────────────┬──────────────────────────────────┘
                            │
┌───────────────────────────▼──────────────────────────────────┐
│  Runtime: AssistantRuntime → ThreadRuntime → MessageRuntime  │
│  (@assistant-ui/core, framework neutral)                     │
└───────────────────────────┬──────────────────────────────────┘
                            │
┌───────────────────────────▼──────────────────────────────────┐
│  Adapters and backends: AI SDK · LangGraph · LangChain · ADK │
│  A2A · AG-UI · Eve · OpenCode · custom · Assistant Cloud     │
└──────────────────────────────────────────────────────────────┘
```

## Pick a Runtime

```
Vercel AI SDK?
├─ Yes → useChatRuntime from @assistant-ui/ai-sdk (recommended)
└─ No
   ├─ LangGraph server → useLangGraphRuntime (@assistant-ui/react-langgraph)
   ├─ LangChain / LangGraph useStream → useStreamRuntime (@assistant-ui/react-langchain)
   ├─ Google ADK → useAdkRuntime (@assistant-ui/react-google-adk)
   ├─ A2A protocol → useA2ARuntime (@assistant-ui/react-a2a)
   ├─ AG-UI protocol → useAgUiRuntime (@assistant-ui/react-ag-ui)
   ├─ Eve agents → useEveAgentRuntime (@assistant-ui/eve)
   ├─ OpenCode → useOpenCodeRuntime (@assistant-ui/react-opencode)
   ├─ Claude Managed Agents → useExternalStoreRuntime + useRemoteThreadListRuntime
   ├─ State already in Redux/Zustand/your store → useExternalStoreRuntime
   ├─ Custom endpoint speaking Assistant Transport → useAssistantTransportRuntime
   └─ Any other custom API → useLocalRuntime with a ChatModelAdapter
```

## Core Packages

| Package | Purpose |
|---------|---------|
| `@assistant-ui/react` | Primitives, hooks, runtimes, provider |
| `@assistant-ui/ai-sdk` | AI SDK v7 integration (`useChatRuntime`, `AssistantChatTransport`, `AISDKToolkit`, `frontendTools`) |
| `@assistant-ui/core` | Framework-neutral runtime shared by React, React Native, Ink |
| `@assistant-ui/store` | `AuiConfig`, `AuiProvider`, `useAui` state layer |
| `@assistant-ui/react-markdown` | Markdown rendering (`MarkdownTextPrimitive`) |
| `assistant-stream` | Streaming protocol, encoders, resumable streams |
| `assistant-cloud` | Assistant Cloud client |
| `assistant-ui` | The CLI (`create`, `init`, `add`, `update`, `upgrade`, `doctor`, `mcp`, `agent`) |

`@assistant-ui/react-ai-sdk` re-exports `@assistant-ui/ai-sdk` for older installs; new code imports from `@assistant-ui/ai-sdk`. Styled components are not a package: `npx assistant-ui@latest add thread` copies them into `components/assistant-ui/elements/`. See [./references/packages.md](./references/packages.md) for the full inventory.

## Quick Start

```tsx
"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 default function Chat() {
  const runtime = useChatRuntime();
  return (
    <AssistantRuntimeProvider runtime={runtime}>
      <Thread />
    </AssistantRuntimeProvider>
  );
}
```

`useChatRuntime()` posts to `/api/chat` through `AssistantChatTransport`, which also forwards frontend tools and system instructions. Pass `new AssistantChatTransport({ api })` to change the endpoint.

## State Access

Scope accessors on `aui` are properties; methods on a scope keep their parentheses. Selectors return one primitive or stable reference each.

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

const aui = useAui();
aui.thread.append({ role: "user", content: [{ type: "text", text: "Hi" }] });
aui.thread.cancelRun();
aui.thread.composer().send();
aui.threads.switchToNewThread();

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

useAuiEvent("threads.selectionChanged", ({ threadId, previousThreadId }) => {});
```

## Providing Scopes

Tools, suggestions, interactables, MCP managers, and other scopes are declared with `AuiConfig` and handed to the provider; `useAui()` takes no arguments.

```tsx
import { AssistantRuntimeProvider, AuiConfig, Suggestions, Tools } from "@assistant-ui/react";
import { useChatRuntime } from "@assistant-ui/ai-sdk";
import toolkit from "./toolkit";

const runtime = useChatRuntime();
const config = AuiConfig({
  tools: Tools({ toolkit }),
  suggestions: Suggestions(["What can you do?", "Summarize this page"]),
});

<AssistantRuntimeProvider runtime={runtime} config={config}>{children}</AssistantRuntimeProvider>;
```

Nested scopes use `<AuiProvider extends={useAui()} config={config}>`; an isolated root uses `extends={null}`.

## Related Skills

- [setup](../setup/SKILL.md) -- CLI, templates, runtime adapters, platforms
- [elements](../elements/SKILL.md) -- the styled component catalog and how to install and override it
- [primitives](../primitives/SKILL.md) -- unstyled building blocks and composer features
- [runtime](../runtime/SKILL.md) -- runtimes, the aui client, adapters, events
- [tools](../tools/SKILL.md) -- toolkits, tool UI, approvals, MCP, WebMCP
- [generative-ui](../generative-ui/SKILL.md) -- the `present` tool and component vocabularies
- [streaming](../streaming/SKILL.md) -- assistant-stream, transports, resumable streams
- [cloud](../cloud/SKILL.md) -- Assistant Cloud persistence and auth
- [thread-list](../thread-list/SKILL.md) -- multi-thread management
- [copilots](../copilots/SKILL.md) -- grounding the assistant in your app
- [markdown](../markdown/SKILL.md) -- markdown, code, math, diagrams
- [react-mcp](../react-mcp/SKILL.md) -- user-managed MCP servers
- [observability](../observability/SKILL.md) -- tracing and span visualization
- [react-native](../react-native/SKILL.md) -- Expo and React Native
- [ink](../ink/SKILL.md) -- terminal chat with Ink
- [update](../update/SKILL.md) -- upgrades and migrations

© assistant-ui · MIT · assistant-ui/skills

Похожие скиллы

Всё по теме «Фронтенд и UI» →
ai-sdk vercel Скилл помогает писать код на базе Vercel AI SDK и не допускать устаревших API. Он проверяет локальную документацию пакета перед генерацией. CX Codex +1 66 100установок vercel-development Mindrally Набор правил для ИИ-агента: как писать код под Next.js App Router, React Server Components и Vercel AI SDK. Пригодится, когда агент лепит клиентские компоненты там, где хватило бы серверных. CX Codex +1 712установок ai-elements официальный Vercel Labs Скилл подсказывает, как собирать AI-интерфейсы на React с компонентами ai-elements. Пригодится для чатов, потоковых ответов и отображения вызовов инструментов. CX Codex GP ChatGPT 7установок json-render официальный Vercel Labs Помогает отображать части UIMessage, результаты вызова инструментов и статус стриминга в React-интерфейсах на AI SDK v6. CX Codex GP ChatGPT 4установок agent-elements 21st-dev Помогает ассистенту собирать интерфейсы чатов и агентов на React 19 и Tailwind v4 через компоненты Agent Elements. Нужен для вывода карточек вызова инструментов, планов и подтверждений. CX Codex +1 724установок shadcn shadcn-ui Скилл ведёт агента по работе с shadcn/ui: добавляет компоненты, ищет в реестрах, чинит верстку и собирает дизайн-систему по вашему описанию. CX Codex +1 123 300установок

Из того же набора13

streaming Скилл по проводным протоколам и бэкенд-хелперам assistant-ui: помогает собрать свой стриминговый эндпоинт и разобрать формат чанков. CX Codex +1 6 400установок primitives Скилл помогает собирать кастомные интерфейсы чата на базе нестилизованных компонентов @assistant-ui/react. Пригодится при вёрстке тредов, композеров и списков сообщений. CX Codex +1 6 300установок tools Скилл про то, как объявлять инструменты, которые вызывает модель, и рисовать их вызовы в assistant-ui. Пригодится, когда инструмент не вызывается или его UI не отрисовывается. CX Codex +1 6 300установок thread-list Скилл для assistant-ui: добавляет боковую панель с несколькими диалогами, переключением, переименованием, архивацией и удалением. CX Codex +1 6 200установок update Обновляет существующее приложение на assistant-ui до актуальных версий AI SDK v7 и assistant-ui 0.15.x, применяя нужные миграции. Пригодится, когда после апдейта посыпались ошибки типов или пропали хуки. CX Codex +1 5 900установок cloud Подключает AssistantCloud к приложению на assistant-ui: история тредов между сессиями, обратная связь по сообщениям и загрузка файлов. CX Codex +1 5 000установок react-mcp Скилл для работы с @assistant-ui/react-mcp: подключает MCP-серверы, выбранные пользователем, прямо в браузере и регистрирует их инструменты в чате. CX Codex +1 4 000установок observability Подключает Langfuse, LangSmith или Helicone к бэкенд-роутам assistant-ui на AI SDK и рисует собранные спаны через экспериментальный @assistant-ui/react-o11y. CX Codex +1 4 000установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой