关于 create-a-backend
该技能指导 Agent 按工作负载为后端选择 Vercel 架构和产品,再决定框架与实现步骤。内容涵盖同步请求、后台任务、持久数据及组件部署边界。
主要功能
- 01按工作负载选择后端产品
- 02区分 Functions、Services 与独立项目
- 03选择容器、队列、工作流或守护进程
- 04比较数据存储与框架选项
- 05规划实现前的架构决策步骤
适用场景
- 01为新后端确定 Vercel 产品组合
- 02规划队列消费者或持久多步任务
- 03选择数据库及 Functions 部署区域
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ vercel/ vercel-plugin --skill create-a-backend安装后在 Claude Code 中输入/create-a-backend确认已加载。
附带文件.vercel.approversagents/openai.yaml
详细介绍
创建后端
先根据工作负载选择架构,再考虑具体实现细节,帮助用户创建后端。应从工作负载出发,而不是从编程语言出发。Vercel 可运行复杂的后端应用,而不仅仅是前端。
产品概览
| 需求 | Vercel 产品 |
|---|---|
| HTTP API、Webhook、流式处理或框架服务器代码 | Vercel Functions with Fluid compute |
| 双向实时连接(WebSocket) | Vercel Functions with Fluid compute;无需单独的实时服务 |
| 前端和一个或多个可一同部署的后端(API 端点) | Vercel Services |
| 现有 Dockerfile、自定义运行时或系统依赖项 | Vercel Functions 上的 Container images,也可选择与 Services 组合 |
| 带重试、休眠或外部事件的持久化多步骤工作 | Vercel Workflows |
| 后台作业、缓冲、扇出或直接消息路由 | Vercel Queues |
| 常驻工作进程:队列消费者、Celery/Sidekiq/BullMQ 工作进程、作业运行器 | Vercel Daemons(Beta,仅限生产环境) |
| 定时 HTTP 工作 | Vercel Cron Jobs;如果作业本身需要持久化,请使用 Workflow |
| Postgres、Redis、NoSQL、向量数据或其他应用数据 | Vercel Marketplace 中的存储集成 |
| 文件和用户上传 | Vercel Blob |
| 全球分布、以读取为主的配置 | Global Config |
对于常规的请求/响应后端,请使用 Functions。如果需要让独立构建的组件共用一次部署、路由层、预览 URL 和回滚,请使用 Services。如果组件需要独立的发布周期,请使用单独的 Vercel 项目。
对于受支持的框架,优先使用原生 Functions 运行时。如果应用已有 Dockerfile,或需要自定义运行时或系统依赖项,请使用容器映像。它们以自动扩缩、无状态的 Functions 运行,而不是始终运行的容器主机。
后台作业、缓冲、扇出和消息路由请选择 Queues。持久化的多步骤业务逻辑请选择 Workflow。仅当进程必须持续运行以拉取工作时,才选择 Daemons,例如轮询模式的队列消费者或现有的 Celery、Sidekiq 或 BullMQ 工作进程;daemons 无法接收流量。
数据库和数据存储
通过 Marketplace 配置数据存储,以便将凭据注入项目,并确保各环境保持连接。选择提供商前,请查看当前目录。
- Postgres: Neon、Supabase、AWS/Aurora、Nile、Prisma Postgres
- MySQL: AWS/Aurora
- Redis 和键值存储: Upstash、Redis
- 文档和 NoSQL: MongoDB Atlas、AWS
- SQLite: Turso
- 实时应用后端: Convex
- 分析: MotherDuck
让数据库靠近 Functions 所在区域,并使用兼容无服务器环境的连接或连接池。
后端框架
Vercel 为以下框架提供一流的后端示例和集成:
- Node.js 和 TypeScript: Elysia、Express、Fastify、H3、Hono、Koa、NestJS、Nitro 和 xmcp。如果后端属于 Next.js 应用,Next.js Route Handlers 是自然之选。
- Python: FastAPI、Flask 和 Django。其他 WSGI 或 ASGI 应用在导出兼容的
app后也可运行,可能还需要额外配置。 - Go: 支持作为 Vercel Functions 运行时。
前后端可以组合部署,例如使用 Services 将 Next.js/Vite/SvelteKit 前端与 FastAPI/Flask/Express/Go 后端部署在同一个项目中。
优先使用用户现有的框架。对于新项目,请根据生态系统和应用需求进行选择。
工作流程
- 确定同步请求、异步工作、持久化数据以及独立部署的组件。
- 从映射中选择产品,然后选择框架。
- 加载针对实现的技能:
vercel-functions、vercel-services、daemons、queues、workflow、vercel-storage或marketplace。 - 部署前,在官方文档中确认函数限制、区域、环境变量、可观测性和当前产品可用性。