跳到正文
本页内容

A2UI 主题设计

A2UI 如何把语义化组件请求与宿主持有的视觉设计分离。

更新: 2026/8/24 审校: HIA2UI 编辑组 v0.9.1

A2UI 主题设计

A2UI 允许 Agent 请求语义化组件,由宿主应用控制实际实现。Agent 可以请求标题或主要按钮,但不应生成任意 CSS。

语义属性

v0.9.1 基础 Catalog 使用受限属性,例如 TextButtonvariant

{"id":"warning","component":"Text","text":"请确认本次变更","variant":"h2"}
{"id":"confirm-label","component":"Text","text":"确认"}
{"id":"confirm","component":"Button","child":"confirm-label","variant":"primary","action":{"event":{"name":"confirmChange"}}}

这些值表达意图,而不是像素。渲染器负责把它们映射到宿主设计系统的排版、颜色、间距、焦点与动态效果 Token。

主题所有权

映射逻辑应放在经过审查的渲染器或组件代码中。Agent 不能选择原始类名、注入样式块,也不能提供不受限制的颜色与尺寸。自定义 Catalog 如需开放外观选项,应限制为枚举值,并像其他属性一样校验。

深色模式不会自动成立:宿主必须定义并测试深色主题。还要验证对比度、焦点可见性、系统颜色偏好、减少动态效果、缩放和高对比度。生成文本往往比设计 Fixture 更长,因此每种支持语言都要测试换行与溢出。

Catalog 版本

主题字段和组件 variant 可能随协议与 Catalog 版本变化。必须固定 Catalog,并核对准确的v0.9.1 基础 Catalog Schema。自定义组件应复用宿主 Token,避免创建另一套平行样式系统。