A2UI needs the optional component package:
pip install "veadk-python[a2ui]".Project setup
Complete model configuration and use a tool-capable model with the ADK runtime. Create the files below; use the next example foragent.py and put from . import agent in __init__.py
Enable
Setenable_a2ui=True when creating the agent, and it can reply with UI when appropriate. It uses a built-in basic component set by default (card, text, button, divider, and other common components):
agent.py
instruction — stating when to use UI works best.
See it rendered
Run from the parent directory ofagents:
ui_agent and ask for three tasks displayed as cards. A successful response includes a structured card. If only text appears, check whether the model called the A2UI tool and whether the frontend recognized its components. Models do not guarantee UI output on every turn
A2UI is rendered by the frontend. Launch VeADK Frontend and chat with the agent to see the returned cards and other components.
Custom components
Beyond the built-in set, you can add your own components (a revenue chart, an order card, …). A custom component has two parts:- Backend: declare a component catalog that tells the model which components are available;
- Frontend: provide a renderer for each component.
a2ui_catalog to enable it. For the frontend renderer, see VeADK Frontend · Add enterprise components.
Components without a renderer fall back to a collapsible JSON view, so a mismatch never breaks the UI.
Catalog example
Save this script ascreate_catalog.py and run it in agents/ui_agent. It adds RevenueChart to the basic catalog and writes catalog.json, which the agent discovers at startup
create_catalog.py
RevenueChart renderer in Frontend and rebuild it. A catalog does not install frontend components; the JSON fallback for unknown components is diagnostic output, not successful component rendering