Flutter AI Toolkit Link to heading
- Multi-Turn State: Automatically preserves conversation context across multiple turns.
- Streaming Responses: Displays text token-by-token in real-time as the remote model generates it.
- Rich Text Support: Supports formatted outputs including markdown, bolding, images, and bullet points.
- Voice Dictation: Enables voice input via the
recordpackage, requiring explicit device permissions. - Multimedia Attachments: Coordinates file uploads (images, video, audio, PDFs) using
file_selectorandimage_picker. - Custom Response Widgets: Lets developers replace plain text walls with specialized, interactive UI components.
- Pluggable LLMs: Decouples UI from the model using
LlmProvider, supporting Firebase or custom model extensions. - Secure Project Setup: Requires a linked Firebase project to prevent client-side API key exposure and manage billing.
GenUI SDK Link to heading
- A2UI Protocol: A JSON-based protocol enabling remote agents to stream dynamic widget compositions instead of code.
- Conversation Facade: Primary entry point managing localized history and orchestrating the dynamic cycle.
- A2uiTransportAdapter: Parses raw text streams from the LLM into structured
A2uiMessagelayout commands. - Surface Controller: Orchestrates surface lifecycles and manages active rendering screens.
- DataModel: A central, observable state store that reactively updates widgets bound to specific data paths.
- Widget Catalog: A predefined list of registered widgets (
CatalogItem) that acts as the strict contract of what the AI can compose.
MCP Server Link to heading
- Base Protocol: Dart’s experimental
dart_mcpsupports handshakes like Ping and Progress, but lacks Cancellation. - CLI Tool Integration: Exposes core Dart SDK commands (analysis, compilation, project creation, formatting) as schema-validated utilities.
- Translation Layer: Translates structured MCP arguments into a standard
List<String>to delegate to the existingCommandRunner. - Stdio Transport: Enables low-latency communication over stdin and stdout using
stdioChannel. - Self-Correcting Errors: Delivers failures via
CallToolResult.isError: truerather than throwing exceptions so the AI can self-correct.
Agent Skills Link to heading
- Progressive Disclosure: Loads metadata during discovery and fully loads instructions (
SKILL.md) only when determined relevant. - Workspace Storage: Standardizes storing downloaded or custom workspace instructions in the
.agents/skillsdirectory. - Official Catalogs: Relies on curated repositories like
flutter/agent-pluginsanddart-lang/skillsfor common tasks. - Package Distribution: Enables library authors to bundle skills inside pub.dev packages, installable with
dart run skills@ get. - Unified Skills CLI: Automates multi-assistant configuration via standard
npx skills addCLI setup.