A2UI Compose

  
Jetpack Compose Agent-to-UI (A2UI) 渲染器提供 A2UI 协议的实现,使 AI 智能体能够生成丰富的交互式界面,这些界面可渲染原生 Compose 组件,而无需执行任意代码。
最近更新时间 稳定版 候选版 Beta 版 Alpha 版
2026 年 9 月 23 日 - - - 1.0.0-alpha01

声明依赖项

如需添加 A2UI Compose 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

Groovy

dependencies {
    implementation "androidx.a2ui.compose:compose-runtime:1.0.0-alpha01"
    implementation "androidx.a2ui.compose:compose-ui:1.0.0-alpha01"
    androidTestImplementation "androidx.a2ui.compose:compose-ui-testing:1.0.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.a2ui.compose:compose-runtime:1.0.0-alpha01")
    implementation("androidx.a2ui.compose:compose-ui:1.0.0-alpha01")
    androidTestImplementation("androidx.a2ui.compose:compose-ui-testing:1.0.0-alpha01")
}

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.0

版本 1.0.0-alpha01

2026 年 9 月 23 日

发布了 androidx.a2ui.compose:compose-runtime:1.0.0-alpha01androidx.a2ui.compose:compose-ui:1.0.0-alpha01androidx.a2ui.compose:compose-ui-testing:1.0.0-alpha01。版本 1.0.0-alpha01 中包含这些提交内容

新功能

Jetpack Compose Agent-to-UI (A2UI) 渲染器提供 A2UI 协议的实现,使 AI 智能体能够生成丰富的交互式界面,这些界面可渲染原生 Compose 组件,而无需执行任意代码。此库将 A2UI 协议消息映射到 Compose 原语,同时基于 Compose 快照状态系统提供精细的反应性。该库还提供用于创建自定义组件和目录的 API。

API 变更

  • A2uiBasicCatalogV1.CatalogId.../v0_9_1/... 更新为 .../v0_9/...,以符合规范的 A2UI 协议规范。(Idcc20)
  • 更新了 A2uiBasicCatalogV 中组件的顺序,以完全符合基本目录规范。(I23093b/547851648
  • A2uiBasicCatalogV1 下的所有相关组件接口添加了 ChecksProperty,并通过传递给每个组件的 TypedContent 的参数使属性值可用。(I9f393b/547851648
  • 添加了 A2uiBasicCatalogV1.ChoicePickerMaterialA2uiBasicCatalogV1Defaults.choicePicker。(I875a6b/547851648
  • 添加了 A2uiBasicCatalogV1.ModalMaterialA2uiBasicCatalogV1Defaults.modal。(Icd553b/547851648
  • 重命名了 A2uiBasicCatalogV1 中的属性,以遵循 Pascal 命名风格。(I91512b/547851648
  • A2uiBasicCatalogV1 下的所有组件接口添加了 AccessibilityProperty,并通过传递给每个组件的 TypedContent 的参数使属性值可用。(I76b80b/547851648
  • 添加了 A2uiBasicCatalogV1.TextFieldMaterialA2uiBasicCatalogV1Defaults.textField。(Ifdaecb/547851648
  • 添加了 A2uiBasicCatalogV1.VideoMaterialA2uiBasicCatalogV1Defaults.video。(I8595cb/547851648
  • 添加了 A2uiBasicCatalogV1.AudioPlayerMaterialA2uiBasicCatalogV1Defaults.audioPlayer。(Ida509b/547851648
  • a2ui-modela2ui-engine 中添加了对 format 和条件 if-then 架构关键字的支持,并更新了 A2uiBasicCatalogV1.DateTimeInput 最小和最大属性架构。(I556d5b/553193771
  • 添加了 A2uiBasicCatalogV1.SliderMaterialA2uiBasicCatalogV1Defaults.slider。(Ieb72db/547851648
  • 添加了 A2uiBasicCatalogV1.CheckBoxMaterialA2uiBasicCatalogV1Defaults.checkBox。(I84525b/547851648
  • 添加了 A2uiBasicCatalogV1.DividerMaterialA2uiBasicCatalogV1Defaults.divider。(I91208b/547851648
  • 添加了 A2uiBasicCatalogV1.TabsMaterialA2uiBasicCatalogV1Defaults.tabs。(Ic33d3b/547851648
  • 添加了 A2uiBasicCatalogV1.ListMaterialA2uiBasicCatalogV1Defaults.list。(I89f73b/547851648
  • 添加了 A2uiBasicCatalogV1.IconMaterialA2uiBasicCatalogV1Defaults.icon。(I65524b/547851648
  • 添加了 ProvideActionInterceptor,用于拦截子组件的操作。(I6ae69b/552486965
  • A2uiClientCapabilitiesA2uiCoreCatalog 中添加了对内嵌目录广告架构的支持。(I973cfb/537714970
  • 添加了 A2uiBasicCatalogV1.ImageMaterialA2uiBasicCatalogV1Defaults.image。(I673b3b/547851648
  • 添加了 A2uiBasicCatalogV1.ButtonMaterialA2uiBasicCatalogV1Defaults.button。(I5215fb/547851648
  • 添加了 A2uiBasicCatalogV1.Row/A2uiBasicCatalogV1.ColumnMaterialA2uiBasicCatalogV1Defaults.row/MaterialA2uiBasicCatalogV1Defaults.column。(Ibcbe7b/547851648
  • 向枚举、数字和布尔值 A2uiProperty 类型添加了 default 参数。(Id509eb/547851648
  • 添加了 A2uiBasicCatalogV1.CardMaterialA2uiBasicCatalogV1Defaults.card。(Icf604b/547851648
  • A2uiProperty.nestedA2uiProperty.nestedList 添加了 isAdditionalPropertiesAllowedadditionalPropertiesSchema 参数。(I72836b/547815898
  • 向列表 A2uiProperty 类型添加了 minItemsmaxItems 参数。(I716d3b/547798330
  • 添加了 A2uiProperty.enumA2uiProperty.customA2uiProperty.dynamicCustom 属性类型。(I0647db/545522395
  • observeA2uiComponentState 中的 A2uiCoreSurfaceModel 替换为 A2uiSurfaceModel,以确保 androidx.a2ui.compose.runtime 中的公共 API 不会公开 androidx.a2ui.engine 中的类型。(Ic45e2b/544705890
  • 添加了 A2uiTestSurface 可组合项,用于单独装载和测试 A2UI 界面和组件。(I03c8ab/527415570
  • A2uiSchema 现在支持每个子类中的关键字,而不是为 oneOfallOfanyOfnotconstdefaultenum 提供专用子类。(I6a6f8)
  • 为 Compose A2UI 渲染器添加了测试 API。(I59c9fb/527415570
  • 添加了 A2uiReadinessEvaluator 及相关 API。(Ib37d3b/527415547b/524122705
  • 添加了 A2uiComponentCollectionA2uiFunctionCollectionA2uiCoreComponentDefinitionCollection,并更新了目录 API 以使用新的集合。(I96438b/527415547
  • 添加了 A2uiMessageParser 工厂函数。(I8596ab/524122705
  • 添加了 A2uiRuntimeCatalog 标记接口,以及 androidx.a2ui.compose.ui 中的用于定义组件和目录的 API。(Ibea7ab/527415547b/524122705
  • 已将 androidx.compose.runtime:runtime-a2ui 移至 androidx.a2ui.compose:compose-runtime。(Ifc7cfb/524122705

bug 修复

  • androidx.lifecycle:lifecycle-runtime 依赖项已更新为 2.10.0。如果要在 AGP 9.5.0-alpha04 版或更高版本中运行捆绑的生命周期运行时 lint 检查,则必须使用此版本。(Id18eab/556807521
  • compileSdk 针对已更新到 37.1 的 Compose 库。 这需要为使用 Compose 的所有应用和库传递性地更新 compileSdk。(I05b0f)
  • 已将 A2UI Basic Catalog V1 中的默认 Column 水平对齐方式更新为 Alignment.StartIa1c6db
  • 已将 A2UI Basic Catalog V1 中的默认 Row 垂直对齐方式更新为 Alignment.TopIf0bca4