a2ui 0.3.0

A2UI (Agent to UI) — render JSON streaming UIs authored by AI agents (ratatui + Slint + egui + Bevy + Iced + Dioxus backends)
Documentation

a2ui

crates.io docs.rs MIT

English | 中文

📦 a2ui crate 生态 · umbrella crate(统一入口)

这是 a2ui workspace 的伞 crate,把各子 crate 重新导出到稳定的 a2ui::core / a2ui::tui 路径下。完整介绍见根目录 README

A2UI (Agent to UI) v1.0 协议的 Rust 实现:渲染由 AI Agent 动态生成、JSON 流式驱动的用户界面。本 crate 是 umbrella,一行依赖即可拿到核心层与默认终端后端;Slint / egui 桌面后端按需在 feature 后开启。

生态全景

┌───────────────────────────────────────────────────────────────────────┐
│  apps:  a2ui-gallery (TUI)   a2ui-slint-gallery   a2ui-egui-gallery   │
├───────────────────────────────────────────────────────────────────────┤
│  ▶ a2ui  (umbrella: re-export core + tui [+ slint] [+ egui])          │
├───────────────────────────────────────────────────────────────────────┤
│  backends:   a2ui-tui (ratatui)   a2ui-slint   a2ui-egui              │
│  a2ui-base  (框架无关:Protocol / Model / Catalog / Processor)         │
└───────────────────────────────────────────────────────────────────────┘
子 crate 作用 在 umbrella 下的路径
a2ui-base 框架无关核心层 a2ui::core
a2ui-tui ratatui 终端后端(默认) a2ui::tui
a2ui-slint Slint 桌面后端(可选) a2ui::slint(slint feature)
a2ui-egui egui 桌面后端(可选) a2ui::egui(egui feature)

默认只 re-export core + tui。两个桌面后端较重(Slint 工具链 / winit + glow),故按需开启。

特性

特性 说明 启用
slint 把 Slint 后端 re-export 为 a2ui::slint --features slint
egui 把 egui 后端 re-export 为 a2ui::egui --features egui
audio 转发给 a2ui-tui 的真实音频播放 --features audio

用法

cargo add a2ui            # 核心 + 默认终端后端
cargo add a2ui --features egui   # 额外开启 egui 桌面后端
// 路径保持稳定 —— 这正是 umbrella 存在的意义
use a2ui::core::message_processor::MessageProcessor;
use a2ui::tui::catalogs::basic::{build_basic_catalog, build_basic_registry};

示例

本 crate 自带 17 个示例,是上手 A2UI 的最佳入口:

cargo run -p a2ui --example 01_hello_world
cargo run -p a2ui --example 04_login_form
cargo run -p a2ui --example 12_handshake      # 能力协商握手

完整示例表见根目录 README

许可证

MIT