finds.dev← search

// the find

assistant-ui/assistant-ui

★ 10,549 · TypeScript · MIT · updated Jun 2026

Typescript/React Library for AI Chat💬🚀

assistant-ui is a React component library for building AI chat interfaces, following a Radix-style composable primitives pattern. It integrates with Vercel AI SDK, LangGraph, and a growing list of other backends out of the box. Primarily targets Next.js/React developers who want a production-ready chat UI without writing the boring parts from scratch.

- The composable primitives approach (Thread, Message, Composer, ActionBar) means you're not fighting a monolithic component when you need to customize — you assemble what you need and style it yourself, similar to how shadcn/ui works.

- Backend adapter coverage is genuinely broad: Vercel AI SDK, LangGraph, AG-UI, Google ADK, and custom data streams are all first-class, with the runtime swappable at the top level rather than baked into components.

- Generative UI support (rendering tool calls as React components, inline human-in-the-loop approvals) is something most chat libraries skip entirely, and here it appears to be a core feature rather than an afterthought.

- The browser devtools extension for inspecting message parts, tool calls, MCP state, and run timelines is a rare and practical inclusion that most competing libraries don't have.

- The library is heavily Next.js-centric — the CLI scaffolds Next.js projects, examples assume RSC/App Router, and using it in Vite or non-Next React setups will require more manual wiring than the docs imply.

- The managed cloud offering (thread history, telemetry, file storage) is closed-source and paid, meaning if you need persistence at scale, you're either building it yourself or becoming a customer — the OSS layer alone is intentionally incomplete for production-grade multi-user scenarios.

- The package count is sprawling (react, react-ai-sdk, react-langgraph, react-ag-ui, react-google-adk, react-opencode, react-native, react-ink, etc.) with each being a separate versioned package, which means keeping integrations in sync and tracking breaking changes across adapters is a real ongoing maintenance burden for adopters.

- React Native and terminal (Ink) packages exist but appear underdeveloped compared to the web library — treating them as first-class options based on README alone would be a mistake without checking their actual feature parity.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →