发布于 2026年10月20日
MuseMVP Flare:从本机到 Cloudflare,中间不再隔一层
Flare 是独立的 TanStack Start 仓库,经 Cloudflare Vite 插件直接跑在 Workers 上。D1、R2、Workers AI、Queues 和邮件都是同一个 Worker 的绑定。
MuseMVP 现在有三条能把产品送上线的路。Next.js 可以跑在 Node 上,也可以经 OpenNext 跑在 Workers 上。Flare 是第三条:TanStack Start 经 Cloudflare 官方 Vite 插件直接构建成 Worker。
少拼一套基础设施
带登录、文件、AI 和支付的 MVP,通常还要再去开数据库、对象存储、模型账号、队列和邮件,然后把几组密钥收进环境变量。Flare 把这些收进同一个 Cloudflare 账号:
- 一个 Worker 导出
fetch、queue和scheduled三个入口 - D1 存放用户、会话、积分账本和支付事件
- R2 存放私有文件,读取和删除之前校验归属
- Workers AI 做流式生成和文档摘要,不需要模型供应商的 API key
- Queues 处理后台任务,失败重试之后进入死信队列
- Email Sending 发送登录验证码;本地开发时,邮件出现在
/dev/mail
支付网关,以及 Google、GitHub 登录,仍然留在外面。它们是你的商户和身份提供商。
本机先跑起来
pnpm install --frozen-lockfile
pnpm muse:init
pnpm devmuse:init 会在本地创建 D1、生成 AUTH_SECRET,并写入 [email protected] 和 [email protected]。这一步不需要 Cloudflare 账号,也不需要 Docker。打开 http://localhost:3000 就能登录。
Workers AI 没有本地模拟器。要看真实生成,需要显式打开远程绑定,或者部署到自己的账号。
上线先看一份计划
pnpm muse:doctor --target production --json
pnpm muse:deploy --target production --plan --json
pnpm muse:deploy --target production --yes --json
pnpm muse:verify --target production --jsonplan 只读取远程资源,标明数据库、存储桶和队列是新建还是复用,不会创建任何东西。待执行迁移里如果出现 DROP、TRUNCATE、DELETE 或 UPDATE SET,自动部署会被阻断。--yes 才会检查、构建、准备资源、执行远程迁移、上传密钥并发布。verify 对公开页面做 smoke 检查,它不代表支付或邮件已经验收通过。
开通资源、真实发信、AI 推理和商户沙盒,取决于你自己的 Cloudflare 账号和支付商户。
源码包含在哪
MuseMVP 和 All in One 包含 Flare 仓库,以及原来的两套 Next.js 应用。单独的 UI 模板方案不包含 Flare。
产品页在 /web-musemvp-flare,开发文档在 /docs/web-musemvp-flare,在线演示在 flare.musemvp.com。