1. UI组件定义
json
{
"id": "restaurant-card",
"component": {
"Card": {
"child": "card-content"
}
}
}
2. 数据绑定
json
{
"id": "restaurant-name",
"component": {
"Text": {
"text": {"path": "/restaurant/name"}
}
}
}
3. 动态列表
json
{
"id": "restaurant-list",
"component": {
"List": {
"children": {
"template": {
"componentId": "restaurant-card",
"dataBinding": "/restaurants"
}
}
}
}
}
4. 用户交互
css
{
"id": "book-button",
"component": {
"Button": {
"action": {"name": "book_restaurant"}
}
}
}
5. 性能优化
json
// 只更新变化的数据
{
"dataModelUpdate": {
"path": "/restaurant/rating",
"contents": [
{"key": "rating", "valueNumber": 4.8}
]
}
}
仅此而已。A2UI不关心:
- 消息如何传输
- 状态如何管理
- 工具如何调用
- 会话如何维护
这些都是其他层的责任。
集成方式:
javascript
// 使用Lit渲染器
import { A2UIRenderer } from '@a2ui/lit';
const renderer = new A2UIRenderer();
renderer.processMessage(a2uiMessage);
实际集成示例
ini
# 智能体端
from a2ui import A2UIGenerator
a2ui_message = A2UIGenerator.create_form(...)
# 通过任意方式发送(HTTP、WebSocket等)
send_to_client(a2ui_message)
javascript
// 前端
import { A2UIRenderer } from '@a2ui/lit';
const renderer = new A2UIRenderer();
renderer.processMessage(a2ui_message);