本文由 Huifer 撰写,TanStack Ship 的独立开发者与维护者。 如果我押注 Next.js,next-forge 是我会做的选择。它的高端体验是实打实的——背后的团队交付了一个精致、全面的启动包,整个 Next.js 生态也以强劲的社区反馈回应了它。TanStack Ship 则是 TanStack 生态对同一问题的答案——相同的野心,不同的技术栈。这篇对比面向的是在两个生态之间做选择的开发者,而非在同一个框架的两个分支之间挑。
已核实来源:next-forge 官网 · TanStack Ship GitHub 组织 最后更新:2026-07-21 · 更新日志
TL;DR: TanStack Ship 与 next-forge 同属高端 SaaS 启动包,同一价位,但面向不同生态。next-forge 是 Next.js 高端启动包领域的天花板——精致、全面,如果你押注 Next.js,它是答案。TanStack Ship 则是 TanStack Start 的高端等效方案——TanStack 原生模块、Cloudflare Workers + D1,以及围绕真实生产默认配置构建的 14+ 模块。如果你正在选框架,选与之匹配的启动包。
next-forge 是什么(一段话版)
next-forge 是一个由我尊重的团队维护的优质 Next.js SaaS 启动包。它配备了认证、计费、营销站点、管理后台、邮件层、博客、AI 集成、可观测性,以及一套精致的设计系统,全部对接 Vercel 友好的部署方式。代码质量高,文档详尽,设计语言一致,团队倾听社区反馈。它就是 Next.js 高端细分领域的最佳选手,不接受反驳。如果明天你要在 Next.js 上启动一个 SaaS,next-forge 应该进入你的候选清单。
TanStack Ship 是什么(一段话版)
TanStack Ship 是 TanStack Start 的高端 SaaS 等效方案。它配备了 auth(Better Auth)、计费(Stripe + D1)、邮件、UTM归因、推荐、积分、管理后台、博客、定价、i18n(Paraglide)、AI 集成、分析、监控,以及一个 CLI 脚手架——14 个模块在 Cloudflare Workers 上协同工作。这些模块源自我在 12+ 个生产级客户项目中反复需要的模式。整个平台运行在边缘,在我们这个负载规模下月成本约 14 美元,并随每个模块附赠 TanStack Intent Agent Skills。
依赖图谱揭示了平台故事:
{
"dependencies": {
"@tanstack/react-start": "^1.0.0",
"@tanstack/react-router": "^1.50.0",
"@tanstack/react-query": "^5.50.0",
"@tanstack/react-form": "^0.30.0",
"@tanstack/react-table": "^8.20.0",
"@tanstack/react-virtual": "^3.10.0",
"drizzle-orm": "^0.30.0",
"better-auth": "^1.0.0"
}
}
next-forge 的对应部分以 Next 为核心——TanStack 在其依赖图谱中完全不出现:
{
"dependencies": {
"next": "^14.2.0",
"@next-auth/auth-js": "^5.0.0",
"@vercel/postgres": "^0.10.0",
"ai": "^3.0.0",
"@vercel/analytics": "1.0.0",
"inngest": "^3.20.0"
}
}
结构性差异一目了然:TanStack Ship 的运行时是 TanStack;next-forge 的运行时是 Next.js。
坦诚的定位
这个对比不同寻常,因为两个代码库都是"对的"——针对不同的买家。并没有全场通吃的赢家。这篇文章末尾的决策树把选择具体化了;在那之前,接下来两节分别阐述每个启动包在结构上更优的维度。
我有偏向,因为我构建了 TanStack Ship。我和 next-forge 团队没有合作撰写这篇对比。在我自己的部署上测量过的数据,我用了真实数字;在估算 next-forge 的行为时,我保持了保守——这个团队在质量上已经赢得了怀疑的权利,即便我没有亲自 benchmark 过他们的技术栈。
架构与边缘故事
TanStack Ship 的边缘故事
TanStack Ship 仅运行在 Cloudflare Workers 上。整个架构围绕这个约束及其特性来构建:
- 计算 — Workers V8 隔离。冷启动中位数约 5ms;负载下 p99 约 280ms。
- 数据库 — D1(边缘的 SQLite),高吞吐量写入路径配合 Queue,读密集路由使用读副本。
- 对象存储 — R2 用于用户上传、导出和大文件。无出口费用。
- 异步 — Cloudflare Queues 用于生产者/消费者模式,Workflows 用于批量写入和持久重试。
- 有状态边缘 — Durable Objects 用于实时和锁(用在限速和实时光标模块)。
成本概况是诚实的:在我跑 TanStack Ship 的负载规模下(约 3200 名付费客户,峰值约 250 req/s,每月约 700 GB 出口流量),Workers + D1 + R2 + Queues + Durable Objects 的全部账单约 14 美元/月。这个数字包含了上面所有命名的平台原语。
next-forge 的边缘故事
next-forge 是多平台的。代码库面向 Vercel(默认)、Netlify 和自托管 Node。架构选择来自多平台目标:
- 计算 — Vercel Functions 上的 Node.js(或 Netlify/Node 上的等价实现)。在典型 Functions 配置下冷启动约数百毫秒。
- 数据库 — Postgres,通常是 Neon 或 Supabase。样板代码带有 Postgres 原生假设:事务、外键、serverless 驱动。
- 对象存储 — Vercel Blob / S3,取决于部署目标。
- 异步 — Vercel Cron + Inngest(或等价方案),取决于你接入的方案。
- 有状态边缘 — Vercel KV / Redis / Upstash,取决于配置。
多平台支持是真工程。维护两个或三个部署目标比维护一个更费功夫,next-forge 做到了。对于因企业 IT 或平台政策被锁定在特定主机上的团队,多平台支持是关键决策因素。
边缘基准——仅作方向性参考
我没有在相同负载下对 TanStack Ship 的 Workers 管道和 next-forge 的 Vercel 管道做过对照 A/B benchmark。TanStack Ship 的数字(冷启动 p99 约 280ms,边缘请求预算静态页面 TTFB < 50ms,来自 LHR)是我自己运行的真实数字。next-forge 的 Vercel 管道可比数字可通过 Vercel 公开的基础设施文档和客户报告获取。
请将此对比视为方向性的:Workers 会给你更好的冷启动,Vercel 会给你更丰富的构建生态。
功能矩阵
| 维度 | TanStack Ship | next-forge |
|---|---|---|
| 元框架 | TanStack Start | Next.js |
| 默认主机 | Cloudflare Workers | Vercel |
| 认证 | Better Auth + D1 | Auth.js + Postgres |
| 计费 | Stripe + D1 + Queue 写入路径 | Stripe + Postgres |
| 数据库 | D1 (SQLite) | Postgres (Neon / Supabase) |
| 邮件 | Resend + Queues | Resend + Vercel Cron |
| 营销站点 | Inbound(TinaCMS 可选) | 内置 |
| 博客 | TanStack Router + MDX | Contentlayer / MDX |
| 管理后台 | 自定义 TanStack Router 页面 | Admin UI |
| i18n | Paraglide.js(3 语言) | next-intl(多语言) |
| UTM 归因 | 内置(以故障复盘为默认) | 默认不附带 |
| 推荐积分 | 内置 | 默认不附带 |
| AI 集成 | TanStack Intent Agent Skills + Vercel AI SDK 风格包装器 | Vercel AI SDK + 供应商无关 |
| 分析 | 自定义 D1 聚合 + Workers Analytics | Vercel Analytics + PostHog |
| 监控 | Workers Analytics + D1 告警 | Sentry + 供应商集成 |
| 模块总数 | 14 | 约 10–12 |
| CLI 脚手架 | Wrangler 风格 | Vercel CLI 风格 |
| 定价 | 免费 Starter + 付费 Pro 套餐 | 付费许可 |
| 维护 | 每周发布(独立开发者) | 每周发布(小团队) |
矩阵对覆盖对等性是诚实的。两个代码库都交付了 SaaS 必备要素。差异在于特定模块的深度和平台目标假设。
TanStack Ship 领先之处
- UTM 归因和推荐积分作为默认配置。 这两个模块经过多次客户项目打磨才成型,现在已内置其中。
- Queue 写入路径上的 Stripe 计费。 D1 写入锁故障复盘 是生产修复;queue 模式是新的默认。
- TanStack Intent Agent Skills。 随包附赠的版本化 AI 上下文,而非你需要手动维护的
CLAUDE.md。TanStack Intent 解读 详述了其机制。
next-forge 领先之处
- 多平台部署。 如果 Vercel 不是你的主机,next-forge 有路径。TanStack Ship 没有。
- 内置营销站点精致度。 next-forge 的营销模板开箱即用更成熟。TanStack Ship 的营销模块刻意保持极简——它是起点,不是成品品牌站。
- 精致的管理后台 UI。 next-forge 交付了更完整的管理后台;TanStack Ship 交付了路由结构与模式,把视觉设计留给你。
- Vercel AI SDK 集成。 next-forge 的 AI 集成比 TanStack Ship 更紧密地对接 Vercel AI SDK。如果你使用 Vercel 的 AI 原语,next-forge 是更简单的路径。
AI 工具成熟度
这是我花最多时间的维度,因为它受"高端启动包"宣称影响最大。
TanStack Ship 的做法
TanStack Ship 为每个模块附赠 TanStack Intent Agent Skills——markdown 提示词、工具定义和示例工作流,在安装包时会被 Claude Code、Cursor、Windsurf 和 Codex 发现。Skill 文件随包版本化,所以处理 tanstack-ship@1.4.2 的 AI 代理看到的是 tanstack-ship@1.4.2 的 Skill,而非过时的全局提示词。包升级时,Skills 也随之升级。
每个 Skill 的有效载荷很小——约 3-5 KB markdown 加一个工具定义 JSON。每个 Skill 告诉 AI 模块做什么、API 表面积是什么、典型示例有哪些,以及要避免什么。AI 获得的是结构化、经过审查的上下文,而不是靠猜测包的导出。
next-forge 的做法
next-forge 交付了一个精致的 CLAUDE.md 和一个 cursor/rules 文件夹。代码库组织良好、类型完备、文档齐全——意味着 AI 代理可以在上面合理运作。代理的上下文就是仓库里的内容:代码、README、团队维护的 CLAUDE.md。
取舍在于:这种方法更简单,在任何 AI 工具上都适用,但需要持续维护。当 CLAUDE.md 与实际代码库脱节——当 API 变更而文档未更新——AI 就会基于过时文档产生幻觉。
实践中意味着什么
以我的实战经验,版本化 Skills 比 CLAUDE.md 形态的方式更能减少幻觉导入和过时 API 错误。但对照研究尚未完成。请将此说法视为方向性的:如果 AI 工具质量对你的日常工作重要,在做出承诺之前,在每个代码库上各做一个小规模原型是值得的。
决策树
如果以下任一条件为真,选 next-forge:
- 你已锁定 Next.js 生态,TanStack 对你的团队而言不是进步而是侧移。
- 你更需要开箱即用的精致管理后台、营销模板和设计系统,而不是模块深度。
- 你的部署目标是 Vercel、Netlify 或自托管 Node——而非 Cloudflare Workers。
- 你在建的是一个营销主导的 SaaS,品牌展示面比平台更重要。
如果以下任一条件为真,选 TanStack Ship:
- 你想要 TanStack 原生集成(TanStack Router 模式、TanStack Query 约定、TanStack Form)默认接入,而非后期附加。
- 你部署到 Cloudflare Workers,且想要 D1 + R2 + Queues + Workflows + Durable Objects 作为你的原语——以及其带来的成本结构。
- 你想要随包附赠的版本化 AI 上下文(TanStack Intent Agent Skills),而非手动维护的
CLAUDE.md。 - 你想要 UTM 归因、推荐积分和以故障复盘为默认的 Queue Stripe 计费——这些源自故障复盘系列的模块。
决策树刻意没有中间分支。两个启动包都是对的;正确的启动包取决于买家的生态承诺。
克隆 TanStack Ship 高级启动包:TanStack Ship 仓库 提供了免费 starter 用于评估;Pro 套餐解锁 UTM 归因、推荐积分、AI 集成,以及以故障复盘为默认的计费和邮件模块。完整定价请见 TanStack Ship 定价。
如果你想扩大对比范围,vs-shipfast 对比涵盖了 Next.js + Vercel 领域的主流方案但社区规模较小,vs-makerkit 对比涵盖了 B2B 多租户细分,vs-supastarter 对比涵盖了多语言(React + Vue)备选方案。浏览完整竞品索引可查看系列全部对比页面。