a2ui-base
English | ไธญๆ
๐ฆ a2ui crate ็ๆๆๅ ยท ๆกๆถๆ ๅ ณๆ ธๅฟๅฑ
ๆฌ crate ๆฏ
a2uiworkspace ็ๅบ็กๅญ crate,ๅฎๆดไป็ป่งๆ น็ฎๅฝ READMEใ
A2UI (Agent to UI) v1.0 ๅ่ฎฎ็ๆกๆถๆ ๅ ณๆ ธๅฟๅฑ:ๅ่ฎฎ็ฑปๅใ็ปไปถ / ๆฐๆฎๆจกๅใCatalogใๆถๆฏๅค็ๅจใ่ฝๅๅๅใๆ ก้ช,ไปฅๅๆๆ UI ๅ็ซฏๅ ฑไบซ็ไบคไบๅฑใไธไพ่ตไปปไฝ UI ๆกๆถ(ratatui / Slint / egui ้ฝไธๅผๅ ฅ),ๅฏ็ฌ็ซ็จไบๅ ถไป backend ๆ็บฏๅ่ฎฎ่งฃๆๅบๆฏใ
ๅจ็ๆไธญ็ไฝ็ฝฎ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ apps: a2ui-gallery (TUI) a2ui-slint-gallery a2ui-egui-gallery โ
โ umbrella: a2ui (re-export core + tui [+ slint] [+ egui]) โ
โ backends: a2ui-tui (ratatui) a2ui-slint a2ui-egui โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โถ a2ui-base (ๆกๆถๆ ๅ
ณ:Protocol / Model / Catalog / Processor) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
a2ui-base ๆฏๆดไธช workspace ็ๅฐๅบ โโ ไธไธชๅ็ซฏ(ratatui / Slint / egui)้ฝๅปบ็ซๅจๅฎไนไธใๆกๆถๆ ๅ
ณ็ไบคไบ้ป่พ(็ฆ็น้ๅ focusใไบไปถ็ปๆๅบ็จ interactionใ็ปไปถ่กไธบ components)็ปไธๆพๅจ่ฟ้,ไฟ่ฏไธๅๅ็ซฏๅจ้ฎ็ / ๆ้ฎไบคไบไธ่กไธบไธ่ดใ
ๆจกๅ
| ๆจกๅ | ่่ดฃ |
|---|---|
protocol |
A2UI v1.0 JSON ๆถๆฏ็ฑปๅ(serverโclientใclientโserver) |
model |
่ฟ่กๆถ็ปไปถๆ ใsurfaceใJSON Pointer ๆฐๆฎ็ปๅฎ |
catalog |
Catalogใ็ปไปถ APIใๅฝๆฐๅฎ็ฐใschema-only ๅฝๆฐใๅ ่ catalog |
message_processor |
ๆถๆฏ่งฃๆ โ ็ถๆๅๆด;process_message / parse_jsonl |
capabilities |
ClientCapabilities / ServerCapabilities ๅๅ + ๅ
่ catalog ่งฃๆ(UAX#31 ๆ ก้ช) |
validate |
ๅ่ฎฎๆ ก้ช(ValidationConfig / ValidationReport) |
observable |
ๅๅบๅผ็ถๆ็ฎก็ |
focus / interaction / components |
ๅ็ซฏๅ
ฑไบซ็ไบคไบๅฑ(็ฆ็น้ๅใEventResult ๅบ็จใ็ปไปถ handle_event) |
็จๆณ
use MessageProcessor;
use Catalog;
let mut processor = new;
// ่งฃๆๅนถๅค็ไธๆก JSON ๆถๆฏ
let msg = parse_message?;
processor.process_message?;
// ่ฏปๅๅ่ฎฎไบง็็ๅไผ ๆถๆฏ(functionResponse / actionResponse / ...)
let outgoing = processor.drain_outgoing;
ๆณ็ดๆฅๅพๅฐไธไธช่ฝๆธฒๆ็็ป็ซฏ UI?็ปๅ
a2ui-tuiไธ่ตท็จ;ๆ้่ฟ umbrellaa2uiไปฅa2ui::core::...่ทฏๅพ่ฎฟ้ฎๆฌ crateใ
่ฎธๅฏ่ฏ
MIT