Overview of the A2UI Protocol v0.9
mainThe A2UI (Agent-to-User Interface) Protocol is a JSON-based, streaming protocol designed to dynamically render user interfaces from a server (Agent) to a client (Renderer). It emphasizes a clean separation between UI structure and application data, allowing for progressive rendering as messages arrive.
Core Message Types
The server-to-client protocol consists of four primary message types:
createSurface: Initializes a new surface for rendering.updateComponents: Adds or updates component definitions within a specific surface.updateDataModel: Inserts or replaces data in a surface's data model.deleteSurface: Removes a surface and its contents from the UI.
Data Flow Model
- Create Surface: Server sends
createSurfacewith asurfaceId. - Update Surface: Server sends
updateComponentsto define the UI structure. - Update Data Model: Server sends
updateDataModelto populate components with data. - Render: Client builds the UI using component definitions and the data model.
- Dynamic Updates: Server sends subsequent
updateComponentsorupdateDataModelmessages to reflect changes or user interactions. - Delete: Server sends
deleteSurfaceto clean up the UI.