目录
问 Claude Code 或 ChatGPT“这个 Web 应用该部署到哪里?”,几乎会条件反射地得到一句:“部署到 Vercel 吧。”对有经验的人来说这是很自然的建议,但初学者难免会想:“Vercel 是什么?写着免费,是真的吗?账单最多会到多少?”
先说结论:用 Next.js 做的个人非商业网站,从 Vercel 的免费 Hobby 套餐开始完全可以。其余由三个条件决定。① Hobby 仅限非商业的个人使用(放广告、卖东西、作为有偿工作制作网站,都算商业用途)。② 超出额度后的行为在 Hobby 和 Pro 上正好相反(Hobby 会停,Pro 不停并转为按量计费)。③ 决定费用的是“函数等待的时间”和“提供的图片与请求的数量”。本文计算 Hobby 的额度能撑多少页面浏览和 AI 调用,说明 Pro 怎么计费、单价多少、账单在哪里变大、如何设定上限,全部以 2026年11月12日的 Vercel 官方文档原文核对。
本文负责的是当 AI 推荐 Vercel 时,判断用不用、要花多少、在哪里停。PaaS 是什么以及各家的比较见 PaaS(Vercel 等)是什么,要不要用 Next.js 见 AI 让你用 Next.js 时,实际的部署步骤见 从 Claude Code 和 Cursor 部署到 Vercel。
即使 AI 推荐,也要先确认套餐条件
— 能否免费用、超出后会怎样、在哪里停下
来源:Vercel 官方文档(Hobby、Pro、Spend Management)。截至2026年11月12日。
1. AI 为什么推荐 Vercel——3个原因
Vercel 是一个“推送到 GitHub 就自动构建并分配 URL”的 PaaS。它把静态文件分发(CDN)、运行服务器端代码的 Vercel Functions、域名与 SSL、每个分支的预览 URL 整合在一起。它与虚拟主机、VPS、云的区别见 PaaS(Vercel 等)是什么。AI 条件反射般推荐它,有3个结构性原因。
AI 条件反射般推荐 Vercel 的理由
来源:Next.js“Deploying”、React“Creating a React App”(写明 Next.js 由 Vercel 维护)
也就是说,AI 选的是“初学者最不容易卡住的路线”。这很合理,但它并不检查是否适合你的用途(是否商用、处理时长、预算)。下面用原文中的数字来看差距出在哪里。
2. 决定是否使用的6个问题
不要因为“AI 说了 Vercel”就决定。按顺序回答下面6个问题。只有 Q1 答“是”就不能选 Hobby。其余问题若符合,先用第3节以后的数字确认再决定。
决定是否使用 Vercel 的6个问题
只是募集捐款不算商业用途。
否(如静态网站)→ 其他平台也能做到同样的事。
来源:Fair Use Guidelines、Functions Limits、Flat Rate CDN、Pro(截至2026年11月12日)
Q1 的界线比想象中宽。Vercel 的 Fair Use Guidelines 把商业用途定义为“以参与制作的任何人获得经济利益为目的的部署”,领工资或报酬写代码的人也包括在内。列出的例子有:向访客收款、宣传商品或服务、收费制作、更新或托管网站、以联盟营销为主要目的的网站、Google AdSense 等广告。“副业有一点广告收入的博客”按这个定义也算商业用途。拿不准时,原文也建议咨询 Vercel 支持。
3. 免费的 Hobby 能撑多久——估算
Hobby 的额度写成“100GB”“360 GB-hrs”这样的单位,很难套到自己的网站上。下表把官方额度换算成页面浏览数和调用次数。倒数第二列的估算基于表下写明的假设,实际数值取决于网站的结构。
| 计量项目 | Hobby 每月额度 | 估算 | 超出时 |
|---|---|---|---|
| 传输量(Fast Data Transfer) | 100GB | 每次浏览 2MB 时约5万次浏览 | 大多数功能要等满30天才能再用 |
| CDN 请求 | 100万次 | 每页读取 HTML、JS、图片共30个文件时约3.3万次浏览 | 同上 |
| 函数调用(Invocations) | 100万次 | 每页调用1次 API 时100万次浏览 | 同上 |
| Active CPU | 4小时 | 每次计算0.1秒时14.4万次 | 同上 |
| Provisioned Memory | 360 GB-hrs | 2GB 的函数等待 AI 响应20秒时约3.2万次 | 同上 |
| 图片转换(Image Transformations) | 5,000次 | 100张原图以5种宽度、2种格式输出就是1,000次 | 新图片返回 402 错误并显示 alt 文字(已转换的图片照常显示) |
假设:每次浏览 2MB、读取30个文件,相当于图片较多的博客;函数内存 2GB 是 Vercel 的默认值;等待 AI 响应20秒大致相当于调用一次生成文字的 API。Provisioned Memory 的估算采用“每次调用独占一个实例”的最保守算法,如果一个实例同时处理多个请求,消耗会更少。缓存过期后重新生成图片时,每次都会再计一次图片转换。来源:Vercel Hobby Plan、Functions Limits(默认内存 2GB)、Image Optimization Limits and Pricing。
由此可见
普通博客通常先用完的是 CDN 请求次数,而不是传输量。调用 AI 的应用先用完的是 Provisioned Memory,而不是 CPU。等待 AI 响应期间,CPU 计费暂停,但内存计费继续,所以会出现“计算很轻却在消耗额度”的情况。在 Hobby 上公开 AI 聊天时,至少在最初几天到 Usage 页面看一下内存消耗。
4. Pro 怎么计费——$20 包含什么、超出部分的单价
Pro 的月账单由“$20 平台费 + 追加席位 + 附加功能 + 超出额度的按量部分”构成。$20 平台费包含1个可部署的席位和$20 的使用额度。额度不用会在月底作废,不会结转到下个月。用到额度的75%时会自动通知,用完后团队转为按量计费,并开始收到每日和每周的用量汇总邮件(Vercel Pro Plan)。
CDN 部分(请求与传输量)按名为 Flat Rate CDN 的固定档位付费。Pro 免费包含最低一档(每月100万次请求、1TB)。如果一个计费周期的总量超出该档,会从下一个周期开始升到上一档。仅一天的突增不会触发升档。
| Flat Rate CDN 档位 | 每月 CDN 请求 | 每月传输量 |
|---|---|---|
| Pro 内含 | 100万 | 1TB |
| $20/月 | 1,000万 | 50TB |
| $100/月 | 5,000万 | 50TB |
| $300/月 | 1亿5,000万 | 50TB |
来源:Flat Rate CDN。超过最高档后转为按量计费。关闭 Flat Rate CDN 时,CDN 部分同样按量计费,华盛顿(iad1)为传输量 $0.15/GB、请求 $2.00/100万次。大量文件分发、占带宽大部分的媒体分发、把 CDN 当文件存储使用,都不在 Flat Rate CDN 的范围内。
CDN 以外的部分,在额度用完后按量计费。初学者账单上常见项目的单价如下。
| 项目 | 计量内容 | 按量单价(iad1) |
|---|---|---|
| Active CPU | 代码实际在计算的时间 | $0.128/小时 |
| Provisioned Memory | 分配给函数的内存 × 实例运行时间(含等待) | $0.0106/GB 小时 |
| 函数调用 | 对函数的请求(成功与失败都算) | $0.60/100万次 |
| Fast Origin Transfer | CDN 与函数、源站之间的传输 | $0.06/GB |
| 图片转换 | 转换缓存中没有的图片 | $0.05/1,000次 |
| Blob 存储 | 存放在 Vercel Blob 中文件的月平均容量 | $0.023/GB |
来源:iad1 pricing、Fluid compute pricing、Fair Use Guidelines。单价因区域而异。函数默认只在 iad1 一个区域运行,那里的 Active CPU 是 $0.128/小时,香港(hkg1)是 $0.176,圣保罗(gru1)是 $0.221。
函数的计费方式(Fluid compute)一句话概括就是:“CPU 只在计算时计费,内存在有请求处理时一直计费”。等待数据库或 AI API 响应时,CPU 计费暂停,但内存计费会持续到最后一个请求结束。所有请求结束后实例暂停,到下一个请求之前不产生任何费用。一个实例可以同时处理多个请求。
计算示例:在 Pro(iad1)上每月调用 AI 聊天 API 10万次
条件:内存 2GB(默认)、每次等待响应20秒、计算0.1秒。按“每次调用独占一个实例”的保守算法。
- Provisioned Memory:2GB × 20秒 × 10万次 = 约1,111 GB 小时 → 约 $11.78
- Active CPU:0.1秒 × 10万次 = 约2.78小时 → 约 $0.36
- 调用:10万次 → $0.06
合计约 $12.2,如果其他用量不多,就在 $20 额度之内。九成以上的费用是内存,等待时间翻倍,费用也几乎翻倍。AI API 本身的费用(付给 OpenAI 或 Anthropic 的部分)与 Vercel 分开计算。
5. 账单变大的5种典型情况
Pro 的账单超出预期,大多是下面某一种情况。它们都源于 Pro“不停、继续运行”的特性。
什么会增加、怎么预防
预防:把
maxDuration 限制在必要的长度,按用途降低内存(Pro 可以设置默认内存)。超过几分钟的处理交给没有时长上限的 Vercel Workflows。预防:给外部调用自己加超时,不要让
maxDuration 停留在最大值。预防:减少输出的宽度种类。不需要优化的图片(图标、SVG)可以按图片或按项目关闭优化。
预防:在 Usage 页面按项目、按区域查看,用 WAF 自定义规则(Hobby 最多3条、Pro 最多40条)过滤。
预防:缩短旧部署的保留期限(Hobby 和 Pro 默认都是30天),删除不用的 Blob 文件。AI Gateway 的用量在密钥侧另行管理。
来源:Fluid compute pricing、Configuring max duration、Image Optimization、DDoS Mitigation、Spend Management、Deployment Retention
第2条的“约 $94”是 4GB × 800秒 = 约0.89 GB 小时,乘以1万次,再乘以 $0.0106 得出的。让 AI 写函数时,它有时会为了保险把 maxDuration 设得比较大。部署前,自己读一下 AI 设置的 maxDuration 和内存的值。AI 每个小改动都推送、导致构建次数增加的问题,在 从 Claude Code 和 Cursor 部署到 Vercel 的陷阱一节中讨论。
6. 用 Spend Management 设定上限的步骤
升级到 Pro 后,第一件事就是设置 Spend Management。Hobby 没有这个功能,Pro 上不另收费。只有团队中拥有 Owner 或 Billing 角色的人才能设置。
- 在团队控制台的侧边栏打开 Settings,选择 Billing
- 打开 Spend Management 开关
- 在 On-Demand Budget 中填入金额(美元)(只计算超出 $20 额度的按量部分)
- 选择达到金额时的动作:通知(网页和邮件在50%、75%、100%时,短信在100%时)、Webhook、暂停生产部署
- 想真正停下,就把 Pause Production Deployments 设为 Enabled,在确认栏输入团队名后点 Continue(更改会自动保存,这个开关可能一开始就是打开的)
同样的设置也可以用 Vercel CLI 完成。vercel billing budgets inspect 用来对比当前计费周期的按量费用和设定金额,vercel billing budgets set --amount 50 --pause(vercel billing budgets) 则设为“按量费用达到 $50 时暂停所有项目的生产环境”。各项目的用量可以用 vercel billing usage --since 30d --group-by project 查看(Manage and optimize usage)。
关于停止方式要知道的4点
- 只设定金额并不会停。原文明确写着“不会停止使用”,只有打开暂停才会停。不过这个开关可能一开始就是打开的,只想用通知和 Webhook 的话,要确认它是关着的(CLI 用
--no-pause)。 - 每隔几分钟检查一次。超过金额后要过几分钟才会停,这期间仍在计费。原文建议把金额设得比真正的上限低一些。
- 停下后,团队所有项目的生产环境都会向访客返回 503(
DEPLOYMENT_PAUSED)。预览环境不受影响。 - 提高金额也不会自动恢复。需要在控制台或通过 REST API 逐个项目手动恢复。
新升级到 Pro 的团队,默认设有每个计费周期 $200 的通知。这只是通知,不会停止。对于“宁可账单变多也不能停站”的商业网站,也可以关掉暂停开关,只用通知和 Webhook。选哪种,取决于比较网站停掉的损失和账单增加的损失(来源:Spend Management)。
7. 不合适时的4个替代方案
如果6个问题或第3至5节的计算表明 Vercel 不合适,下面按不合适的条件列出去处。各家免费额度和价格的并列比较放在 PaaS(Vercel 等)是什么。
| 不合适的条件 | 去处 | 先确认的一点(官方) | Next.js 的支持 |
|---|---|---|---|
| 图片和静态文件多,担心传输量或请求数 | Cloudflare(Workers) | 对静态资源的请求免费且不限量,函数的免费额度是每天10万次请求、每次 CPU 10毫秒(Workers Pricing) | Cloudflare 自有的集成(已验证适配器开发中) |
| 想用到上限就停的免费额度放静态网站 | Netlify | 2025年9月4日以后的新账户为积分制,Free 每月300积分,传输1GB=20、生产部署1次=15(Credit-based plans) | Netlify 自有的集成(已验证适配器开发中) |
| 需要一直运行的服务器或数据库 | Render | 免费 Web 服务15分钟无访问就休眠、恢复约需1分钟,免费 Postgres 创建30天后到期(Free instances) | 作为 Node.js 服务器运行(全部功能) |
| 想要定额而非按量、一切自己决定 | 自建 VPS + Docker | 月费为 VPS 商家的定额,系统更新、监控、备份都要自己做 | 用 Docker 支持全部功能 |
Next.js 一列依据 Next.js 官方“Deploying”的分类:Node.js 服务器和 Docker 支持全部功能,静态导出只支持部分功能,各家的集成“视情况而定”。也就是说,不用 Vercel 也不必放弃 Next.js。代价是要自己维护服务器,或者确认各家集成的差异。
总结
“AI 让我用 Vercel 怎么办?”——截至2026年11月的答案:“非商业的 Next.js 网站可以从 Hobby 开始。涉及钱就用 Pro 或其他平台。升级到 Pro 后先设定 Spend Management 的金额和暂停。”AI 推荐 Vercel 的理由(Next.js 的开发方、步骤少、免费起步)有依据,但那是“步骤最少就能跑起来”的选择,并没有考虑能否商用和费用上限。
费用可以用三项来估算:CDN 请求次数、函数等待时间 × 内存、图片转换次数。大致来说,Hobby 的额度够图片较多的博客约3.3万次浏览,或等待20秒的 AI 调用约3.2万次。按这个算法,Pro 的 $20 额度即使每月调用10万次同样的 AI 也够用,但等待越久,费用几乎成比例增加。条件不合适就选 Cloudflare、Netlify、Render 或自建 VPS。Next.js 在 Node.js 服务器或 Docker 上也能使用全部功能。
相关文章:AI 让你用 Next.js 时(是否使用 Next.js)、PaaS(Vercel 等)是什么(托管类型与各家免费额度)、从 Claude Code 和 Cursor 部署到 Vercel(实际步骤)、Vercel AI SDK 完全指南(做 AI 聊天时的写法)、基础设施可以交给 AI 吗?。
常见问题
Q. 个人博客可以放在 Vercel Hobby(免费)上运营吗?
A. 没有变现就可以。有 Google AdSense 等广告、销售或宣传商品与服务、接受付款,就属于商业用途,需要 Pro。联盟营销如果是“网站的主要目的”就算商业用途。Fair Use Guidelines 明确写着只募集捐款不算商业用途。
Q. 超出免费额度,会突然收到高额账单吗?
A. Hobby 不会。大多数功能要等满30天才能再用(Web Analytics 7天后可以恢复,图片转换只有新图片会失败)。Pro 有可能。额度用完后转为按量计费,除非在 Spend Management 中打开“暂停生产部署”,否则不会停。
Q. 在 Vercel 上公开 AI 聊天要花多少钱?
A. Vercel 的部分主要取决于“等待响应的时间 × 内存”。内存 2GB、等待20秒,在 Pro(iad1)上每月10万次约 $12(第4节的计算)。Hobby 额度的估算约为3.2万次。AI API 的费用另计。
Q. 以后想从 Vercel 迁走,麻烦吗?
A. 只用 Next.js 标准功能的话容易迁移。Next.js 官方表示 Node.js 服务器和 Docker 支持全部功能。麻烦的是依赖 Global Config、Vercel Blob 等 Vercel 专有服务的部分。
Q. 把 Vercel 的设置交给 AI 智能体(Claude Code、Cursor)可以吗?
A. 首次部署和基本设置可以交给它。但套餐的选择(是否商用)、Spend Management 的金额与暂停、函数的 maxDuration 与内存、放进环境变量的密钥要由人确认。AI 擅长“让它跑起来”,但“在哪里停”只取决于你的预算和用途。哪些可以交给 AI,见 基础设施可以交给 AI 吗?。