بدء سريع لـ 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/.