a2ui-project/a2ui
AI EngineeringAn open spec and renderer libraries that let agents describe UI as safe, updatable JSON instead of executable code.
A2UI targets teams building agents that need to show interactive interfaces—forms, dashboards, approval panels—inside an existing app. Rather than having the model emit code, the agent emits a declarative JSON payload describing component intent and data, and the client renders it with its own trusted components. The project is at an early-stage public preview: v0.9.1 is the current production release, v1.0 is a release candidate, and v0.8 is legacy.
How it works
The flow separates generation from execution. An LLM produces an A2UI response as a flat list of ID-referenced components; a transport such as A2A or AG-UI carries it to the client; the client's renderer resolves it against a catalog of pre-approved components and maps abstract types to native widgets. The stated security model is that the agent can only request components from the app's catalog, so generated UI is treated as data rather than executed code. Because the format is framework-agnostic, one payload can render on different clients, and incremental updates support progressive rendering during a conversation.
Ways to start
There is no single required stack, and prerequisites differ by path. The restaurant-finder quickstart runs a Gemini-powered ADK agent with a Lit client locally and needs Node.js 18+ with Corepack, uv, and a Gemini API key; it opens a local client at port 5173 (quickstart, full walkthrough). The AG-UI route scaffolds an application with create-ag-ui-app and then enables A2UI rendering, aimed at whatever agent framework or harness you already use (AG-UI guide). The browser-based Composer and Theater need no install: Composer produces A2UI JSON from a visual editor, while Theater steps through pre-built streaming scenarios across Lit, React, and Angular (Composer, Theater).
Renderers and current gaps
Official TypeScript renderers exist for Lit, Angular, and React, with a shared web core and a markdown renderer (package list). Flutter is available through the GenUI SDK, which uses A2UI underneath, and a full renderer list is maintained in the docs (GenUI SDK, renderer reference). SwiftUI support is present but not published yet. The roadmap calls for stabilizing v1.0 and adding React, Jetpack Compose, and iOS SwiftUI renderers, plus more transports and agent frameworks.
Constraints to weigh
The author explicitly warns that the spec and implementations are functional but still evolving, so expect changes. Host applications must be built in a supported framework—currently web or Flutter. Security is ultimately developer-owned: the catalog is only as trusted as the components you register, and custom wrappers, including iframe sandboxing for legacy content, are where strict policies must be enforced. Some packages, notably the TypeScript agent SDK, Flutter renderer, and Swift libraries, are source-only for now.
HotRepo's take
A dated daily-board observation on 2026-10-31 shows 16,905 stars, up 14 that day; one snapshot is not enough to judge momentum, so treat the design fit and preview status as the deciding factors.
Written by AI from the project's README, updated October 31, 2026. The project's own docs are the source of truth.