Ad

genui: Generative UI SDK for Flutter

GenUI enables developers to easily add interactive generative UI to Flutter apps by transforming LLM outputs into dynamic graphical interfaces.
Screenshot of flutter/genui homepage

GenUI empowers Flutter developers to create interactive user interfaces from LLM outputs. It facilitates replacing static text-based responses from LLMs with dynamic graphical UIs generated at runtime. The SDK utilizes a JSON-based format to compose UIs from existing Flutter widgets, enabling a rich and intuitive interaction loop between users and agents. This approach significantly enhances chatbot and agent-based application usability.

GenUI distinguishes itself by generating UI at runtime using developer-provided widget catalogs instead of code. This approach provides greater design consistency and flexibility. The framework’s A2UI protocol support allows seamless integration with various agents. It’s designed to be framework-agnostic, enhancing its adaptability to different agent libraries. The project emphasizes a simple JSON-based definition of the UI structure.

  • Multiple Agent Support: Integrates with various LLM and agent SDKs.
  • A2UI Protocol: Supports A2UI for seamless integration with custom agent backends.
  • Widget Catalog Integration: Leverages existing Flutter widget catalogs for design consistency.
  • Data Binding: Enables dynamic updating of UI based on data changes.
  • Chat and Canvas UX: Provides UI components suited for chat-based and visual applications.
  • JSON Based: Utilizes a simple, open standard for UI definition.
  • Cross-Platform Flutter: Works across mobile, web, and desktop platforms.

GenUI is currently in an experimental phase, with the API subject to potential changes. While the core framework is functional, ongoing development focuses on expanding features and improving stability. Active issue tracking and community feedback are crucial to the project's evolution. The project’s foundational packages demonstrate a commitment to robust tooling and extensibility.

GenUI benefits developers aiming to enhance user interaction in Flutter applications, particularly chatbots and agent-driven experiences. It allows replacing static text with dynamic, engaging UIs, improving usability and satisfaction. By leveraging existing widget catalogs and a simple JSON format, it simplifies the creation of complex, interactive interfaces, offering a significant advantage over traditional text-based interactions or manual UI coding.

Languages:
Summarize:
Share:
Stars
1,708
Forks
159
Issues
16
Created
1 year ago
Commit
17 days ago
License
BSD-3-CLAUSE
Archived
No
Updated 15 days ago

Similar Repositories