HyperGen

仕様概要

HyperGenプロトコル仕様: AIエージェントがSSE経由でインタラクティブHTMLをサンドボックス化されたiframeにストリーミングする方法。

HyperGenプロトコル仕様

本ドキュメントは、HyperGenプロトコルを定義します — AIエージェントがHTMX属性付きのHTMLフラグメントをServer-Sent Events (SSE) 経由でサンドボックス化されたiframeにストリーミングすることで、インタラクティブなユーザーインターフェースを提供するための規格です。

本仕様は規範的です。適合する実装は、しなければならない (MUST) および してはならない (MUST NOT) でマークされたすべての要件を満たさなければなりません (MUST)。すべきである (SHOULD) でマークされた要件は強く推奨されます。してもよい (MAY) でマークされた要件はオプションです。

目的

HyperGenは3つの参加者間の最小限の契約を定義します:

  1. HTMLを生成してクライアントにストリーミングするエージェントサーバー
  2. iframeを埋め込み、そのライフサイクルを管理するホストアプリケーション
  3. ストリーミングされたHTMLを受信し、HTMXでレンダリングし、ホストにイベントをブリッジするiframeドキュメント

本仕様は、ワイヤーフォーマット、iframeブートストラップドキュメント、ホストとiframe間のpostMessageプロトコル、CSS変数によるテーマ契約、およびHTMLフラグメントを作成するエージェント向けのガイドラインを対象とします。

用語

用語定義
エージェントHTMLフラグメントを生成するサーバーサイドプロセス。LLM、従来のサーバー、またはHTMLを出力する任意のシステム。
エージェントサーバーiframe内のHTMXが消費するSSEおよびPOSTエンドポイントを公開するHTTPサーバー。
ホストアプリケーション1つ以上のHyperGen iframeを作成・管理するトップレベルWebアプリケーション。
iframeエージェント生成HTMLをレンダリングするサンドボックス化された<iframe>要素。「サンドボックス」とも呼ばれる。
ブートストラップドキュメントiframeに読み込まれる完全なHTMLドキュメント。HTMX、SSE拡張、postMessageブリッジ、基本スタイルを含む。
フラグメントエージェントがSSEイベントとして送信するHTMLの個別単位。HTMXによってiframeのDOMにスワップされる。
テーマホストからiframeに注入されるCSSカスタムプロパティ(--hg-*)のセット。ホストのデザインシステムとの統合に使用。
ブリッジiframeとホスト間のpostMessageベースの通信チャネル。テーマ、リサイズ、ナビゲーション、データ交換に使用。

適合レベル

本仕様はRFC 2119のキーワードを使用します:

  • しなければならない (MUST) / してはならない (MUST NOT) — 絶対的な要件。不適合は実装が適合していないことを意味する。
  • すべきである (SHOULD) / すべきでない (SHOULD NOT) — 強い推奨。逸脱には文書化された理由が必要。
  • してもよい (MAY) — 完全にオプション。実装は含めても省いてもよい。

仕様セクション

セクション定義内容
SSEメッセージフォーマットHTMLフラグメントをストリーミングするためのServer-Sent Eventsワイヤーフォーマット。イベント名、キープアライブ、ストリームライフサイクル、必須ヘッダー。
iframeブートストラップドキュメントiframeに読み込まれる完全なHTMLドキュメント。必須要素、sandbox属性、CSP、HTMXバージョン要件。
postMessageプロトコルホストとiframe間で交換されるすべてのメッセージタイプ。JSONシェイプ、オリジン検証、TypeScript型定義。
CSS変数テーマ--hg-* CSSカスタムプロパティ名前空間。必須および任意の変数、デフォルト、注入メカニズム。
エージェント作成ガイドラインエージェントがHTMLを生成する際のベストプラクティス。HTMX属性の使用、スタイリング、自己完結性、アクセシビリティ。

設計根拠

HyperGenのアーキテクチャの「なぜ」はアーキテクチャ決定記録に文書化されています:

  • ADR-001 — HTMLがプロトコルである理由
  • ADR-002 — 仕様 + リファレンス実装としてのスコープ
  • ADR-003 — インタラクティビティにHTMXを選んだ理由
  • ADR-004 — サンドボックス化されたiframeセキュリティモデル
  • ADR-005 — カスタムHTMX属性ゼロ

本仕様は「何を」を定義します。ADRは「なぜ」を説明します。

バージョニング

これはHyperGenプロトコル仕様のバージョン0.1です。プロトコルは活発に開発中です。バージョン1.0以前は破壊的変更の可能性があります。

目次