Choose an AI runtime
Choose by your existing framework or by the work the interface needs to do.
Start with your application
A runtime owns conversation state and commands. A provider serves models. A protocol connects a server to a client. Ghost can sit at any of these integration edges without choosing a new state engine for your product. Its views remain React; its pure contracts and normalizers have no React dependency.
Already have messages? Start with plain data. Otherwise choose the state owner you want to keep. Complete its first integration before adding advanced commands. Runtime architecture, adapters, threads and stability explain the shared concepts.
By framework or protocol
| You use | Integration | What remains native |
|---|---|---|
| Vercel AI SDK | createAiSdkAdapter over useChat | Transport, UI-message state, tools and persistence |
| TanStack AI | createTanStackAdapter over useChat | Connection, typed tools and SDK state |
| LangChain useStream | createLangChainAdapter | Graph state, checkpoints, branches and interrupts |
| LangGraph SDK | Native values → shared LangChain projection | Runs, stream decoding, graph state and cancellation |
| Eve | createEveAdapter over native session hook | Durable events, delivery, session and interactions |
| AG-UI | createAgUiRuntime over HttpAgent | Event reducer, shared state, interrupts and run options |
| Google ADK | Native event projection or AG-UI bridge | Server runner, session, transfers and tools |
| A2A | Native message/task projection | Contexts, task status, artifacts and auth requirements |
| OpenCode | Native session snapshot projection | Event cache, permissions, questions, forks and workspaces |
| OpenAI Agents SDK | Official UI-message bridge → Vercel | Server agent runs, handoffs, tools and sessions |
| Mastra | Maintained v7 UI-message bridge → Vercel | Memory, run/thread identity and workflow state |
| Cloudflare Agents | Native Agent chat hook → Vercel adapter | Durable turn recovery, connection and server continuations |
| Pydantic AI | Maintained AG-UI or Vercel server interface | Python agent, dependencies, deferred tools and history |
| Claude Managed Agents | Ordered session-event projection | Durable sessions, permissions and custom execution handoffs |
| OpenRouter | Vercel provider or Agent SDK item projection | Model routing or native agent state/tools/usage |
| Agno | AgentOS AG-UI interface → native AG-UI client | Agent/team execution, sessions and policy |
| CrewAI | Maintained AG-UI endpoint → native AG-UI client | Crew/Flow state, orchestration and human input |
Protocol bridges deliberately share one client and canonical views. A new package that merely renames that same bridge would add another upgrade surface without adding a capability. Direct native paths remain available when conversion would lose useful state. Checked versions and limits distinguish executable frontend evidence from application server setup.
By need
| Need | Start here | Example job |
|---|---|---|
| Embed an answer in an existing product | Plain data | A brief summary inside a document |
| Connect a local or simple API | Local/simple API | Text streaming without tool/artifact semantics |
| Keep Redux, Zustand or another store | External store | Existing product state with subscribed messages |
| Consume a UI-message or legacy data stream | Data streams | Current SDK endpoint or an existing v4 backend |
| Render a live task board beside chat | AG-UI shared state or full agent state | An agent edits a plan while explaining progress |
| Branch, inspect or resume graph work | LangChain / LangGraph | Fork a proposal at a checkpoint |
| Ask for permission or clarification | Eve, OpenCode, Managed Agents | Decide about one identified native request |
| Track a remote task and its artifacts | A2A | Review a long-running agent's deliverables |
What Ghost adds
Ghost supplies canonical data/view contracts, optional current-context command guards, capability declarations and reusable React composition. Native clients keep their event reducers, stores and lifecycle. Callers keep transport configuration, persistence, application schema/policy and tool execution. You can use just the views, just a normalizer or the optional runtime binding.
Assistant UI offers managed runtimes, external-store integration and standalone elements. Its managed thread features may suit a new chat product; Ghost's integration edge fits an existing product that already owns state. shadcn offers copyable parts and SDK helpers. These are useful alternatives; SDK independence alone does not establish performance, bundle or whole-library superiority.
Continue to the interface
Use Message, Composer, Tool, Activity, Citation and Questionnaire for composition and styling. Runtime guides explain data and lifecycle; component pages own appearance. For a new runtime, begin at adapters, preserve native identities and prove the actual SDK path before listing it as supported.