Pagecast: 將 Markdown 與 HTML 報告發佈至 Cloudflare Pages
Pagecast: 將 Markdown 與 HTML 報告發佈至 Cloudflare Pages
Pagecast 是一款以本地優先(local-first)為設計理念的發佈工具,旨在將本地 HTML 報告、Markdown 文件與靜態小型應用程式轉換為可分享的 Cloudflare Pages URL。它特別針對 AI Agent 生成的報告與小型靜態網頁專案進行了優化,在本地開發與即時公開託管之間搭建了一座橋樑。
靜態資產的即時部署
Pagecast 讓使用者能透過終端機或本地管理介面(admin UI)快速發佈靜態檔案。它支援三種主要的部署模式:
- 單一檔案: HTML 或 Markdown 檔案可以發佈到一個唯一的
/p/<token>/連結,並包含位於同一個資料夾中的任何兄弟資產。 - 已建置的靜態專案: 開發者可以在執行建置指令後,發佈已建置專案的入口檔案(例如來自
dist或out資料夾)。 - 整個資料夾: 完整的目錄可以直接部署到指定的 Cloudflare Pages 專案中。
若想在不進行全域安裝的情況下開始使用,使用者可以執行 npx pagecast。這將會在 http://127.0.0.1:4173 啟動一個本地管理介面,並在 http://127.0.0.1:4174 啟動一個本地預覽伺服器。
邊緣運算強制執行密碼保護
Pagecast 提供了一種機制,可透過密碼來保護已發佈的頁面。這種保護是在邊緣端(edge)透過生成的 Cloudflare Pages Function 強制執行的,確保頁面以及多檔案報告中所有相關聯的檔案都不會以無保護狀態被提供服務。
使用者可以透過管理介面中的切換開關,或透過終端機使用以下指令來管理密碼保護:
# 新增密碼保護
npx pagecast publish "/absolute/path/report.html" --password "your-password" --json
# 移除密碼保護
npx pagecast publish "/absolute/path/report.html" --no-password --json
與程式碼 Agent 的整合
Pagecast 是為現代 AI 驅動的開發工作流而設計的。它為程式碼 Agent 提供原生技能,使其能在使用者確認後發佈完成的產出物。支援的整合方式包括:
- Codex: 可以透過將提供的技能目錄複製到
.codex/skills/資料夾來新增技能。 - Claude Code: 可透過插件市場進行整合(
/plugin marketplace add Amal-David/pagecast)。 - 通用 Agent: 為其他 Agent 框架提供了一個可攜式的
SKILL.md檔案。
此外,一個實驗性的 Chrome 擴充功能允許使用者在本地伺服器執行時,直接將 file:/// HTML 報告發佈至 Pagecast。
本地管理介面與管理功能
本地管理介面允許管理已發佈的版本、重新命名連結(舊連結會重新導向至新連結),以及撤銷 URL。它也支援路徑驅動報告的自動同步,以及在不修改原始來源檔案的情況下,直接在應用程式內編輯 HTML 內容的功能。
安全性與架構
Pagecast 遵循本地優先的安全模型:
- 本地存取: 管理介面綁定至
127.0.0.1,確保草稿預覽保持在本地。 - 公開存取: 內容僅能透過有效的
/p/<token>/連結存取;撤銷 Token 後,重新部署後會導致 404 錯誤。 - 路由保護: 公開路由會拒絕目錄遍歷(directory traversal)與隱藏檔案,以防止意外的資料外洩。
- 基礎設施: Pagecast 使用範圍限定的 Wrangler OAuth (
account:read,user:read,pages:write) 來連接 Cloudflare 帳戶。
Pagecast 採用 MIT 授權條款,並需要 Node.js 20+。