Sites
在 ChatGPT 中建置並分享託管站點
Sites 允許 ChatGPT 建立、託管、迭代和分享網站、Web App 與遊戲。當你想把提示詞或相容的現有專案變成託管體驗,又不希望單獨搭建部署工作流程時,可以使用 Sites。
在 ChatGPT 桌面 App 中開啟 Sites。你可以根據提示詞或相容的本機專案建立 Site,之後再回到 Sites 檢視進行管理。
開始使用 Sites
在 ChatGPT 中,在提示詞裡寫出“website”,或明確提及 @Sites,即可啟動 Sites 工作流程。
- 描述 Site。 說明受眾、目的、必要行為,以及 Site 應使用的資訊。
- 審查 Site。 檢查生成的內容與行為,確認 Site 使用了預期資訊,並按預期處理資料。
- 迭代 Site。 描述所需修改;如果相關檔案或視覺上下文有助於 ChatGPT 完成修改,請一併提供。
- 管理並分享 Site。 返回 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 準備併發布當前 App:
Deploy this project with Sites. Check whether it is compatible, make any
required changes, and give me the deployment URL.當 Site 需要持久應用資料或檔案上傳時,應在請求中明確說明:
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(分析)。
所選時間段的獨立訪客和頁面瀏覽量會同時顯示總數與時間序列圖。
新增 Sign in with ChatGPT
公開 Site 可以繼續向所有人開放,同時提供可選的 Sign in with ChatGPT,用於儲存進度、展示個人化檢視,或關聯屬於特定使用者的記錄。受工作區限制的 Site 已經使用 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。新建的本機 starter 最初可以沒有 project_id;Sites 在預配託管專案後會新增該欄位。
例如,使用關聯式資料庫繫結但不使用檔案儲存的已預配 Site 可以包含:
{
"project_id": "<project-id>",
"d1": "DB",
"r2": null
}Sites 釋出分為兩個獨立階段:
- 儲存版本。 ChatGPT 建置可部署版本。對於本機源專案,ChatGPT 會把該版本與建置時使用的 Git commit 關聯。當你需要一個可審查的候選部署時,使用這一階段。
- 部署版本。 ChatGPT 釋出已儲存的版本,並在部署成功後報告生產 URL。只有確實希望目標受眾存取 Site 時,才執行這一步。
需要識別過去的候選部署時,可以讓 ChatGPT 列出或檢查已儲存版本。
選擇受支援的 Site 形態
新專案可以從 Sites 工作流程推薦的 Site starter 開始。對於現有專案,應先讓 ChatGPT 確認專案能夠生成相容的部署產物,再請求部署。
在提示詞中說明所需產品行為,以便 ChatGPT 選擇合適的 Site 形態:
| Site 需求 | 應向 Sites 提出的要求 |
|---|---|
| 內容型網站或落地頁 | 除非體驗確有需要,否則不使用持久應用狀態 |
| 已儲存記錄、使用者進度或遊戲分數 | 使用 D1 關聯式資料庫儲存持久結構化資料 |
| 圖片、文件、音訊、影片或其他上傳內容 | 使用 R2 物件儲存檔案 |
| 帶可搜尋後設資料的上傳檔案 | 使用 D1 儲存後設資料,並用 R2 儲存檔案內容 |
| 需要當前工作區使用者身份的內部 Site | 使用經過工作區認證的使用者身份 |
| 面向公眾的登入或外部身份提供方 | 使用啟用認證的 Site |
不要為主題選擇、已關閉橫幅等臨時展示狀態請求持久儲存;如果託管 Site 需要記住的是使用者預期長期保留的產品資料,則應使用持久儲存。
控制存取與 secrets
新 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.設定執行時環境值
開啟 Sites,再開啟 Site 設定,以新增、更新或移除託管環境變數與 secrets。不要把 secret 值放入提示詞、附件檔案或 Site 內容。
不要把這些值存入 .openai/hosting.json。讓本機 .env 和 .env.example 與本機開發所需的鍵保持一致,並且不要提交 secret 值。
新增、更新或移除託管環境值後,應讓 ChatGPT 重新部署已核准的儲存版本,使下一次部署使用更新後的設定。
連線自定義域名
如果自定義域名功能可用,你可以連線自己擁有的頂級域名或子域名。Sites 不代為註冊域名,因此你必須能夠修改域名的 DNS 記錄。自定義域名初始階段不對 Enterprise 工作區開放。
連線域名:
- 開啟 Site 設定並選擇 Add domain(新增域名)。
- 輸入要使用的頂級域名或子域名。
- 複製 Sites 提供的 DNS 記錄和值,再通過域名提供商新增這些記錄。
- 等待幾分鐘,然後返回 Site 設定並重新整理域名狀態。
你也可以讓 ChatGPT 幫助把域名指向 Site。如果已啟用瀏覽或 Computer Use,登入域名提供商後,ChatGPT 可以協助你完成操作。
分享前審查
分享 Site 前:
- 審查內容、生成的文本與圖片、連結、上傳檔案、表單和互動行為。
- 確認 Site 沒有暴露機密或敏感資訊、secret 值,以及你無權分享的第三方內容。
- 從預期訪客的視角測試 Site,包括存取控制和登入行為。
- 審查收集個人資訊或其他訪客內容的功能,並決定 Site 是否應該收集、分享或釋出這些資訊。
- 如果 Site 使用 Sign in with ChatGPT,應說明它會接收哪些訪客資訊,以及如何使用這些資訊。
- 如果 Site 收集或處理個人資料,請遵守適用的隱私與資料保護法律。
- 選擇滿足目標受眾需求的最小分享範圍。
- 開啟已分享 Site,並確認目標受眾可以存取。
對於由本機專案建置的 Site,還應在 Codex 審查面板中檢查源程式碼修改和所有資料庫遷移。
下線或刪除 Site
如果只想移除存取權限而不刪除 Site,請開啟分享設定,把存取範圍收緊到自己或選定使用者,並確認之前的受眾已無法開啟。
永久刪除 Site:
- 開啟 Sites 並找到目標 Site。
- 選擇 Delete site(刪除 Site),然後按提示操作。
- 輸入 Site slug,再選擇 Permanently delete(永久刪除)。
刪除是永久操作,已刪除的 Site 無法恢復。
瞭解限制與不支援的用途
Sites 託管執行在受支援 Sites runtime 中的 Web 體驗。部分框架、私有網路、資料庫、後臺服務和託管模式不受支援。
Sites 初始階段不支援資料駐留或推理駐留,其中包括已部署 Sites、Site 程式碼、D1 與 R2 資料及檔案儲存、生成的產物和日誌。
不要使用 Sites 處理受保護健康資訊或支付卡資料;不要把 13 歲以下兒童或適用數字同意年齡以下人群作為目標受眾;不要啟用金融交易、傳播惡意軟體、實施網路釣魚、冒充個人或組織,或以其他方式違反 OpenAI 政策。當前限制與政策連結請參見建立和管理 ChatGPT Sites。
相關文件
- ChatGPT 桌面 App介紹 App 導航、專案與聊天。
- 審查並交付修改介紹釋出前如何檢查源程式碼修改。