OpenUI SDK
Package guide for the full OpenUI SDK surface, including framework-agnostic, React, Vue, Svelte, email, browser-bundle, and CLI entrypoints.
The OpenUI SDK is split into packages that build on each other:
-
@openuidev/lang-core— Framework-agnostic parser, prompt-generation, runtime-evaluation, and type layer. Use this when you need OpenUI Lang outside React, or when a backend/Edge function needs to generate prompts and parse streamed output without pulling in UI bindings. -
@openuidev/react-lang— React runtime. Define component libraries with Zod schemas, generate system prompts, parse OpenUI Lang, and render streamed output to React. This is the foundation for React integrations. -
@openuidev/react-headless— Headless chat state management. ProvidesChatProvider, thread/message hooks, streaming protocol adapters (OpenAI, AG-UI), and message format converters. Use this when you want full control over your chat UI. -
@openuidev/react-ui—AgentInterface, a ready-to-use artifact chat surface with thread history, plus two built-in component libraries (general-purpose and chat-optimized). Depends on both packages above. Use this for the fastest path to a working chat interface. -
@openuidev/react-email— Pre-built email component library and prompt options for model-generated emails that can be rendered to HTML with React Email. -
@openuidev/vue-lang— Vue 3 bindings for defining model-renderable components, generating prompts from those definitions, and rendering streamed OpenUI Lang in Vue apps. -
@openuidev/svelte-lang— Svelte 5 bindings for defining model-renderable components, generating prompts, and rendering streamed OpenUI Lang in Svelte apps. -
@openuidev/browser-bundle— Prebuilt browser bundle for CDN, iframe, and no-build integrations. It packages the renderer, UI library, React, ReactDOM, and styles into script-tag-friendly assets. -
@openuidev/cli— Command-line tool for scaffolding new OpenUI chat apps and generating system prompts or JSON schemas from library definitions.
Choosing a package
| If you need... | Start here |
|---|---|
| Prompt generation or parsing without a UI framework | @openuidev/lang-core |
| React rendering primitives for OpenUI Lang | @openuidev/react-lang |
| Chat state and streaming without prebuilt UI | @openuidev/react-headless |
| A ready-made React chat surface | @openuidev/react-ui |
| Model-generated emails | @openuidev/react-email |
| Vue integration | @openuidev/vue-lang |
| Svelte integration | @openuidev/svelte-lang |
| Script-tag, CDN, or iframe embeds | @openuidev/browser-bundle |
| App scaffolding and prompt/schema generation from the command line | @openuidev/cli |
Packages
@openuidev/lang-core
Framework-agnostic parser, prompt-generation, runtime-evaluation, and type APIs for OpenUI Lang.
@openuidev/react-lang
defineComponent, createLibrary, Renderer, parser APIs, action types, context hooks, and form validation.
@openuidev/react-headless
ChatProvider, useThread/useThreadList, stream protocol adapters (OpenAI, AG-UI), and message format converters.
@openuidev/react-ui
AgentInterface, a ready-to-use artifact chat surface with thread history, and two built-in component libraries (general-purpose and chat-optimized).
@openuidev/react-email
API reference for the pre-built email templates library and prompt options.
@openuidev/vue-lang
Vue 3 bindings for defining model-renderable components and rendering streamed OpenUI Lang.
@openuidev/svelte-lang
Svelte 5 bindings for defining model-renderable components and rendering streamed OpenUI Lang.
@openuidev/browser-bundle
CDN, iframe, and no-build browser bundle for the renderer, UI library, React, and styles.
@openuidev/cli
openui create (scaffold a Next.js app) and openui generate (system prompt / JSON schema from a library definition).