[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83173":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":8,"language":10,"languages":8,"totalLinesOfCode":8,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":8,"rankLanguage":8,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":23,"topics":24,"createdAt":8,"pushedAt":8,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":15,"starSnapshotCount":15,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},83173,"a2ui","a2ui-project\u002Fa2ui","a2ui-project",null,"https:\u002F\u002Fa2ui.org\u002F","TypeScript",15276,1190,91,197,0,14,122,78,44.23,"Apache License 2.0",false,"main",true,[],"2026-06-12 02:04:31","# A2UI: Agent-to-User Interface\n\nA2UI is an open-source project, complete with a format\noptimized for representing updatable agent-generated\nUIs and an initial set of renderers, that allows agents\nto generate or populate rich user interfaces.\n\n\u003Cimg src=\"docs\u002Fassets\u002Fa2ui_gallery_examples.png\" alt=\"Gallery of A2UI components\" height=\"400\">\n\n_A gallery of A2UI rendered cards, showing a variety of UI compositions that A2UI can achieve._\n\n## ⚠️ Status: Early stage public preview\n\n> **Note:** A2UI is currently in **v0.8 (Public Preview)**. The specification and\n> implementations are functional but are still evolving. We are opening the project to\n> foster collaboration, gather feedback, and solicit contributions (e.g., on client renderers).\n> Expect changes.\n\n## Summary\n\nGenerative AI excels at creating text and code, but agents can struggle to\npresent rich, interactive interfaces to users, especially when those agents\nare remote or running across trust boundaries.\n\n**A2UI** is an open standard and set of libraries that allows agents to\n\"speak UI.\" Agents send a declarative JSON format describing the _intent_ of\nthe UI. The client application then renders this using its own native\ncomponent library (Flutter, Angular, Lit, etc.).\n\nThis approach ensures that agent-generated UIs are\n**safe like data, but expressive like code**.\n\n## High-level philosophy\n\nA2UI was designed to address the specific challenges of interoperable,\ncross-platform, generative or template-based UI responses from agents.\n\nThe project's core philosophies:\n\n- **Security first**: Running arbitrary code generated by an LLM may present a\n  security risk. A2UI is a declarative data format, not executable\n  code. Your client application maintains a \"catalog\" of trusted, pre-approved\n  UI components (e.g., Card, Button, TextField), and the agent can only request\n  to render components from that catalog.\n- **LLM-friendly and incrementally updatable**: The UI is represented as a flat\n  list of components with ID references which is easy for LLMs to generate\n  incrementally, allowing for progressive rendering and a responsive user\n  experience. An agent can efficiently make incremental changes to the UI based\n  on new user requests as the conversation progresses.\n- **Framework-agnostic and portable**: A2UI separates the UI structure from\n  the UI implementation. The agent sends a description of the component tree\n  and its associated data model. Your client application is responsible for\n  mapping these abstract descriptions to its native widgets—be it web components,\n  Flutter widgets, React components, SwiftUI views or something else entirely.\n  The same A2UI JSON payload from an agent can be rendered on multiple different\n  clients built on top of different frameworks.\n- **Flexibility**: A2UI also features an open registry pattern that allows\n  developers to map server-side types to custom client implementations, from\n  native mobile widgets to React components. By registering a \"Smart Wrapper,\"\n  you can connect any existing UI component—including secure iframe containers\n  for legacy content—to A2UI's data binding and event system. Crucially, this\n  places security firmly in the developer's hands, enabling them to enforce\n  strict sandboxing policies and \"trust ladders\" directly within their custom\n  component logic rather than relying solely on the core system.\n\n## Use cases\n\nSome of the use cases include:\n\n- **Dynamic Data Collection:** An agent generates a bespoke form (date pickers,\n  sliders, inputs) based on the specific context of a conversation (e.g.,\n  booking a specialized reservation).\n- **Remote Sub-Agents:** An orchestrator agent delegates a task to a\n  remote specialized agent (e.g., a travel booking agent) which returns a\n  UI payload to be rendered inside the main chat window.\n- **Adaptive Workflows:** Enterprise agents that generate approval\n  dashboards or data visualizations on the fly based on the user's query.\n\n## Architecture\n\nThe A2UI flow disconnects the generation of UI from the execution of UI:\n\n1. **Generation:** An Agent (using Gemini or another LLM) generates or uses\n   a pre-generated `A2UI Response`, a JSON payload describing the composition\n   of UI components and their properties.\n2. **Transport:** This message is sent to the client application\n   (via A2A, AG UI, etc.).\n3. **Resolution:** The Client's **A2UI Renderer** parses the JSON.\n4. **Rendering:** The Renderer maps the abstract components\n   (e.g., `type: 'text-field'`) to the concrete implementation in the client's codebase.\n\n## Dependencies\n\nA2UI is designed to be a lightweight format, but it fits into a larger ecosystem:\n\n- **Transports:** Compatible with **A2A Protocol** and **AG UI**.\n- **LLMs:** Can be generated by any model capable of generating JSON output.\n- **Host Frameworks:** Requires a host application built in a supported framework\n  (currently: Web or Flutter).\n\n## Getting started\n\nPick the path that matches where you want to start:\n\n| Path                                                                                                                          | What you get                                                                                                                            | Time   |\n| ----------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ------ |\n| 🍜 **[Quickstart Restaurant Finder Demo](https:\u002F\u002Fa2ui.org\u002Fquickstart\u002F)**                                                      | Full-stack A2UI running locally with a Gemini powered ADK agent and Lit renderer. Learn A2UI end-to-end and customize to your use case. | ~5 min |\n| ⚛️ **[A2UI + AG-UI (CopilotKit)](docs\u002Fguides\u002Fa2ui-with-any-agent-framework.md)**                                              | Set up CopilotKit with your agent framework of choice, then enable A2UI rendering. Ready to ship A2UI in a React app.                   | ~5 min |\n| 🎨 **[A2UI Composer](https:\u002F\u002Fa2ui-composer.ag-ui.com\u002F)** · **[Widget Builder](https:\u002F\u002Fgo.copilotkit.ai\u002FA2UI-widget-builder)** | Generate A2UI JSON from a visual editor and paste it into any agent prompt — no install required.                                       | ~1 min |\n| 🎬 **[A2UI Theater](https:\u002F\u002Fa2ui-composer.ag-ui.com\u002Ftheater)**                                                                | Step through pre-built A2UI streaming scenarios across Lit, React, and Angular renderers — no install required.                         | ~1 min |\n\n### Restaurant Finder demo — TL;DR\n\nPrerequisites: Node.js 18+, [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F), and a [Gemini API key](https:\u002F\u002Faistudio.google.com\u002Fapikey).\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fa2ui-project\u002Fa2ui.git\ncd a2ui\nexport GEMINI_API_KEY=\"your_gemini_api_key\"\ncd samples\u002Fclient\u002Flit\nnpm run demo:restaurant\n```\n\nThis one command installs dependencies, builds the renderers, starts the Python agent, and opens the client at `http:\u002F\u002Flocalhost:5173`. For step-by-step instructions, alternative demos, and troubleshooting see the **[full Quickstart](docs\u002Fquickstart.md)**.\n\n### A2UI + AG-UI — TL;DR\n\n```bash\nnpx copilotkit@latest init\n```\n\nSet up CopilotKit with your framework of choice (ADK, LangGraph, CrewAI, Mastra, …), then follow the **[AG-UI guide](docs\u002Fguides\u002Fa2ui-with-any-agent-framework.md)** to enable A2UI rendering. CopilotKit's [quickstart](https:\u002F\u002Fdocs.copilotkit.ai\u002Fquickstart) covers the initial install for any supported agent framework.\n\n### Other renderers\n\nFor Flutter, check out the [GenUI SDK](https:\u002F\u002Fgithub.com\u002Fflutter\u002Fgenui), which uses A2UI under the hood. See [docs\u002Freference\u002Frenderers.md](docs\u002Freference\u002Frenderers.md) for the full list of client implementations.\n\n## Roadmap\n\nWe hope to work with the community on the following:\n\n- **Spec stabilization:** Moving towards a v1.0 specification.\n- **More renderers:** Adding official support for React, Jetpack Compose, iOS (SwiftUI), and more.\n- **Additional transports:** Support for REST and more.\n- **Additional Agent frameworks:** Genkit, LangGraph, and more.\n\n## Contribute\n\nA2UI is an **Apache 2.0** licensed project. We believe the future of UI is agentic,\nand we want to work with you to help build it.\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to get started.\n","A2UI 是一个开源项目，旨在让代理能够生成或填充丰富的用户界面。其核心功能包括一种优化的格式用于表示可更新的代理生成的UI以及一组初始渲染器。通过发送描述UI意图的声明式JSON格式，代理可以“说UI”，客户端应用程序则使用自身的原生组件库（如Flutter、Angular等）来渲染这些内容。这种机制确保了代理生成的UI既安全又具有表现力。A2UI 适用于需要跨平台、基于模板或生成式UI响应的场景中，特别适合那些远程运行或跨越信任边界的代理应用。该项目强调安全性，避免直接执行任意代码；同时支持逐步更新和多框架兼容性，使得同一份A2UI JSON可以在不同前端框架下渲染。",2,"2026-06-11 04:10:22","top_language"]