MuseMVP

All in Cloudflare

从 MVP 到上线,全部在 Cloudflare。

TanStack Start 经 Cloudflare Vite 插件原生运行在 Workers 上,没有适配层。D1、R2、Workers AI、Queues 与 Email Sending 写在同一份 wrangler.jsonc 里。本地开发不需要 Docker 和云端凭证,上线从一份可审查的计划开始。

在线演示由 Flare 自己的 Worker、D1 与 R2 提供服务。

Worker · 三个入口
1
原生绑定
5
需要维护的服务器
0
发布步骤 · 全程可审查
7
https://app.your-domain.com

你的 Cloudflare 账号

你好,local user

你的产品,正在生长。

在这里,专注做出下一件有用的东西。

可用积分
30
已存储文件
0
AI 任务
0
订单
0

做出一点有用的东西。

流式生成文本,或总结已上传的文档。

D1· SQLite 数据库

用户、会话、积分账本、任务与支付事件都存放在 D1。Drizzle schema 与查询集中在 packages/db,迁移随仓库版本化,部署前会先检查高风险迁移。

配置
d1_databases → DB
源码
packages/db/src/index.ts
阅读指南

虚线框内的一切都运行在你自己的 Cloudflare 账号中。Worker 运行时密钥只有 AUTH_SECRET,以及你启用的验证码、OAuth 与支付凭证。

All in Cloudflare

一个账号。一个 Worker。整套产品。

计算、数据、文件、AI、任务、邮件与日志都是同一个 Worker 上的绑定。你继承一套平台,而不是自己拼装。

你的 Cloudflare 账号

写在一份 wrangler.jsonc 里。

D1、R2、Workers AI、Queues、Cron Triggers 与 Email Sending 都是原生绑定。开发、预览与 Workers 测试执行同一套代码。

  • Worker
  • D1
  • R2
  • Workers AI
  • Queues
  • Cron Triggers
  • Email Sending
apps/web/wrangler.jsonc节选
{
  "main": "src/server.ts",
  "d1_databases": [{ "binding": "DB" }],
  "r2_buckets": [{ "binding": "R2_BUCKET" }],
  "ai": { "binding": "AI" },
  "send_email": [{ "name": "EMAIL" }],
  "queues": { "producers": [{ "binding": "JOBS" }] },
  "triggers": { "crons": ["*/5 * * * *"] }
}

没有适配层

TanStack Start,直接构建为 Worker。

Cloudflare 官方 Vite 插件输出 Worker。应用与边缘之间没有 OpenNext 转换步骤。

构建路径

Next.js → OpenNext → Worker

TanStack Start → Cloudflare Vite 插件 → Worker

更少的密钥

绑定取代访问密钥。

数据库、文件、模型、队列与邮箱都通过 Worker 访问。运行时密钥只留下 AUTH_SECRET,以及你启用的验证码、OAuth 与支付凭证。

通过绑定访问,不需要密钥

  • D1 连接串
  • R2 访问密钥
  • 模型 API key
  • 队列中间件地址
  • 邮件 API key

启用时仍需保管

  • AUTH_SECRET
  • OAuth / Turnstile / 支付凭证
更轻的技术栈

七件基础设施,收进一个账号。

通常要逐个开通、逐个保管密钥的服务,在 Flare 里都是同一个 Worker 上的绑定。

通常要分别购买的七项服务,已经挂在同一个 Worker 上。

通常需要自己拼装

多个控制台、多组密钥、多份账单

在 Flare 中

一个账号、一份 wrangler.jsonc、一个 CLI

  • 运行时自己扩缩容的 Node 服务器或容器Workerssrc/server.ts
  • 数据库托管 Postgres 与连接串D1DB
  • 文件S3 存储桶与访问密钥R2R2_BUCKET
  • AI模型供应商账号与 API keyWorkers AIAI
  • 后台任务Redis 队列与常驻消费进程QueuesJOBS
  • 定时任务外部 cron 服务或常驻进程Cron Triggers*/5 * * * *
  • 邮件邮件服务商与 API keyEmail SendingEMAIL

没有适配层

TanStack Start 通过 Cloudflare 官方 Vite 插件构建为 Worker,不经过 OpenNext 这类转换。开发、预览与测试都运行 Workers 兼容代码。

@cloudflare/vite-plugin

本地零凭证

pnpm muse:init 在本地创建 D1、生成 AUTH_SECRET 并写入两个测试账号。不需要 Cloudflare 账号,也不需要 Docker。

pnpm muse:init

更少的密钥

数据库、文件、AI、队列与邮件都通过绑定访问。Worker 只保存认证密钥,以及你启用的验证码、OAuth 与支付凭证。

AUTH_SECRET
从 MVP 到上线

一条命令开始,一份计划上线。

本地开发完全不碰云端;部署前先看清要创建什么、要执行哪些迁移;发布后自动对公开页面做 smoke 检查。每条命令都输出稳定的 JSON 与退出码,可直接接入 CI。

本地初始化

生成 AUTH_SECRET,执行本地 D1 迁移并写入两个测试账号。全程不需要 Cloudflare 凭证。

~/my-mvp1/5 · 初始化

pnpm install --frozen-lockfile

pnpm muse:init

command: init

initialized: true

next: [

"pnpm dev",

"Local accounts: [email protected] and [email protected] (see README)",

"Verification and reset links are captured at /dev/mail",

"Production secrets: .muse/production.secrets.json (gitignored)"

]

退出码0 成功1 操作失败2 被阻断3 smoke 失败

plan 只读,不会创建任何资源;待执行迁移中出现 DROP、TRUNCATE、DELETE 或 UPDATE SET 时,自动部署会被阻断。

阅读部署指南
同一产品线

三套源码,按产品选择运行方式。

两套 Next.js 应用位于 musemvp 仓库并共享领域包;Flare 是独立仓库,从第一行代码起就面向 Workers 设计。

框架

Next.js + NodeNext.js 16

Next.js + CloudflareNext.js 16 + OpenNext

TanStack Start + CloudflareTanStack Start + Vite

运行时

Next.js + NodeVercel 或 Docker 上的 Node.js

Next.js + Cloudflare通过 OpenNext 运行在 Cloudflare Workers

TanStack Start + Cloudflare经 Cloudflare Vite 插件原生运行在 Workers

数据与文件

Next.js + NodePostgreSQL · S3 兼容存储

Next.js + CloudflareD1 · R2

TanStack Start + CloudflareD1 · R2

AI 与后台任务

Next.js + Node未内置

Next.js + Cloudflare未内置

TanStack Start + CloudflareWorkers AI · Queues · Cron Triggers

本地开发

Next.js + NodeDocker Compose 中的 PostgreSQL

Next.js + CloudflareWrangler 本地 D1,无需 Docker

TanStack Start + Cloudflare本地 D1,无需 Docker 与云端凭证

部署

Next.js + NodeVercel 或你自己的 Docker 主机

Next.js + Cloudflarepnpm cf:deploy 部署到 Workers

TanStack Start + Cloudflarepnpm muse:deploy: plan → yes → verify

适合场景

Next.js + Node需要 PostgreSQL、自托管或长时间运行的 Node 进程。

Next.js + Cloudflare希望只用一个平台、运行在边缘,并尽量少运维基础设施。

TanStack Start + Cloudflare以 AI 为核心的 MVP,想用最轻的路径从本机直达 Workers。

MuseMVP 与 All in One 方案都包含这三套工程源码;UI 模板方案不包含。

查看 Next.js + Cloudflare
项目结构

一个 pnpm 工作区,边界清楚。

apps/web 负责界面与 Worker 入口,领域逻辑拆在各个 packages 中。悬停任意条目即可预览真实源码。

musemvp-flare 悬停或聚焦以预览

文件浏览器

functions.ts打开文档
apps/web/src/modules/workbench/functions.ts
源码片段

经审查的源码片段,在构建时生成。

阅读项目结构指南

三个方案,一次付费

选择适合你的方案

所有方案均为含税一次性付费。UI 模板提供落地页,MuseMVP 提供全栈 SaaS 模板,All in One 包含两者。

  • 一次付费
  • 含税价格
  • 无订阅
  • 已获得版本永久可用
最划算

一次付费 · 含税价格

All in One

MuseMVP + 全部 UI 模板

$79USD
一次性

全栈 MuseMVP 模板,外加全部 9+ 套 UI 落地页模板及维护期间的新模板。 MuseMVP Flare.

购买 All in One

SaaS 基座

  • 包含Next.js + Node 应用
  • 包含Next.js + Cloudflare 应用
  • 包含TanStack Start + Cloudflare 应用
  • 包含认证、支付与后台
  • 包含AI Native式开发

UI 落地页模板

  • 包含9+ 套已上线落地页模板
  • 包含可修改的页面源码、布局与素材
  • 包含维护期间的新模板

付款后在 Dodo Customer Portal 连接 GitHub,再接受各仓库邀请即可获取源码。

一次付费 · 含税价格

MuseMVP

全栈 SaaS 模板

$69USD
一次性

包含 Next.js Node 与 Cloudflare 应用,以及独立的 MuseMVP Flare TanStack Start 模板,内置认证、支付与后台。

购买 MuseMVP

SaaS 基座

  • 包含Next.js + Node 应用
  • 包含Next.js + Cloudflare 应用
  • 包含TanStack Start + Cloudflare 应用
  • 包含认证、支付与后台
  • 包含AI Native式开发

UI 落地页模板

  • 不包含9+ 套已上线落地页模板
  • 不包含可修改的页面源码、布局与素材
  • 不包含维护期间的新模板

付款后在 Dodo Customer Portal 连接 GitHub,再接受各仓库邀请即可获取源码。

一次付费 · 含税价格

UI 模板

UI 落地页模板

$19USD
一次性

9+ 套可修改的 Next.js 落地页模板,独立于工程基座的设计产品。

购买 UI 模板

SaaS 基座

  • 不包含Next.js + Node 应用
  • 不包含Next.js + Cloudflare 应用
  • 不包含TanStack Start + Cloudflare 应用
  • 不包含认证、支付与后台
  • 不包含AI Native式开发

UI 落地页模板

  • 包含9+ 套已上线落地页模板
  • 包含可修改的页面源码、布局与素材
  • 包含维护期间的新模板

付款后在 Dodo Customer Portal 连接 GitHub,再接受各仓库邀请即可获取源码。

所有方案均包含

  • 1 名开发者授权
  • 多个商业最终产品
  • 客户项目私有源码交接
  • 产品线更新
  • 公开文档与社区

1 名开发者,可用于多个自有商业产品,并可私有交接客户最终项目源码。禁止共享原始仓库、公开付费源码或转售模板。

获得的版本可永久使用。同产品线维护期间包含更新与新模板,不包含未来独立产品或无限人工服务。

不提供自助升级或补差价购买。如需更换方案,请联系支持。

Flare 常见问题

关于 MuseMVP Flare

购买范围、与 Next.js 版本的区别、本地开发与运行成本。

购买方案包含 Flare 吗?

包含。MuseMVP 与 All in One 都包含 Flare 源码以及两套 Next.js 应用;单独的 UI 模板方案不包含。

与 Next.js + Cloudflare 有什么区别?

两者都部署到 Workers,都使用 D1 与 R2。Flare 用 TanStack Start 和 Vite 原生构建,没有 OpenNext 适配层,并额外内置 Workers AI、Queues 与 Cron Triggers;Next.js 版本更适合已经熟悉 Next.js 生态的团队。

真的全部都在 Cloudflare 上吗?

计算、数据库、文件、AI、队列、定时任务、邮件与日志都在你的 Cloudflare 账号里。支付网关(Stripe、Creem、Dodo Payments、Waffo)以及 Google、GitHub 登录按设计保留为外部服务。

没有 Cloudflare 账号也能先在本地跑起来吗?

可以。pnpm muse:init 会在本地创建 D1、生成密钥并写入测试账号,不需要任何 Cloudflare 凭证。注意 Workers AI 没有本地模拟器,要验证真实生成,需要显式开启远程绑定或部署到自己的账号。

运行成本大概是多少?

Workers、D1、R2、Queues 与 Workers AI 都按用量计费并附带一定额度,但模板不承诺零成本。Email Sending 需要开通服务并验证发件域,向任意收件人发送事务邮件目前需要 Workers 付费套餐。请以 Cloudflare 当前定价为准。

可以复用 UI 模板吗?

可以。UI 模板基于 Next.js,接入 TanStack Start 时需要替换路由与框架专属组件。

Workers · D1 · R2 · AI · Queues · Email

下一个 MVP,直接发布到 Cloudflare。

认证、支付、AI 与部署工具都已就位。从一个能跑起来的 Worker 开始,而不是一个空仓库。

  1. pnpm muse:init
  2. pnpm dev
  3. muse:deploy --plan
  4. muse:deploy --yes
阅读开发文档