| name | a2ui-v0-8 |
| description | 使用 A2UI v0.8(以 renderers/lit/src/0.8 与 specification/0.8 为准)生成服务端 JSONL UI 消息,并实现客户端事件与 A2A 扩展回传。适用于把用户需求转成 A2UI 组件树+数据模型+渲染序列,以及处理 action/userAction 与后端接口调用的场景。 |
A2UI v0.8 统一技能
概览
提供 A2UI v0.8 的端到端规范与实操流程:UI 生成(surfaceUpdate/dataModelUpdate/beginRendering/deleteSurface)与客户端事件回传(action → userAction → A2A)。
工作流(必须遵循)
- 确认 Catalog 与 surfaceId:默认标准 Catalog,所有组件 id 唯一。
- 设计组件图:扁平组件列表 + children/child 组装树。
- 写入数据模型:dataModelUpdate 填充 ValueMap,并用 path 绑定。
- 触发渲染:发送 beginRendering 指定 root。
- 交互回传:组件 action.context 绑定数据,客户端解析为 userAction。
- 增量更新:结构变更 surfaceUpdate,数据变更 dataModelUpdate。
生成侧规则
- 每条消息只能有一个顶级键:beginRendering / surfaceUpdate / dataModelUpdate / deleteSurface。
- surfaceUpdate.components 中 component 只能有一个组件类型键。
- children 使用 explicitList 或 template(template 必须含 componentId 与 dataBinding)。
- dataModelUpdate.contents 只使用 ValueMap(valueString/valueNumber/valueBoolean/valueMap)。
- BoundValue 的 literal* 与 path 二选一;相对 path 以 dataContextPath 解析。
客户端事件规则
- userAction 必填:name、surfaceId、sourceComponentId、timestamp。
- action.context 必须解析成最终值(不可保留 path)。
- 发送 DataPart 时 mimeType 必须与服务端一致,规范为 application/json+a2ui。
- 每次 A2A 消息都携带 a2uiClientCapabilities(supportedCatalogIds)。
兼容性提示
- TextField 字段命名在 schema 与 renderer 存在差异:schema 常用 textFieldType,Lit v0.8 类型用 type。接入时必须做字段对齐或映射。
- Modal 的 entryPointChild 会被渲染器赋 slot="entry",不要复用 slot 名称。
参考资料(按需加载)
- 协议与数据模型:
references/protocol-v0-8.md - 标准组件清单:
references/standard-catalog-v0-8.md - Schema 定位:
references/schemas-v0-8.md - JSONL 模板示例:
references/examples-jsonl-v0-8.md - 片段库:
references/snippets-v0-8.md - 客户端事件解析:
references/client-events-v0-8.md - A2A 扩展与能力协商:
references/a2a-extension-v0-8.md - 端到端流程:
references/sample-client-flow.md - 端到端请求模板:
usage.md