Flutter AI ツールキット Link to heading

  • マルチターン状態:複数ターンにわたる会話コンテキストを自動的に保持します。
  • ストリーミングレスポンス:リモートモデルが生成するテキストをトークン単位でリアルタイムに表示します。
  • リッチテキスト対応:Markdown、太字、画像、箇条書きなどのフォーマット出力をサポートします。
  • 音声入力record パッケージによる音声入力を可能にし、明示的なデバイス権限が必要です。
  • マルチメディア添付file_selectorimage_picker を使用してファイルアップロード(画像、動画、音声、PDF)を調整します。
  • カスタムレスポンスウィジェット:開発者が長いプレーンテキストを専用のインタラクティブな UI コンポーネントに置き換えることができます。
  • プラガブル LLMLlmProvider により 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_mcpPingProgress などのハンドシェイクをサポートしますが、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-pluginsdart-lang/skills などのキュレーションされたリポジトリにあります。
  • パッケージ配布:ライブラリ作者がスキルを pub.dev パッケージにバンドルでき、dart run skills@ get でインストール可能です。
  • 統合スキル CLI:標準の npx skills add CLI セットアップにより、複数アシスタントの設定を自動化します。