ホストブリッジプロトコル
ほとんどのゲームはホストブリッジを直接使いません。@vifu/sdk を使ってください。
このページは高度なデバッグとホスト実装者向けです。
ライフサイクル
- ゲーム一式が読み込まれます。
- SDK がメッセージリスナーを登録します。
- SDK がランタイム準備完了を通知します。
- ホストが初期化メッセージを送ります。
vifu.ready()が resolve し、vifu.status().hostConnectedがtrueになります。
公開 SDK との対応
| SDK API | ブリッジの目的 |
|---|---|
vifu.ready() | ホスト初期化を待つ。 |
vifu.tool(...) | 呼び出し可能なツール定義を宣言する。 |
vifu.agent(...) | NPC、チューター、AI パートナーなどに独立した Runtime Agent を作る。 |
vifu.run(...) | 対象 agent のモデル / ツールループを 1 回実行する。 |
vifu.resources.* | 宣言済みランタイムリソースを解決または読む。 |
vifu.gameState.* | ゲーム側の状態をセーブ / 復元する。 |
vifu.ai.* | Vifu AI をプロバイダー選択と使用量制限を通して呼ぶ。 |
vifu.dictionary.*、vifu.voice.*、vifu.review.*、vifu.camera.*、vifu.invoke(...) | 宣言済みプラットフォーム機能を呼ぶ。 |
Runtime Agent のツール登録
Vifu はツールを agent ごと、run ごとに分離します。ある agent に公開したツールは、ゲームが明示的に登録しない限り別の agent では使えません。
vifu.run(agent, input, { tools }) に直接渡したツールはその run だけにスコープされ、リクエスト後にクリーンアップされます。agent に登録した永続ツールは、agent が dispose されるまで残ります。
Companion session socket は低頻度の play-session イベント用です。Runtime tool call は専用の runtime-skill Durable Object / WebSocket 経路を使います。
方針
ホストは未宣言の呼び出しを拒否します。ai、data、media、bundle、links、save、dictionary、voice、camera、review のような公開マニフェスト上の名前を使ってください。
ゲームやバックエンド連携のために生の window.parent.postMessage(...) を使わないでください。生のブリッジメッセージはホスト実装の詳細であり、同じ互換系統内でも変わる可能性があります。