Flutter AI ツールキット Link to heading
- マルチターン状態:複数ターンにわたる会話コンテキストを自動的に保持します。
- ストリーミングレスポンス:リモートモデルが生成するテキストをトークン単位でリアルタイムに表示します。
- リッチテキスト対応:Markdown、太字、画像、箇条書きなどのフォーマット出力をサポートします。
- 音声入力:
recordパッケージによる音声入力を可能にし、明示的なデバイス権限が必要です。 - マルチメディア添付:
file_selectorとimage_pickerを使用してファイルアップロード(画像、動画、音声、PDF)を調整します。 - カスタムレスポンスウィジェット:開発者が長いプレーンテキストを専用のインタラクティブな UI コンポーネントに置き換えることができます。
- プラガブル LLM:
LlmProviderにより UI をモデルから分離し、Firebase またはカスタムモデル拡張をサポートします。 - セキュアなプロジェクト設定:クライアントサイドの API キー漏洩を防止し、課金を管理するために、リンクされた Firebase プロジェクトが必要です。
GenUI SDK Link to heading
- A2UI プロトコル:リモートエージェントがコードではなく動的なウィジェット構成をストリーミングできる JSON ベースのプロトコル。
- 会話ファサード(Conversation Facade):ローカル履歴を管理し、動的サイクルを統括する主要なエントリーポイント。
- A2uiTransportAdapter:LLM からの生のテキストストリームを構造化された
A2uiMessageレイアウトコマンドに解析します。 - Surface コントローラー:Surface のライフサイクルを統括し、アクティブなレンダリング画面を管理します。
- DataModel(データモデル):特定のデータパスにバインドされたウィジェットをリアクティブに更新する、セントラルかつ監視可能な状態ストア。
- ウィジェットカタログ:事前登録されたウィジェット(
CatalogItem)の定義済みリストで、AI が構成できる内容の厳密な契約として機能します。
MCP サーバー Link to heading
- 基本プロトコル:Dart の実験的な
dart_mcpは Ping や Progress などのハンドシェイクをサポートしますが、Cancellation(キャンセル)は未対応です。 - CLI ツール統合:Dart SDK のコアコマンド(解析、コンパイル、プロジェクト作成、フォーマット)をスキーマ検証済みのユーティリティとして公開します。
- 変換レイヤー:構造化された MCP 引数を標準の
List<String>に変換し、既存のCommandRunnerに渡します。 - Stdio トランスポート:
stdioChannelを使用して標準入出力経由の低遅延通信を実現します。 - 自己修正エラー:例外をスローする代わりに
CallToolResult.isError: trueで失敗を伝達し、AI が自己修正できるようにします。
Agent スキル(Agent Skills) Link to heading
- 段階的開示:検出時にメタデータを読み込み、関連性があると判断された場合にのみ指示(
SKILL.md)を完全に読み込みます。 - ワークスペースストレージ:ダウンロードした、またはカスタムのワークスペース指示を
.agents/skillsディレクトリに保存します。 - 公式カタログ:一般的なタスク向けに
flutter/agent-pluginsやdart-lang/skillsなどのキュレーションされたリポジトリにあります。 - パッケージ配布:ライブラリ作者がスキルを pub.dev パッケージにバンドルでき、
dart run skills@ getでインストール可能です。 - 統合スキル CLI:標準の
npx skills addCLI セットアップにより、複数アシスタントの設定を自動化します。