Site project
Site 有 title、slug、status、project id 和 live URL。project id 是後續 version、domain、access、deployment 的核心識別。
下一步:整理 project metadata 能改哪些欄位。ai-lab.oao.tw / sites playground
Playground map
最後更新:2026-07-22
這頁不是官方功能大全,而是 AI Lab OAO 的能力探索地圖。每個設施代表一種 Sites 能力:實測成功就蓋章,只看到一部分就先標記,還不確定的就排進下一輪實驗。
Sites 跟 VPS 的心智模型不同。VPS 像一台自己顧的機器;Sites 比較像一組已經鋪好軌道的 edge site runtime:source 進來,build 成 version,再發布到 production。
Site 有 title、slug、status、project id 和 live URL。project id 是後續 version、domain、access、deployment 的核心識別。
下一步:整理 project metadata 能改哪些欄位。可以綁定自訂網域,並分開觀察 domain status、provider status、SSL status 和 DNS validation。
下一步:記錄 domain 更新與 SSL 生效時間。已看到 public 和 custom access 模式。公開網站要把 repo、build output 和 production 內容都當成公開材料檢查。
下一步:實測 custom access 對訪客體驗的影響。GitHub 可以作為協作正本,Sites source repo 則在部署前對齊 exact commit。兩者角色不同。
下一步:把 source sync 失敗情境整理成 troubleshooting。部署不是只把 HTML 丟上去。Archive 需要保留 Sites runtime 期待的結構,例如 server entry 和 hosting 設定。
下一步:整理不同 build output layout 的可行性。保存 version 會留下 version number、commit sha、archive hash、檔案數和大小。Save 不等於 publish。
下一步:比較多個 version 的差異與截圖。可以把 saved version 發布到 production,部署狀態會經過 pending、publishing、succeeded 這類階段。
下一步:補上失敗部署時的觀察方式。Version history 已存在,但還沒實測把 production 切回舊 version 的流程。
下一步:選一個安全改動測試 rollback。Build output 已用 request handler 回應 HTML、CSS、JS,也已部署公開 JSON probe。Sites 不只是純靜態檔案目錄。
已延伸到/api/weather?location=... 這類 query-based API。
/api/health 已在 production 驗證,可以由 request path 切到 runtime JSON response。
/api/health 已可回 JSON、no-store cache header、probe header 與 server-generated timestamp。
Production runtime 已能呼叫外部天氣 API;但 Open-Meteo 從 Sites 出口回 429,最後以 wttr.in fallback 成功。
打開 Weather CacheSites 有 runtime env vars 和 secrets 管理,但還沒把值接進實際 handler。
下一步:新增非敏感 env var 並在測試 endpoint 中讀取。已用 worker logs 觀察 request、status、execution model 與 route。部署錯誤和 runtime probe 都能回頭查。
下一步:整理常見 failure message 與處理方式。Site 和 version 會保留 screenshot URL,可作為部署後視覺狀態的佐證。
下一步:把 screenshot 檢查納入 release report。.openai/hosting.json 宣告 "d1": "DB" 後,production handler 可透過 env.DB 讀寫。
/api/d1-probe 已成功寫入並在後續 request 讀回。
天氣 API 已用 D1 依縣市保存快取。30 分鐘內回 d1-cache,過期才重新打外部 API。
沒有背景排程;有人打開天氣頁時,後端才檢查快取時間並決定要不要刷新資料。
這符合 Sites 輕量 app 心智模型,也能避免一直打外部 API。目前只驗證 D1。R2 應用場景會是截圖、附件、PDF、圖片或可下載檔案。
下一步:做一個安全的文字或小圖物件 put/get probe。D1 已確認是可用的持久 storage;module-scope memory 則只適合 runtime 行為觀察,不能當資料庫。
下一步:把真正需要保存的實驗紀錄移到 D1-backed API。Access control 可以管誰能進站,但 app-level user identity 能取得到什麼還沒實測。
下一步:探索登入閘門與 runtime request 資訊。長期狀態、檔案上傳、排程、queue、資料庫通常不應先假設 Sites 自己全包。
下一步:定義 Sites + 外部服務的搭配模式。