# 一个下午，白嫖一个能用的 AI 应用

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

- 原文链接: https://laojin.blog/blog/20260425_free_ai_app_in_one_afternoon
- 作者: 老金
- 发布日期: 2026-04-25
- 标签: Vercel, Neon, Auth.js, 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 装满。一个个人项目存文本的话，大概要积累几万条消息才到这个数。

### 3. 身份：Auth.js v5 + 邮箱 magic link

完全开源，跑在你自己的服务器（也就是 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 就能直接接入。

```ts
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 回一句话"

觉得有用的话，留个赞再走～
