AGenUI is a free, open source ai interaction & interfaces project written in C++ and released under Apache-2.0. It has 1,151 GitHub stars, 167 forks and 7 open issues, and was last pushed 11 hours ago. On this registry it ranks #70 of 76 tracked projects in AI Interaction & Interfaces, with 5 head-to-head comparisons available. It gained 6 stars over the last 3 tracked days.

What is AGenUI?

What it is

AGenUI is a native SDK for rendering generative user interfaces on mobile devices across iOS, Android, and HarmonyOS. It is built on, and fully implements, the A2UI v0.9 protocol open-sourced by Google, and it sits in the AI interaction and interface layer of the ecosystem: the LLM produces structured component descriptions, which AGenUI receives as streaming data and turns into live native UI. Under the hood, a shared C++ core engine dispatches the component protocol, while three separate platform rendering engines draw the result using each operating system's own UI capabilities. The project is licensed under Apache 2.0 and is under active development, with English and Chinese documentation.

The concrete problem it solves is the gap between text-only model output and usable mobile interfaces. Rather than sending a user a wall of prose, an application can let the model emit interactive cards, forms, lists, images, and media players that assemble incrementally as tokens arrive. Because descriptions update in real time, the interface grows and changes while the model is still generating, instead of waiting for a complete payload. AGenUI also lets the model invoke client-side tools and functions registered by the host application, so a generated control can trigger real work on the device.

Key capabilities

  • Real-time streaming rendering of structured component descriptions that arrive incrementally from the LLM and update live.
  • Native rendering on iOS, Android, and HarmonyOS, reported to hold 120 fps in core scenarios such as page scrolling.
  • 22 built-in components, comprising 18 A2UI protocol components plus 4 SDK extension components.
  • A custom component API that lets developers register native components and have the LLM emit them by name.
  • Function Call integration for registering client-side tools and functions the model can invoke on demand.
  • A unified Design Token system and theming across all three platforms, with built-in light and dark mode.
  • Runtime configuration through a JSON switch set applied at SDK initialization, plus a physical pixel alignment mode for hairlines and component frames.

Who uses it and how

  • Mobile application teams that want model-generated interfaces rather than static screens, shipping one component description rendered natively on all three platforms.
  • Developers building assistant or agent experiences where the model streams a form, list, or card that the user can immediately interact with.
project readme (upstream, from github) — read inline

AGenUI

AGenUI is a high-performance A2UI SDK for building native generative UI experiences across iOS, Android, and HarmonyOS.

License: Apache 2.0 Platform Android SDK iOS HarmonyOS

Official Website · Quick Start · API Reference · Contributing

English | 中文

This project is under active development and evolving rapidly. Contributions, feedback, and discussions are warmly welcome.


What's New in v1.5.0

Released on 2026-09-04

  • (iOS) Runtime Configuration API: Added AGenUI.setRuntimeConfig(_:), which accepts a JSON string of runtime switches from the host so behavior can be toggled remotely. Call it once during SDK initialization, before any surface renders.
  • (iOS) Physical Pixel Alignment: Hairline borders are promoted to an integer physical pixel width so all four sides render with identical weight on every screen scale, and component frames are snapped to the physical pixel grid so adjacent siblings stay gap-free. Governed by the borderPixelAlignment switch (default on).
  • (HarmonyOS) line-height Measurement Rework: Text measurement now carries the resolved absolute line-box height, matching the render side exactly. An explicit line-height defines the line box even when smaller than the font's natural metrics, and white-space no longer affects line-height resolution.
  • font-weight Catalog Coverage: All three platforms now accept the normal / medium / bold keywords and numeric 100–900 weights, as either a JSON number or an integer string, with platform caveats documented in the catalog.
  • (iOS) Blank-Check Component Count: onBlankCheckResult now reports the component-tree size at detection time. Breaking change: the signature becomes onBlankCheckResult(_ surface:isBlank:componentCount:).
  • (Android) Fixed text disappearing for unbreakable digit and CJK strings at specific screen densities, by aligning measurement metrics with the rendering path.
  • (iOS) Fixed properties applied during component initialization — most visibly a constant trackInfo — never reaching listeners.
  • (HarmonyOS) Fixed DateTimeInput measurement carrying a stale line-height override.

What is AGenUI?

AGenUI is an A2UI SDK that simultaneously supports iOS, Android, and HarmonyOS. Built on and fully implementing the A2UI v0.9 protocol open-sourced by Google, it renders the streaming data of LLM-generated interactive UI in real time on mobile devices. Under the hood, it is powered by a cross-platform shared C++ core engine, while the three-platform rendering engines consume the component protocol dispatched by the core engine and perform drawing using native system capabilities.

AGenUI leverages native system UI capabilities to render interactive cards, forms, lists, images, media players, and more, delivering a high-performance, smooth user experience.


Key Features

  • Real-time streaming rendering — structured component descriptions are generated by the LLM, arrive incrementally, and update in real time
  • High performance — native rendering on iOS, Android, and HarmonyOS, maintaining a 120 fps refresh rate in core scenarios such as page scrolling
  • 22 built-in components — 18 A2UI protocol components + 4 SDK extension components
  • Custom component API — register and extend native components via the custom component API, so the LLM can emit component descriptions by component name
  • Function Call integration — register client-side tools/functions that the LLM can invoke on demand
  • Design Token & theming — unified Design Token system and theme modes across all three platforms
  • Light / Dark mode — built-in light/dark appearance switching

Architecture

AGenUI adopts a shared C++ core engine + three-platform component rendering engines design. The C++ layer implements capabilities shared across all three platforms, including streaming data parsing, virtual component tree management, render data caching, theme/style resolution, and component change diffing. The C++ layer synchronizes the parsed component protocol to the three-platform rendering engines to trigger drawing.

Project Directory

Path Contents
core/ C++ core engine — parser, differ, layout, Function Call framework
core/include/ Public C++ API consumed by platform bridging layers
platforms/ios/ iOS component renderer + Objective-C bridge
platforms/android/ Android component renderer + JNI bridge
platforms/harmony/ HarmonyOS component renderer + NAPI bridge
playground/ Three-platform demo apps for development & debugging
scripts/ Build scripts for each platform

Components

A2UI Protocol Components

The following 18 components implement the A2UI protocol specification and are supported on all three platforms.

Component Description
Text Styled text with variants (h1–h5, body, caption, etc.)
Image Network image with scale modes and rounded corners
Icon Icon rendered via Unicode / SVG mapping
Divider Horizontal or vertical separator
Video Native video player with seek and auto-hiding controls
AudioPlayer Audio player with progress bar
Button Tappable button that triggers Action events
Row Horizontal flex container
Column Vertical flex container
Card Shadowed card container
List Scrollable list with static or template-driven children
Tabs Tab bar with switchable panels
Modal Native dialog overlay
TextField Text input with optional validation
CheckBox Boolean toggle
Slider Numeric range input
ChoicePicker Single / multi-select picker
DateTimeInput Date and time picker

SDK Built-in Extension Components

The following 4 components are bundled with the SDK but are not part of the A2UI protocol specification.

Component Description
Table Data table with Yoga sub-layout
Carousel Image / content carousel
Web Embedded WebView
RichText HTML rich text rendering

Playground Example Components

The following 3 components are registered and applied in the Playground to demonstrate integrating custom components via the API.

Component Description
Chart Bar, line, and pie charts
Markdown Markdown rendering with streaming support
Lottie Lottie animation playback

You can register your own components at runtime using the same API — see the Quick Start section.


Catalog File

The repository root includes agenui_catalog.json, a self-contained (freestanding) Catalog JSON Schema file conforming to the A2UI v0.9 specification. All external $refs have been inlined — it can be used standalone with no external dependencies.

Coverage:

  • 25 components: 18 A2UI protocol standard components + 4 SDK built-in extension components (Table, Carousel, Web, RichText), plus 3 Playground example components (Chart, Markdown, Lottie)
  • 14 functions: covering validation, formatting, logical operators, and URL navigation
  • Shared type definitions: includes all A2UI v0.9 standard types, as well as Styles (general style properties) and TextStyles (text-specific style properties) — both extended by AGenUI

How to use:

When integrating an LLM Agent, supply this file's content or its hosted URL as the catalogId in the supportedCatalogIds field of A2UI ClientCapabilities. The Agent will use this Schema as a constraint to generate strictly conformant A2UI JSON messages, ensuring the renderer correctly parses and renders all dispatched UI components.


A2UI Generation

readme truncated — read the full docs on github

Frequently asked questions

Is AGenUI free to use?

AGenUI is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does AGenUI do?

Native A2UI Renderer for iOS/Android/HarmonyOS. High performance streaming Generative UI. Custom Components, Styles and more.

What is AGenUI written in?

AGenUI is primarily written in C++. Its source is publicly available at https://github.com/AGenUI/AGenUI, and it has 1,151 GitHub stars.