Picking a runtime

Decision guide for choosing the right runtime, by framework or by feature.

A runtime is the connection between assistant-ui's UI primitives and your AI backend. Pick one by the framework you use or by what you need.

Lens 1: by framework

If you already use one of these frameworks, pick its runtime.

First-party adapters

assistant-ui ships React adapter packages for these. Pick the matching card and follow its overview.

Integration guides

For frameworks without a dedicated adapter, these wiring guides route through an existing runtime: an adapter above, or one of the core runtimes.

Lens 2: by needs

If you do not know your framework yet, or your backend is custom, pick by what you need:

You needUse
Simple fetch call to your API, runtime owns stateLocalRuntime
Keep messages in redux, zustand, tanstack-query, etc.ExternalStoreRuntime
Backend that already speaks the data stream protocolDataStream
Stream full agent state snapshots (not just messages)AssistantTransport

If none of the framework adapters fits, start at custom backend.

Shared concepts

These apply to every runtime.

  • Architecture: framework adapters wrap one of two core runtimes (LocalRuntime, ExternalStoreRuntime). See architecture for the full layering.
  • Adapters (attachments, speech, feedback, history, suggestions) work the same way across runtimes. See adapters.
  • Threads (single, cloud, custom database) follow the same model. See threads.
  • Stability policy: APIs prefixed with unstable_ may change in any release. See stability.

Info

Need help? Join our Discord community or check the GitHub repo.