Poise 的起點不是「再做一套內容管理系統」,而是一個很樸素的問題:有沒有部署簡單、檔案極小,而且只要編輯純文字就能長期寫作的部落格?
最初的研究範圍包括 ssb、makesite.py、BashWrite、bashblog 與 Marmite。這些工具各自代表不同取捨:有些只有幾 KB,卻依賴外部 Markdown 轉換器;有些零依賴,但功能和 Markdown 相容性有限;Marmite 則把常用功能包進單一執行檔,提供了相對完整的靜態網站體驗。
研究很快讓我們看見,真正要追求的不只是生成器的檔案大小,而是整條發布路徑能否保持簡單。
從 Leyang Blog 借來操作體驗
另一個重要參考是 Leyang Blog。它是一套運作在 Cloudflare 上的完整 CMS,具備資料庫、媒體儲存、管理介面和發布 API。這類架構的優點是功能完整,但並不符合 Poise 想要的極簡方向。
真正值得保留的是它的發布體驗:使用者只要把文章交給 AI,AI 便能整理內容、補齊 metadata、驗證格式,最後完成發布。網站內部怎麼儲存和部署,不應成為作者的負擔。
於是我們把兩個方向拆開重組:
- 寫作與發布入口採用 AI 協作。
- 文章的唯一真實來源維持 Markdown。
- 網站在建置階段產生完整 HTML。
- Git 保存內容與每次修改。
- GitHub Actions 負責驗證和部署。
- Cloudflare Workers Static Assets 負責傳送成品。
這不是把兩個專案硬接在一起,而是保留各自最合理的抽象:AI 管理發布流程,靜態生成器管理內容輸出,Cloudflare 管理全球傳送。
主動刪除功能
產品方向確立後,我們做了兩個關鍵決定:文章不插入圖片,網站不使用瀏覽器端 JavaScript。
這些限制不是技術做不到,而是刻意控制系統邊界。沒有圖片上傳,就不需要 R2、媒體 API、縮圖工作與孤兒檔案清理;沒有前端 JavaScript,就不需要互動框架、搜尋程式、套件更新與執行時相容性處理。
最後得到的產品定義很清楚:Poise 是一個由 AI 協助發布、以 Markdown 保存、在部署時完成建置、由 Cloudflare 提供的純文字部落格。
它的重點不是功能比別人多,而是每一層都保持克制。作者只管文字,Git 保存歷史,生成器負責確定性輸出,Cloudflare 負責把結果送到讀者面前。