DesktopAgent は、デスクトップ上に 3D キャラクターを表示し、LLM を通じて作業をサポートできるアプリケーションです。
利用者は、自分好みのキャラクターモデル、音声モデル、LLM エージェントを用意して組み合わせることができます。
- VRM / GLB / GLTF / FBX 形式への対応を予定しています。
- 現状で正式に対応しているのは VRM のみです。
- モデルは StreamingAssets フォルダに配置することで読み込めます。
- VRM 以外の形式ではアニメーションは利用できません。
- アニメーションはヒューマノイドボーンを持つモデルのみに対応しています。
- 別形状のモデルをアニメーションさせる場合は、別途アニメーションツリーの作成が必要です。
- LangGraph の利用を想定しています。
- 今後は、API を用いた従量課金制のモデルと直接やり取りできる構成にも対応予定です。
- DesktopAgent とのやり取りには FastAPI を利用しています。
- API 仕様が確定した後は、詳細ドキュメントを公開し、LangGraph 以外のマルチエージェントアーキテクチャとも連携できるようにする予定です。
- キャラクターとのやり取りは、テキスト入力と音声入力の両方に対応しています。
- Text-to-Speech には Coeiroink を使用します。
- Coeiroink エンジンは本アプリとは別にインストールが必要です。
- 設定ファイルからホスト、ポート、スピーカー ID、スタイル ID を指定することで、Coeiroink 側で実装されている音声を利用できます。
- AI の返答は音声だけでなく、キャラクター横の吹き出しにもテキスト表示されます。
- Speech-to-Text には Whisper のローカルモデルを内蔵しています。
- プッシュトゥトークと常時録音に対応しています。
- 入力内容は、推論確定時に画面下へ UI 表示されます。
- マイクアイコンは録音状態を表します。
- 録音可能なときは通常アイコン、録音を拒否しているときは無効化アイコンが表示されます。
- プッシュトゥトーク時は、キー押下中のみアイコンが表示されます。
- 設定は JSON 形式で保存されます。
- 保存先は
Application.persistentDataPath/Settings/application_settings.jsonです。 - メニューの設定ファイルオープンは、実際の保存先パスを優先して開きます。
- キャラクターを右クリックするとメニューダイアログを開けます。
- 今後、以下の機能を実装予定です。
- 設定一覧
- テキスト AI チャット
- モデルのインポート・変更
- タスク管理・アラーム機能
- キャラクターはマウスドラッグで移動できます。
- ウィンドウの上に乗せることができます。
- 何もない場所では、タスクバーの高さまで落下します。
- 着地したまま放置すると、歩き回ったり座ったりとさまざまな動作を見せます。
- キャラクター上でスクロールすると大きさを変更できます。
- 今後、クリック時の反応、AI の処理内容に応じたアニメーション、読み上げと連動したリップシンクなどを実装予定です。
- アプリケーション実行時は、キャラクター表示と UI 表示を分けるためにプロセスを分離して実行しています。
- UI プロセスは最前面表示になるようにしています。
- ただし、他の最前面固定ウィンドウがある場合は競合して表示されないことがあります。