[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-9330":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":8,"rankLanguage":8,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":8,"pushedAt":8,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":14,"starSnapshotCount":14,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},9330,"genui","flutter\u002Fgenui","flutter",null,"Dart",1669,159,19,80,0,1,10,72,7,19.61,"BSD 3-Clause \"New\" or \"Revised\" License",false,"main",true,[],"2026-06-12 02:02:06","# Generative UI SDK for Flutter (genui)\n\nA Flutter library to enable developers to easily add interactive\ngenerative UI to their applications.\n\nSee the [Getting started with GenUI](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=nWr6eZKM6no) video for an overview of the package.\n\n[\u003Cimg src=\"docs\u002Fassets\u002Fgenui_intro_video_still.png\" alt=\"GenUI Intro video still\" height=\"500\">](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=nWr6eZKM6no)\n\n## Status: highly experimental\n\nThis is a highly experimental package, which means the API will change (sometimes drastically).\n[Feedback is very welcome](https:\u002F\u002Fgithub.com\u002Fflutter\u002Fgenui\u002Fissues\u002Fnew\u002Fchoose).\n\n## Summary\n\nOur goal for the GenUI SDK for Flutter is to help you replace static \"walls of text\" from your LLM with\ndynamic, interactive, graphical UI.\nIt uses a JSON-based format to compose UIs from your existing widget catalog, turning\nconversations or agent interactions into rich, intuitive experiences. State changes in the UI update\na client-side data model, which is fed back to the agent, creating a\npowerful, high-bandwidth interaction loop. The GenUI SDK for Flutter aims to be easy to integrate\ninto your Flutter application to significantly improve the usability and satisfaction of your\nchatbots and next-generation agent-based user experiences.\n\n## High-level goals\n\n- Increase Interaction Bandwidth for Users: allow users to interact with data and controls directly,\n  making task completion faster and more intuitive. Move beyond a \"wall of text\".\n- Simple and easy to use by developers: seamlessly integrate with your existing Flutter workflow,\n  design systems, and widget catalogs.\n- Drive agent-human UX forward: innovate ways to dramatically improve how users interact with their\n  LLMs and Agents. Radically simplify the process of building UI-based agent interactions, by\n  eliminating custom middleware between the agent and the UI layer.\n\n## Features\n\n* Multiple agent and LLM provider support\n* A2UI support\n* Standard UI catalog\n* Custom widgets\n* Data binding\n* Chat UX\n* Canvas UX\n\n## Use cases\n\n- Incorporate graphical UI into chatbots: instead of describing a list of products in text,\n  the LLM can render an interactive carousel of product widgets. Instead of asking for a user to\n  type out answers to questions, the LLM can render sliders, checkboxes, and more.\n- Create dynamically composed UIs: an agent can generate a complete form with sliders, date pickers,\n  and text fields on the fly based on a user's request to \"book a flight.\"\n\n## Look & feel\n\n### Interactive [travel app example](examples\u002Ftravel_app\u002F)\n\n\u003Cimg src=\"docs\u002Fassets\u002Ftravel_app_genui_example.gif\" alt=\"GenUI Travel App Demo\" height=\"500\">\n\n_The GIF above shows how GenUI enables dynamic, interactive UI generation,_\n_instead of text descriptions or code from a traditional AI coding agent._\n\n### Core difference\n\nThis UI is not generated in the form of code; rather, it's generated at runtime\nbased on a widget catalog from the developers' project.\n\n\u003Cimg src=\"docs\u002Fassets\u002Ftravel_app_genui_example.png\" alt=\"GenUI Features Breakdown\" height=\"600\">\n\n## Implementation goals\n\n- **Integrate with your LLM:** Work with your chosen LLM and backend to incorporate graphical\n  UI responses alongside traditional text.\n- **Leverage Your Widget Catalog:** Render UI using your existing, beautifully crafted widgets\n  for brand and design consistency.\n- **Interactive State Feedback:** Widget state changes are sent back to the LLM, enabling a\n  true interactive loop where the UI influences the agent's next steps.\n- **Framework Agnostic:** Be integrated into your agent library or LLM framework of choice.\n- **JSON Based:** Use a simple, open standard for UI definition—no proprietary formats.\n- **Cross-Platform Flutter:** Work anywhere Flutter works (mobile, iOS, Android, Web, and more).\n- **Widget Composition:** Support nested layouts and composition of widgets for complex UIs.\n- **Basic Layout:** LLM-driven basic layout generation.\n- **Any Model:** Integrate with any LLM that can generate structured JSON output.\n\n## Connecting to an AI agent\n\nThe `genui` framework is designed to be backend agnostic. You can use any AI SDK (such as `google_generative_ai`, `dartantic_ai`, or `firebase_vertexai`) to generate content. The framework provides adapters (like `A2uiTransportAdapter`) to ingest the AI response and render it.\n\nFor custom agent servers that implement the A2UI protocol, you can use the `genui_a2a` package.\n\nSee the package table below for more details on each.\n\n## Packages\n\n| Package | Description | Version |\n| :--- | :--- | :--- |\n| [genui](packages\u002Fgenui\u002F) | The core framework to employ Generative UI. | [![pub package](https:\u002F\u002Fimg.shields.io\u002Fpub\u002Fv\u002Fgenui.svg)](https:\u002F\u002Fpub.dev\u002Fpackages\u002Fgenui) |\n| [genui_a2a](packages\u002Fgenui_a2a\u002F) | Provides **`A2uiAgentConnector`** for connecting to any server that implements the [A2UI protocol](https:\u002F\u002Fa2ui.org). Use this for integrating with custom agent backends. | [![pub package](https:\u002F\u002Fimg.shields.io\u002Fpub\u002Fv\u002Fgenui_a2a.svg)](https:\u002F\u002Fpub.dev\u002Fpackages\u002Fgenui_a2a) |\n| [genai_primitives](packages\u002Fgenai_primitives\u002F) | A set of technology-agnostic primitive types and data structures for building Generative AI applications. | [![pub package](https:\u002F\u002Fimg.shields.io\u002Fpub\u002Fv\u002Fgenai_primitives.svg)](https:\u002F\u002Fpub.dev\u002Fpackages\u002Fgenai_primitives) |\n| [json_schema_builder](packages\u002Fjson_schema_builder\u002F) | A fully featured Dart JSON Schema package with validation, used by the core framework to define widget data structures. | [![pub package](https:\u002F\u002Fimg.shields.io\u002Fpub\u002Fv\u002Fjson_schema_builder.svg)](https:\u002F\u002Fpub.dev\u002Fpackages\u002Fjson_schema_builder) |\n\n### Dependencies\n\nThis diagram shows how packages depend on each other and how examples use them.\n\n```mermaid\ngraph TD\n  examples\u002Fcatalog_gallery --> genui\n  examples\u002Fsimple_chat --> genui\n  examples\u002Ftravel_app --> genui\n  examples\u002Fverdure --> genui_a2a\n  genui_a2a --> genui\n  genui --> genai_primitives\n  genai_primitives --> json_schema_builder\n```\n\n## A2UI Support\n\nThe Flutter Gen UI SDK uses the [A2UI protocol](https:\u002F\u002Fa2ui.org) to represent UI content internally. The [genui_a2a](packages\u002Fgenui_a2a\u002F) package allows it to act as a renderer for UIs generated by an A2UI backend agent, similar to the [other A2UI renderers](https:\u002F\u002Fgithub.com\u002Fgoogle\u002FA2UI\u002Ftree\u002Fmain\u002Frenderers) which are maintained within the A2UI repository.\n\nThe Flutter Gen UI SDK currently supports A2UI v0.9.\n\n## Getting started\n\nSee the [genui getting started guide](packages\u002Fgenui\u002FREADME.md#getting-started-with-genui).\n\n## Skills\n\nThis repo contains [skill files](packages\u002Fgenui\u002Fskills\u002F) for developers building with agentic coding tools. They can be copied directly into an agent's preferred location or installed using the [`skills`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fskills) package:\n\n```bash\nnpx skills add https:\u002F\u002Fgithub.com\u002Fflutter\u002Fgenui\u002Ftree\u002Fmain\u002Fpackages\u002Fgenui\u002Fskills\n```\n\n## Constraints\n\nThis repo requires Flutter version >=3.35.7.\n\n## Some things we're thinking about\n\n- **Genkit Integration:** Integration with Genkit.\n- **ADK Plugin:** turnkey integration with ADK.\n- **Expanded LLM Framework Support:** Official support for additional LLM frameworks.\n- **Streaming UI:** Support for progressively rendering UI components as they stream from the LLM.\n- **Full-Screen Composition:** Enable LLM-driven composition and navigation of entire app screens.\n- **A2A Agent Support:** Support for A2A agent interactions.\n- **Dart Bytecode:** Future support for Dart Bytecode for even greater dynamism and flexibility.\n\n## Contribute\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md)\n","genui 是一个 Flutter 库，旨在帮助开发者轻松地为其应用程序添加交互式生成 UI。其核心功能包括支持多种代理和 LLM 提供商、A2UI 支持、标准 UI 组件库、自定义小部件、数据绑定以及聊天和画布用户体验等。通过使用 JSON 格式从现有的小部件目录中组合 UI，genui 可以将对话或代理交互转化为丰富的图形化体验，从而提高用户与应用的互动效率和直观性。该项目特别适合于需要在聊天机器人或下一代基于代理的用户体验中融入图形界面的场景，如将产品列表描述替换为可交互的产品轮播图，或是根据用户请求动态生成表单。尽管目前处于高度实验阶段，但 genui 仍是一个能够显著提升应用可用性和用户满意度的强大工具。",2,"2026-06-11 03:22:13","top_language"]