mcpField
C
create-a-backend

create-a-backend

github.com/vercel开发318657 次安装2 天前更新
代码仓库

关于 create-a-backend

该技能指导 Agent 按工作负载为后端选择 Vercel 架构和产品,再决定框架与实现步骤。内容涵盖同步请求、后台任务、持久数据及组件部署边界。

主要功能

  1. 01按工作负载选择后端产品
  2. 02区分 Functions、Services 与独立项目
  3. 03选择容器、队列、工作流或守护进程
  4. 04比较数据存储与框架选项
  5. 05规划实现前的架构决策步骤

适用场景

  1. 01为新后端确定 Vercel 产品组合
  2. 02规划队列消费者或持久多步任务
  3. 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 后端部署在同一个项目中。

优先使用用户现有的框架。对于新项目,请根据生态系统和应用需求进行选择。

工作流程

  1. 确定同步请求、异步工作、持久化数据以及独立部署的组件。
  2. 从映射中选择产品,然后选择框架。
  3. 加载针对实现的技能:vercel-functions、vercel-services、daemons、queues、workflow、vercel-storage 或 marketplace。
  4. 部署前,在官方文档中确认函数限制、区域、环境变量、可观测性和当前产品可用性。

评论

支持 Markdown