Poise 沒有瀏覽器後台,也沒有線上編輯器。作者可以直接編輯 Markdown,但日常使用更接近把文章交給一位編輯:說明想寫什麼、要先存草稿還是立即發布,剩下的格式與部署工作交給 Codex。

這套體驗由 repository 內的 publish Skill 定義。它接受對話內容、本地文字、Markdown 檔案或網頁來源,接著整理標題、摘要、日期、ASCII slug 和標籤,並確保文章符合純文字政策。

自然語言是主要介面

Skill 最早有一個很長的名稱,使用時還要輸入完整指令。這雖然精確,卻不符合 AI 協作應有的體驗。後來名稱縮短為 $publish,再進一步把自然語言設為主要入口。

現在可以直接說:

把這段整理成部落格草稿。

或:

發布這篇到 Poise。

Codex 會依意圖自動選用 Skill,不要求使用者重打固定命令。$publish 只在需要強制指定流程時使用。

發布狀態也採取保守規則。只有「發布」「上稿」或「放到部落格」等明確指令才會進入 content/ 並觸發 Git 操作;如果出現「草稿」「先不要公開」或「不要發布」,否定指令優先,內容只會留在 drafts/

從 Git 到 Cloudflare

正式發布會依序經過以下步驟:

  1. Skill 建立或更新 Markdown。
  2. 原稿驗證器檢查內容政策。
  3. light-marmite 生成完整網站。
  4. 產物稽核確認沒有禁止的檔案與標籤。
  5. Git commit 保存這次內容變更。
  6. push 觸發 GitHub Actions。
  7. Workflow 重新測試、建置並稽核。
  8. Wrangler 將 site/ 部署到 Cloudflare Workers Static Assets。

Cloudflare 端沒有 Worker 應用程式碼、D1、R2 或 KV。GitHub Actions 使用 repository secrets 取得部署權限,但憑證不會寫進原始碼。每次 push 都產生一份確定、可回溯的靜態版本。

手機也是同一個工作流

當手機上的 ChatGPT 遠端功能連到家中已開啟此 repository 的 Codex 主機時,使用方式不需要改變。使用者仍然只要輸入自然語言,家中主機上的 Codex 便會載入同一份 Skill、修改同一個 Git repository,最後走同一條部署管線。

這點很重要:手機不需要另一套發布 API,網站也不需要為遠端操作增加動態後台。遠端介面只是把任務交給已具備專案權限的 Codex,內容模型與安全規則完全不變。

Poise 所謂的 AI 原生,不是把生成式 AI 塞進網站前台,而是讓 AI 成為作者與可靠發布流程之間的介面。讀者最後收到的,仍然只是安靜、快速而且不需要執行腳本的 HTML。