日本語

Sites

Sites

ChatGPT でホストされたサイトを構築して共有する

Sites を使用すると、ChatGPT で Web サイト、Web アプリ、ゲームを作成、ホスト、改良、共有できます。プロンプトや互換性のある既存プロジェクトを、別途デプロイワークフローを設定せずにホストされた体験へ変換したい場合は、Sites を使用します。

ChatGPT デスクトップアプリで Sites を開きます。プロンプトまたは互換性のあるローカルプロジェクトからサイトを開始し、その後 Sites ビューに戻って管理できます。

Web 版 ChatGPT の Sites を使用して、ホストされたサイトを作成および管理します。 More > Sites を選択するか、chatgpt.com/sites に直接アクセスして、作成済みの Sites を確認します。

Sites には、Codex CLI 専用の管理ビューはありません。Sites プロジェクトの作成、保存、デプロイ、管理には、Web 版 ChatGPT またはデスクトップアプリを使用します。公開前のローカルプロジェクトの編集とテストには、引き続き Codex CLI を使用できます。

Sites には、IDE 拡張機能専用の管理ビューはありません。Sites の操作には Web 版 ChatGPT またはデスクトップアプリを使用し、ローカルソースプロジェクトの編集とテストには IDE 拡張機能を使用します。

Sites を使い始める

ChatGPT で、プロンプトに「website」という単語を含めるか、@Sites に言及して、 Sites ワークフローを明示的に開始します。

  1. Site について説明する

    対象ユーザー、目的、必要な動作、および Site で使用する情報について説明します。

  2. Site を確認する

    生成されたコンテンツと動作を確認します。Site が意図した情報を使用し、データを想定どおりに処理することを確認します。

  3. Site を改良する

    必要な変更について説明します。ChatGPT が変更を行ううえで役立つ場合は、関連ファイルや視覚的なコンテキストを追加します。

  4. Site を管理して共有する

    Sites に戻り、Site を再度開くか改良します。準備ができたら、アクセスできるユーザーを選択し、生成されたリンクを共有します。

プレビューで Edit を選択します。Describe website edits で、必要な変更について説明します。追加のコンテキストが役立つ場合は、Screenshot または Add files and more を使用します。

一般的なタスクを Sites に依頼する

新しい Web サイト、ダッシュボード、または社内ツールの場合は、対象ユーザー、中心となる体験、必要な情報を含めます。

Build a project request dashboard for my operations team. Let team members
submit requests, see who owns each one, update the status, and filter the list.
Require people to sign in with their workspace account, and keep the request
data saved between visits.

既存のプロジェクトの場合は、現在のアプリを準備して公開するよう Sites に依頼します。

Deploy this project with Sites. Check whether it is compatible, make any
required changes, and give me the deployment URL.

サイトに永続的なアプリケーションデータやアップロードファイルが必要な場合は、その旨を依頼に含めます。

Add player scores and avatar uploads to this game. Keep the scores and uploaded
avatars between visits.

Site の分析情報を確認する

Sites はトラフィックを自動的に記録するため、分析 SDK を追加しなくても、デプロイ済みの Site がどのように利用されているかを確認できます。分析ビューには、ユニーク訪問者数とページビューの合計に加え、両方の指標の時系列推移が表示されます。日付範囲や粒度を変更して、別の期間を調べることもできます。

Sites を開いて Site を見つけ、More actions > Analytics を選択します。

chatgpt.com/sites にアクセスして Site を見つけ、 More actions > Analytics を選択します。

Sites には、CLI または IDE 拡張機能専用の分析ビューはありません。分析情報を確認するには、 Web 版 ChatGPT またはデスクトップアプリで Site を開きます。

Sign in with ChatGPT を追加する

公開 Sites は誰でも利用できる状態を維持しながら、保存した進捗、パーソナライズされたビュー、特定の個人に属するレコードなど、ユーザー識別を利用する機能向けに、任意の Sign in with ChatGPT を提供できます。ワークスペース内に限定された Sites では、共有設定を適用するためにすでに ChatGPT のユーザー情報が使用されています。

サインイン体験を追加するよう Sites に依頼します。

Add Sign in with ChatGPT to this public Site. Keep the Site available to signed-out visitors. Show a Sign in with ChatGPT action when someone is signed out. After they sign in, greet them with their full name when available, or their email address otherwise. Add a Sign out action, and keep authorization decisions in server-side code.
仕組み

Sites は、プラットフォームが提供するパスを通じてサインインとサインアウトのフローを処理し、その後、訪問者を Site に戻します。

<a href="/signin-with-chatgpt">Sign in with ChatGPT</a>
<a href="/signout-with-chatgpt">Sign out</a>

訪問者がサインインすると、Sites は次のリクエストヘッダーを通じて、そのユーザー情報をサーバーに転送します。

  • oai-authenticated-user-email には、認証済みのメールアドレスが含まれます。
  • oai-authenticated-user-full-name には、空でないプロフィール名が含まれる場合があります。これは任意の値として扱い、ない場合はメールアドレスを使用してください。

認可の判断はサーバー側のコードで行い、名前を分割したヘッダーには依存しないでください。

プロジェクト、バージョン、デプロイを理解する

Site は永続的にホストされる出力で、ChatGPT の Sites から再度開き、改良、設定、共有できます。

Sites プロジェクトは、ローカルソースプロジェクトを Sites で管理されるホスティングに関連付けます。 Sites は、その関連付けと任意のストレージバインディング名を .openai/hosting.json に保存します。新しく作成したローカルスターターは、 project_id なしで開始できます。Sites はホストプロジェクトのプロビジョニング後にこれを追加します。

たとえば、リレーショナルデータベースのバインディングを使用し、ファイルストレージを使用しない、プロビジョニング済みのサイトには、次の内容を含められます。

{
  "project_id": "<project-id>",
  "d1": "DB",
  "r2": null
}

Site を作成した ChatGPT Work のチャットが終了した後も、その Site は Sites の一覧に表示されます。 Web 上で Site を開始するために、ローカルプロジェクトやマニフェストは必要ありません。Site は ChatGPT Project とは別のものです。

Sites の公開には、次の 2 つの独立した段階があります。

  1. バージョンを保存する。 ChatGPT がデプロイ可能なバージョンをビルドします。ローカルソースプロジェクトの場合、ChatGPT はそのバージョンをビルドに使用した Git コミットに関連付けます。確認可能なデプロイ候補が必要な場合は、この段階を使用します。
  2. バージョンをデプロイする。 ChatGPT が保存済みのバージョンを公開し、デプロイが成功すると本番 URL を報告します。選択した対象ユーザーにサイトへのアクセスを許可する場合にのみ使用してください。

以前のデプロイ候補を特定する必要がある場合は、保存済みバージョンの一覧表示または確認を ChatGPT に依頼します。

サポートされるサイト構成を選択する

新規プロジェクトの場合、Sites ワークフローでは推奨される Site スターターから開始できます。既存のプロジェクトの場合は、デプロイを依頼する前に、互換性のあるデプロイ成果物を生成できることを確認するよう ChatGPT に依頼します。

必要なプロダクトの動作を ChatGPT に伝え、適切なサイト構成を選択できるようにします。

Site の要件 Sites に依頼する内容
コンテンツ中心の Web サイトまたはランディングページ 体験に必要でない限り、永続的なアプリケーション状態を持たない Site
保存済みレコード、ユーザーの進捗、またはゲームスコア 永続的な構造化データ用のリレーショナルデータベースである D1
画像、ドキュメント、音声、動画、またはその他のアップロード ファイル用オブジェクトストレージである R2
検索可能なメタデータを持つアップロードファイル メタデータには D1、ファイル内容には R2
現在のワークスペースユーザーの識別情報を必要とする社内サイト ワークスペースで認証されたユーザー情報
公開サインインまたは外部 ID プロバイダー 認証が有効な Site

テーマの選択や閉じたバナーなど、一時的な表示状態には永続ストレージを要求しないでください。ホストされたサイトで記憶されることをユーザーが期待するプロダクトデータには、永続ストレージを要求してください。

アクセスとシークレットを制御する

新しい Site へのアクセスは、変更するまで所有者とワークスペース管理者に限定されます。コンテンツ、データの取り扱い、想定する対象ユーザーを確認している間は、アクセスを制限したままにしてください。

アカウントとワークスペースの設定に応じて、共有オプションには次のものが含まれます。

  • 所有者とワークスペース管理者
  • サポートされている場合は、選択したアクティブユーザーまたはグループ
  • 外部招待が利用可能な場合は、招待した外部閲覧者
  • サポートされている場合は、ワークスペース内の全員
  • 公開が有効な場合に限り、インターネット上の全員

訪問者アクセスでは Site を開くことはできますが、編集アクセスは付与されません。 Enterprise ワークスペースでは、公開はデフォルトで無効になっており、管理者が有効にする必要があります。

限定共有の場合、招待された訪問者はアクセス権を付与されたアカウントでサインインする必要があります。公開 Site は、ChatGPT ワークスペースへのアクセス権がなくても利用できます。Site の対象ユーザー設定と、 Site に組み込まれたサインイン機能は別々に制御されます。

例:

Change this Site's access to everyone in my workspace after showing me the
current Site and confirming its URL.

ワークスペース外のユーザーを招待する

外部招待を使用すると、Site を公開せずに、指定したユーザーへアクセス権を付与できます。ワークスペース外の閲覧者を招待したり、個人アカウントから非公開の Site を共有したりできます。この機能は、Plus、Pro、Business、Enterprise プランの Sites ユーザーへ段階的に提供されています。

  1. 自分が所有する Site を開き、Share を選択します。
  2. Site を非公開のままにするには、Who has accessOnly those invited に設定します。
  3. Search for people or groups に閲覧者のメールアドレスを入力するか、個人用 Site の場合は Enter an email address に入力して、受信者を選択します。
  4. 対象ユーザーと受信者の Viewer アクセスを確認し、 Invite を選択します。
  5. 保存済みのアクセスリストに閲覧者が表示されることを確認します。Site のリンクを共有し、アクセス権を付与されたアカウントでサインインするよう依頼します。

外部閲覧者は Site を開いて使用できます。ワークスペースのメンバーや Site の編集者になるわけではなく、Site の編集や公開はできません。この招待はこの Site へのアクセス権を付与します。共有する前に、コンテンツと接続データを確認してください。

Enterprise では、管理者が Workspace settings > Permissions & rolesAllow members to invite external visitors to sites を管理します。この権限は、 Sites を公開する権限とは別です。 Business ワークスペースには、外部招待用の独立した権限切り替えはありません。Sites が有効であり、この機能をアカウントで利用できる必要があります。招待オプションが表示されない場合は、選択中のアカウント、Site の所有権、ワークスペースの権限、ロールアウト状況を確認してください。

閲覧者を削除するには、Site の共有コントロールを開き、そのアクセス権を削除します。残りの対象ユーザー設定も確認してください。1 件の招待を削除しても、公開、ワークスペース、またはグループ共有によるアクセス権は削除されません。

Site で共同作業する

Site の共同作業にはワークスペースが必要です。この機能が利用可能な場合、Site の所有者は同じワークスペースのアクティブなメンバーを編集者として招待できます。

編集者は Site の稼働中のデータベースデータを読み取れます。Site のコードとデータを信頼して任せられるユーザーのみを招待してください。

  1. Site を開き、Share を選択します。
  2. Add people or groups でワークスペースのメンバーを探して選択します。そのユーザーは訪問者として追加されます。
  3. そのユーザーの横にある Can view を開き、Can edit を選択します。アクセス設定は自動的に保存されます。メンバーの Sites ビューの Shared with you に Site が表示されます。
  4. 所有者が Site を初めて公開した後、編集者は Site を開き、変更を加え、バージョンを保存し、更新を公開できます。

Site の所有者は編集者のアクセス権を管理し、既存の訪問者を編集者に昇格したり、編集者を Can view に変更したり、アクセス権を削除したりできます。共同編集によって、ワークスペースの権限切り替えが別途追加されることはありません。

編集者は Site の対象ユーザーの変更、他のユーザーの招待や削除、設定や分析情報の管理、以前のバージョンの復元、所有権の移譲を行えません。また、Site の初回公開も行えません。以降の更新を編集者が公開するには、まず所有者が Site を公開する必要があります。

編集者アクセスは訪問者アクセスとは別です。上記の手順では、まずユーザーを訪問者として追加してから、編集アクセスを付与します。訪問者を編集者に昇格しても、 Site の対象ユーザー設定は変わりません。

ランタイム環境の値を設定する

Sites を開き、Site の設定を開いて、ホスト環境の環境変数とシークレットを追加、更新、または削除します。シークレット値をプロンプト、添付ファイル、Site のコンテンツに含めないでください。

chatgpt.com/sites にアクセスして Site を見つけ、 More actions > Settings を選択します。

これらの値を .openai/hosting.json に保存しないでください。ローカルの .env.env.example のファイルは、ローカル開発に必要なキーと一致させ、シークレット値はコミットしないでください。

ホスト環境の値を追加、更新、または削除した場合は、次のデプロイで更新後の設定が使用されるように、承認済みの保存バージョンを再デプロイするよう ChatGPT に依頼します。

Site の URL を変更する

URL の編集が利用可能な場合、Site の所有者は、別のデプロイを作成せずに既存の Site の ChatGPT ホスト URL を変更できます。

  1. Sites を開き、Site を見つけて、その設定を開きます。
  2. Site URL を見つけ、Change URL を選択します。
  3. 使用可能な名前を入力します。5 文字以上で、小文字で始まり、小文字、数字、単一のハイフンだけを使用する必要があります。末尾をハイフンにしたり、ハイフンを連続させたりすることはできません。
  4. 変更を確定し、Sites がアドレスを更新するまで待ちます。

URL の変更によって新しいデプロイが作成されることはありません。以前のアドレスは、ルートとクエリパラメーターを含め、新しいアドレスへリダイレクトされます。

ChatGPT ホスト URL を変更しても、カスタムドメインが追加、削除、変更されることはありません。カスタムドメインは既存の独立した機能です。この機能が利用可能な場合は、カスタムドメインの設定を使用します。

カスタムドメインを接続する

カスタムドメインが利用可能な場合、所有している apex ドメインまたはサブドメインを接続できます。Sites はドメイン登録を代行しないため、ドメインの DNS レコードを変更できる必要があります。提供開始時点では、Enterprise ワークスペースでカスタムドメインを利用できません。

ドメインを接続するには、次の手順を実行します。

  1. Site の設定を開き、Add domain を選択します。
  2. 使用する apex ドメインまたはサブドメインを入力します。
  3. Sites が提示する DNS レコードと値をコピーし、ドメインプロバイダーで追加します。
  4. 数分待ってから Site の設定に戻り、ドメインのステータスを更新します。

ドメインを Site に向ける作業を ChatGPT に依頼することもできます。ブラウジングまたは Computer Use が有効な場合、サインイン後のドメインプロバイダー内の操作を ChatGPT が支援できます。

共有前に確認する

Site を共有する前に、次の点を確認してください。

  • コンテンツ、生成されたテキストと画像、リンク、アップロードファイル、フォーム、インタラクティブな動作を確認します。
  • 機密情報やセンシティブな情報、シークレット値、または共有する権利のないサードパーティコンテンツが公開されていないことを確認します。
  • アクセスやサインインの動作を含め、想定する訪問者の視点で Site をテストします。
  • 個人情報やその他の訪問者コンテンツを収集する機能を確認します。 Site でその情報を収集、共有、公開すべきかを判断します。
  • Site で Sign in with ChatGPT を使用する場合、受け取る訪問者情報と、その情報の使用方法を説明します。
  • Site で個人データを収集または処理する場合は、適用されるプライバシーおよびデータ保護法を遵守します。
  • 想定する対象ユーザーに適した、最も限定的な共有オプションを選択します。
  • 共有した Site を開き、想定する対象ユーザーがアクセスできることを確認します。

ローカルプロジェクトから構築した Site の場合は、Codex の review pane でソースの変更とデータベース移行も確認します。

Site を非公開にする、または削除する

Site を削除せずにアクセスを解除するには、共有設定を開き、自分または選択したユーザーのみにアクセスを制限します。以前の対象ユーザーがアクセスできなくなったことを確認してください。

Site を完全に削除するには、次の手順を実行します。

  1. Sites を開き、Site を見つけます。
  2. Delete site を選択し、プロンプトの指示に従います。
  3. Site の slug を入力し、Permanently delete を選択します。

Site を削除すると完全に消去されます。削除した Site は復元できません。

制限事項とサポートされていない用途を理解する

Sites は、サポート対象の Sites ランタイムで動作する Web 体験をホストします。一部のフレームワーク、プライベートネットワーク、データベース、バックグラウンドサービス、ホスティングパターンはサポートされていません。

HTTP、HTTPS、WebSockets はサポートされています。生の受信および送信 TCP 接続はサポートされていません。

各 Site には次のストレージ上限があります。

リソース 上限
D1 データベースストレージ 10 GB
R2 オブジェクトストレージ 固定のストレージ上限なし

提供開始時点では、Sites はデータレジデンシーまたは推論レジデンシーをサポートしていません。これには、デプロイ済みの Sites、Site のコード、D1 と R2 のデータおよびファイルストレージ、生成された成果物、ログが含まれます。

Sites を使用して、保護対象医療情報や決済カードデータを処理したり、 13 歳未満または該当するデジタル同意年齢未満の子どもを対象にしたり、金融取引を可能にしたり、マルウェアを配布したり、フィッシングを可能にしたり、個人や組織になりすましたり、その他 OpenAI のポリシーに違反したりしないでください。現在の制限事項とポリシーへのリンクについては、ChatGPT Sites の作成と管理 をご覧ください。

関連ドキュメント