返回博客

一个下午,白嫖一个能用的 AI 应用

作者 约 5 分钟读完

用 Vercel + Neon + Auth.js + Resend + NVIDIA NIM 七件套,零成本搭一个挂公网、朋友能用的 AI 小应用——这是我那个下午翻出来的购物清单


先拆掉一个误解

很多朋友跟我说过类似的话:

"我脑子里有个 AI 小想法,挺想做,但算了一下——服务器、域名、AI API、数据库——随便搭起来一个月就得烧几百块,还没开始就怂了。"

之前我也这么以为。直到昨天我花一个下午做了个叫 TinyPA 的小工具:一个能接住碎碎念、每晚自动复盘、次日早上主动给你发早报的私人助理。挂在公网、有独立域名、朋友能注册使用、后面接着一个 700 亿参数的开源大模型。

一分钱没花。

这篇不是软文,也不是步骤教程。更像是我那个下午翻出来用的一份 "零成本 AI 应用购物清单" ——每件用了什么、为什么选它、免费额度在哪里、什么时候会被迫付钱。看完你应该能直接拿这份单子去搭你自己的小东西。

做 AI 应用 MVP,至少要回答哪几件事

在开始挑服务之前,先把问题列出来。一个能跑起来、能让别人用的 AI 应用,最少要解决七件事:

  1. 前端和后端代码挂在哪儿?(托管)
  2. 用户的数据放哪儿?(数据库)
  3. 用户怎么登录?(身份)
  4. 大模型从哪里调?(LLM)
  5. 怎么给用户发邮件?(邮件)
  6. 定时任务怎么跑?(cron)
  7. 域名?(可选)

把这七件事各自找到一个免费答案,拼起来就是你的 MVP。下面是我的答案。

我的七件套

1. 托管:Vercel Hobby

这是整个栈的底座。免费额度包括带宽、构建时间、serverless 函数调用——个人项目随便造都用不完。关键是它跟 Next.js 是同一家公司出的,push 到 GitHub 自动部署、HTTPS、preview 环境、自定义域名全都是零配置。

真实限制:商用项目理论上要升 Pro;cron 每天只能跑一次(下面会专门讲这个坑);serverless 函数有冷启动。做个人项目或 side project,全都无所谓。

2. 数据库:Neon Postgres

免费 0.5GB 存储 + 无限分支。Neon 是"serverless Postgres",不用时会自动休眠,跟 Vercel 的 serverless 函数是天作之合。

为什么不是 Supabase:Supabase 是一整套(DB + Auth + Storage + Edge Functions),小项目用不上那么多东西。单纯要个 Postgres,Neon 更轻。

什么时候要付钱:500MB 装满。一个个人项目存文本的话,大概要积累几万条消息才到这个数。

完全开源,跑在你自己的服务器(也就是 Vercel)上,没有第三方抽成。

为什么不用 Clerk / Auth0:它们免费额度也不低(几千 MAU),但引入一个外部 SaaS 就多一层依赖,magic link 这么简单的需求没必要。

为什么选 magic link 不用密码:用户不用记密码,注册登录一条链路,心智门槛最低。邮件服务反正本来就要接(早报要发邮件)。

4. 邮件:Resend

每月 3000 封免费,每天 100 封封顶。API 干净到不像一个邮件服务,SDK 跟 Vercel 也是一家出品。

domain 验证比老牌 SendGrid/Mailgun 快得多——加几条 DNS 记录、几分钟就通了。

5. 大模型:NVIDIA NIM 上的 Llama 3.3 70B

这是整个栈里最反直觉的一块,也是决定了"免费"能不能兑现的关键。

做 AI 应用的人第一反应都是 OpenAI / Claude,但 MVP 阶段——你根本不知道产品能不能做成——去烧付费 API 是一种浪费。

NVIDIA 搞了一个叫 NIM 的服务,把各种开源大模型(Llama、Qwen、Mistral 等)托管起来对外开放。个人注册后有免费调用额度,对 side project 足够。关键是——它们对外暴露的接口完全兼容 OpenAI 协议,换一个 baseURL 就能直接接入。

const client = new OpenAI({
  apiKey: process.env.NVIDIA_API_KEY!,
  baseURL: "https://integrate.api.nvidia.com/v1",
});

就这一行的区别。其他代码跟调 GPT 一模一样。

为什么最后落在 Llama 3.3 70B:我一开始用的是一个更小、更快的模型跑抽取和复盘。抽取没问题,但复盘(要从一整天的消息里提炼总结)质量明显不够——输出太碎、缺乏连贯性。切到 Llama 3.3 70B 之后立刻稳定。对于"一天跑两次、每次几千 token"这种调用量来说,多花的那点延迟和额度完全值得。

启示:免费模型之间差距很大,先把场景跑通,再按质量反过来选模型,别一开始就纠结哪个最强。

一个小坑:NIM 有些私有扩展字段,比如 chat_template_kwargs.enable_thinking——可以让模型先思考再输出,牺牲速度换质量。不是所有模型都支持,要对着 NIM 的文档配,别拿 OpenAI 文档硬套。

6. 定时任务:Vercel Cron

TinyPA 每晚要生成复盘、每早要发早报——两个定时任务。Vercel Cron 直接在 vercel.json 里配 cron 表达式就行,零部署负担。

踩过的最大坑:

我本来设计的是每小时跑一次,任务里按每个用户的时区判断"现在是不是他的 22:00",一个 cron 覆盖全世界。

部署时 Vercel 直接把我打回来了:

Hobby accounts are limited to daily cron jobs.

Hobby 档的 cron 每天只能跑一次。多时区精细投递是 Pro 的特权。

我的妥协:所有用户走同一个时间窗,UTC 14:07 生成复盘(北京 22:07),UTC 00:03 发早报(北京 08:03)。海外朋友体验会偏一点,但能跑。

独立项目要学会这种"MVP 先能跑,细节以后说"的取舍。不然你永远在优化一个还没有用户的东西。

7. 域名(可选)

不买直接用 tiny-pa.vercel.app 就行,零成本。想好看一点的话 Namecheap 之类 ¥55/年。

账本

跑一个月的账:

服务月成本
Vercel Hobby¥0
Neon 0.5GB¥0
Resend 3000 封¥0
NVIDIA NIM 免费额度¥0
自定义域名(可选)¥5 左右

一杯奶茶钱都不到。朋友注册进来用,账单还是这个数。

你什么时候会被迫开始付钱?

这是这类文章最常回避的问题——但其实答案很清楚:

  • Vercel Hobby → Pro($20/月):想要多时区精细 cron、团队协作、或者项目开始商用
  • Neon 免费档 → 付费:数据库积累到 500MB 以上。文本应用大概是几万条记录
  • Resend 免费档 → 付费:月活超过 3000 用户且人均收一封邮件
  • NVIDIA NIM 免费额度 → 付费:日调用量上万级别

这几条任意一条触顶,意味着你的项目真的有人在用——那个时候付钱,你会心甘情愿。

在那之前,零成本。

下一步

这份购物清单我写得很具体,是希望它能直接被复用。如果你正在犹豫要不要做自己的 AI side project,挑一个周末:

  1. 注册上面七个服务
  2. 找一个 Next.js + Auth.js 的开源模板
  3. 把 NVIDIA NIM 的一个免费模型接上
  4. 先做一个最小闭环,哪怕只是"输入一句话 → AI 回一句话"

觉得有用的话,留个赞再走~