Pagecast: 将 Markdown 和 HTML 报告发布到 Cloudflare Pages

Pagecast: 将 Markdown 和 HTML 报告发布到 Cloudflare Pages

Pagecast 是一个本地优先的发布工具,旨在将本地 HTML 报告、Markdown 文档和静态微型应用转换为可分享的 Cloudflare Pages URL。它专门针对智能体(agent)生成的报告和小规模静态 Web 项目进行了优化,在本地开发与即时公共托管之间搭建了桥梁。

静态资产的即时部署

Pagecast 支持通过终端或本地管理 UI 快速发布静态文件。它支持三种主要的部署模式:

  • 单个文件: HTML 或 Markdown 文件可以发布到唯一的 /p/<token>/ 链接,包括位于同一文件夹中的任何同级资产。
  • 构建后的静态项目: 开发者可以在运行构建命令后,发布构建项目的入口文件(例如,来自 distout 文件夹)。
  • 整个文件夹: 完整的目录可以直接部署到指定的 Cloudflare Pages 项目。

若要无需全局安装即可开始使用,用户可以运行 npx pagecast。这将启动一个位于 http://127.0.0.1:4173 的本地管理 UI 和一个位于 http://127.0.0.1:4174 的本地预览服务器。

边缘侧强制执行的密码保护

Pagecast 提供了一种机制,通过密码来限制已发布页面的访问。这种保护是在边缘侧通过生成的 Cloudflare Pages Function 强制执行的,确保页面以及多文件报告中所有关联的文件都不会在无保护状态下被提供服务。

用户可以通过管理 UI 的开关或通过终端使用以下命令来管理密码保护:

# 添加密码保护
npx pagecast publish "/absolute/path/report.html" --password "your-password" --json

# 移除密码保护
npx pagecast publish "/absolute/path/report.html" --no-password --json

与编程智能体的集成

Pagecast 是为现代 AI 驱动的开发工作流而构建的。它为编程智能体提供了原生技能,使其能够在用户确认后发布完成的产物。

支持的集成包括:

  • Codex: 可以通过将提供的技能目录复制到 .codex/skills/ 文件夹来添加技能。
  • Claude Code: 可以通过插件市场进行集成(/plugin marketplace add Amal-David/pagecast)。
  • 通用智能体: 为其他智能体框架提供了一个可移植的 SKILL.md 文件。

此外,一个实验性的 Chrome 扩展程序允许用户在本地服务器运行时,直接将 file:/// HTML 报告发布到 Pagecast。

本地管理 UI 与管理功能

本地管理 UI 允许管理已发布版本、重命名链接(旧链接将重定向到新链接)以及撤销 URL。它还支持路径驱动的报告自动同步,以及在不修改原始源文件的情况下直接在应用内编辑 HTML 内容的能力。

安全与架构

Pagecast 遵循本地优先的安全模型:

  • 本地访问: 管理 UI 绑定到 127.0.0.1,确保草稿预览保持在本地。
  • 公共访问: 内容仅可通过活跃的 /p/<token>/ 链接访问;撤销令牌(token)将在重新部署后导致 404 错误。
  • 路由保护: 公共路由拒绝目录遍历和隐藏文件,以防止意外的数据泄露。
  • 基础设施: Pagecast 使用作用域限定的 Wrangler OAuth (account:read, user:read, pages:write) 来连接 Cloudflare 账户。

Pagecast 采用 MIT 许可证进行授权,并需要 Node.js 20+。

Sources