بدء سريع لـ A2UI (واجهة ADK)

يوضح هذا الدليل كيفية إصدار JSONL بتنسيق A2UI من وكيل ADK وعرضه باستخدام مُصيّر React.

1) إضافة التبعيات

[dependencies]
adk-ui = { git = "https://github.com/zavora-ai/adk-ui" }
adk-agent = "2.1.0"
adk-model = "2.1.0"

مُصيّر React:

npm install @zavora-ai/adk-ui-react

2) تمكين أدوات واجهة المستخدم

use adk_agent::LlmAgentBuilder;
use adk_ui::UiToolset;

let tools = UiToolset::all_tools();
let mut builder = LlmAgentBuilder::new("a2ui_agent")
    .instruction(
        "You output A2UI via render_screen (screens), render_page (pages), and render_kit (kits).",
    );

for tool in tools {
    builder = builder.tool(tool);
}

let _agent = builder.build()?;

3) المطالبة ← JSONL بتنسيق A2UI

أرسل مطالبة إلى وكيلك:

Create a login screen with email, password, and a primary Sign In button.

سيستدعي النموذج render_screen ويُرجع JSONL:

{"createSurface":{"surfaceId":"main","catalogId":"zavora.ai:adk-ui/default@0.1.0","sendDataModel":true}}
{"updateComponents":{"surfaceId":"main","components":[{"id":"root","component":"Column",...}]}}

4) عرض JSONL في React

import {
  A2uiStore,
  A2uiSurfaceRenderer,
  applyParsedMessages,
  parseJsonl,
} from "@zavora-ai/adk-ui-react";

const store = new A2uiStore();

export function App({ jsonl }: { jsonl: string }) {
  const parsed = parseJsonl(jsonl);
  applyParsedMessages(store, parsed);

  return (
    <A2uiSurfaceRenderer
      store={store}
      surfaceId="main"
      onAction={(payload) => {
        console.log("A2UI action:", payload);
      }}
    />
  );
}

5) الخطوات التالية

  • استخدم render_page لإنشاء صفحات متعددة الأقسام.
  • استخدم render_kit لإنتاج الكتالوجات والرموز المميزة والقوالب.
  • راجع أمثلة واجهة المستخدم العاملة ضمن examples/ui_working/.