For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション

Sites

ChatGPT でホストされるサイトの構築と共有

Sites はパブリックベータ版として提供されており、ChatGPT Plus、Pro、Business、Enterprise、Edu の各プランで利用できます。ベータ期間中は、すべてのサイトを合わせた利用量に、プランごとの上限が適用されます。ChatGPT には現在の上限が表示され、上限に近づくと通知されます。上限に達すると、サイトの作成、ストレージの追加、利用量の多いサイトの公開継続ができなくなる場合がありますが、既存のサイトは引き続き編集および管理できます。

Sites を使うと、ChatGPT でウェブサイト、ウェブアプリ、ゲームの作成、ホスティング、調整、共有ができます。デプロイのワークフローを別途用意せずに、プロンプトや互換性のある既存プロジェクトからサイトやアプリを作成してホストしたい場合に利用します。

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

Sites のデプロイ URL は、すべて本番環境のデプロイを指します。ビルドを公開前にレビューしたい場合は、デプロイせずにバージョンを保存するよう ChatGPT に依頼してください。

Sites の利用開始

ChatGPT のプロンプトに「website」という単語を含めるか、@Sites をメンションすると、 Sites のワークフローを明示的に開始できます。

  1. サイトの説明

    サイトの対象ユーザー、目的、必要な動作、使用する情報を説明します。

  2. サイトのレビュー

    生成されたコンテンツと動作をレビューします。サイトが意図した情報を使用し、データを期待どおりに処理することを確認します。

  3. サイトの調整

    希望する変更内容を説明します。ChatGPT が変更を加える際に役立つ関連ファイルや視覚的なコンテキストがあれば、追加します。

  4. サイトの管理と共有

    Sites に戻って、サイトを再度開いたり調整したりします。準備ができたら、 閲覧できる人を選び、生成されたリンクを共有します。

よくあるタスクを Sites に依頼するプロンプト

新しいウェブサイト、ダッシュボード、社内ツールを作成する場合は、対象ユーザー、提供したい主な体験、必要な情報を含めます:

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.

Sites の活用事例では、デプロイ済みの社内アプリと、 その作成に使用したプロンプトの全文を確認できます。

サイトのアナリティクスの確認

Sites はトラフィックを自動的に記録するため、アナリティクス SDK を追加しなくても、デプロイ済みサイトの利用状況を確認できます。アナリティクス画面には、ユニーク訪問者の総数とページビューの総数に加え、それぞれの推移が表示されます。別の期間を確認するには、日付範囲または集計単位を変更します。

Sites を開いて対象のサイトを探し、 その他の操作 > アナリティクスを選択します。

現在、アナリティクスを利用できるのは、エンタープライズワークスペースが所有していないサイトのみです。

「ChatGPT でサインイン」の追加

公開サイトは誰でもアクセスできる状態を維持しながら、任意で利用できる「ChatGPT でサインイン」機能を提供できます。これにより、進捗の保存、パーソナライズされた表示、特定のユーザーに紐づくレコードなど、ユーザーの識別情報を利用する機能に対応できます。アクセスをワークスペース内に限定したサイトでは、すでに 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 は、プラットフォームが提供するパスでサインインとサインアウトのフローを処理した後、訪問者をサイトに戻します:

<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 には、空でないプロファイル名が含まれる場合があります。 任意の値として扱い、値がない場合はメールアドレスを使用します。

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

プロジェクト、バージョン、デプロイの仕組み

サイトは永続的にホストされる成果物です。 ChatGPT の Sites から再度開いて、調整、設定、共有できます。

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

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

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

Sites での公開は、次の 2 つの独立した段階に分かれます:

  1. バージョンを保存します。 ChatGPT がデプロイ可能なバージョンをビルドします。 ローカルのソースプロジェクトの場合、ChatGPT はそのバージョンを、ビルドに使用した Git コミットに関連付けます。 レビュー可能なデプロイ候補を用意したい場合に、この段階を利用します。
  2. バージョンをデプロイします。 ChatGPT は保存済みのバージョンを公開し、 デプロイが成功すると本番環境の URL を通知します。 選択した対象者がサイトにアクセスできるようにする場合にのみ、この段階を利用してください。

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

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

新規プロジェクトでは、Sites が推奨するサイト用スターターからワークフローを開始できます。既存プロジェクトの場合は、デプロイを依頼する前に、そのプロジェクトで互換性のあるデプロイ成果物を生成できるかどうか、ChatGPT に確認を依頼してください。

ChatGPT が適切なサイト構成を選べるよう、プロダクトに求める動作を伝えます:

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

テーマの選択やバナーの非表示状態など、一時的な表示状態のために永続ストレージの利用を依頼しないでください。ユーザーがホストされたサイトに保持しておくことを期待するプロダクトデータには、永続ストレージの利用を依頼してください。

アクセスとシークレットの管理

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

アカウントとワークスペースの設定に応じて、次の共有オプションを利用できる場合があります。

  • 所有者とワークスペース管理者
  • 選択したアクティブなユーザーまたはグループ(対応している場合)
  • ワークスペース内の全員(対応している場合)
  • インターネット上の全員(一般公開が有効な場合のみ)

閲覧権限はサイトを開くためのもので、編集権限は含まれません。エンタープライズワークスペースでは、一般公開はデフォルトで無効になっており、管理者が有効にする必要があります。

限定共有の場合、招待された訪問者はアクセス権を付与されたアカウントでサインインする必要があります。一般公開されたサイトは、ChatGPT ワークスペースへのアクセス権がなくても利用できます。サイトの公開範囲の設定と、サイトに組み込まれたサインイン機能は、それぞれ独立した設定です。

例:

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

サイトでの共同作業

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

編集者は、サイトの運用中のデータベースに保存されたデータを閲覧できます。サイトのコードやデータの取り扱いを信頼して任せられる人だけを招待してください。

  1. サイトを開き、 共有を選択します。
  2. ユーザーまたはグループを追加でワークスペースのメンバーを検索して選択します。 選択したメンバーは訪問者として追加されます。
  3. 対象者の横にある 閲覧可能 を開き、 編集可能を選択します。 アクセス権は自動的に保存されます。 サイトは、そのメンバーの Sites 画面の あなたと共有 に表示されます。
  4. 編集者はサイトを開いて変更を加え、バージョンを保存できます。所有者がサイトを初めて公開した後は、更新内容も公開できます。

サイトの所有者が編集権限を管理します。 既存の訪問者を編集者にしたり、編集者の権限を 閲覧可能に変更したり、アクセス権を削除したりできます。 共同編集のために、ワークスペースの権限を切り替える個別の設定が追加されることはありません。

編集者は、サイトの公開範囲の変更、他のユーザーの招待や削除、設定や分析データの管理、以前のバージョンの復元、所有権の譲渡を行えません。また、サイトを最初に公開することもできません。編集者が後から更新内容を公開できるようにするには、所有者が先にサイトを公開する必要があります。

編集権限と閲覧権限は別々に管理されます。上記の手順では、まず対象者を訪問者として追加してから、編集権限を付与します。訪問者を編集者に変更しても、サイトの公開範囲の設定は変更されません。

ランタイム環境の値の設定

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

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

ホスティング環境の値を追加、更新、削除した場合は、次回のデプロイで更新後の構成が使用されるよう、承認済みの保存済みバージョンを再デプロイするよう ChatGPT に依頼してください。

サイト URL の変更

URL を編集できる場合、サイトの所有者は新たなデプロイを作成せずに、ChatGPT がホストする既存サイトの URL を変更できます。

  1. Sites を開いて対象のサイトを見つけ、設定を開きます。
  2. サイトの URL を確認し、 URL を変更を選択します。
  3. 使用可能な名前を入力します。名前は 5 文字以上とし、英小文字で始めてください。使用できるのは英小文字、数字、単独のハイフンのみです。末尾にハイフンを使ったり、ハイフンを連続させたりすることはできません。
  4. 変更を確定し、Sites によるアドレスの更新が完了するまで待ちます。

URL を変更しても、新たなデプロイは作成されません。以前のアドレスへのアクセスは、ルートとクエリパラメーターを保持したまま、新しいアドレスにリダイレクトされます。

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

カスタムドメインの接続

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

ドメインの接続手順:

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

ChatGPT に、ドメインの接続先をサイトに設定する作業を手伝ってもらうこともできます。ブラウジングまたはコンピューターの使用が有効な場合は、ドメインプロバイダーにサインインした後、ChatGPT がそこでの操作を支援できます。

共有前のレビュー

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

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

ローカルプロジェクトから構築したサイトでは、ソースの変更内容や データベースのマイグレーションについても、Codex のレビューペインでレビューします。

サイトの公開停止または削除

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

サイトを完全に削除する手順:

  1. Sites を開き、対象のサイトを見つけます。
  2. サイトを削除 を選択し、表示されるプロンプトの指示に従います。
  3. サイトのスラッグを入力し、 完全に削除を選択します。

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

制限事項とサポート対象外の用途

Sites は、対応する Sites ランタイムで動作する Web エクスペリエンスをホストします。一部のフレームワーク、プライベートネットワーク、データベース、バックグラウンドサービス、ホスティング形式には対応していません。

HTTP、HTTPS、WebSockets に対応しています。TCP の直接接続には、受信・送信ともに対応していません。

各サイトのストレージ上限は次のとおりです。

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

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

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