SuperAPI AI 工具集

vercel-sync

部署与运维

查看项目

更新于 10-16 08:11

技能介绍

用途:在 Bun 开发环境与 Vercel 生产基础设施之间建立同步流程,目标包括让 Vercel 使用 Bun 运行时运行无服务器与边缘函数、通过 OIDC 实现零长期密钥部署、利用 Turbopack 与 Bun 包管理器缩短构建时间、以及按延迟预算在 Edge 与 Node.js 运行时之间做选择。

主要能力:

  • 配置 vercel.json,指定 bunVersion、framework、buildCommand、installCommand、图片格式与 cron 计划。
  • 锁定包管理器:要求使用 bun.lock,出现 package-lock.json 或 yarn.lock 视为严重错误需立即修复。
  • 安全部署:以 OIDC 替代在 GitHub Actions secrets 中存储 VERCEL_TOKEN,使用 GitHub workflow 权限 id-token: write 与 actions/checkout@v5、oven-sh/setup-bun@v2,部署命令为 bun x vercel deploy --prebuilt --token=${{ steps.auth.outputs.token }}。
  • 边缘编排判断:Auth 中间件建议 Edge(冷启动低于 10ms、全球就近),AI 流式输出建议 Bun(Serverless,重 CPU 与长连接),PDF 生成建议 Node.js(依赖较重原生二进制),静态预渲染建议 Bun。
  • 排障与取证审计:比对本地与 Vercel 的 bun --version、检查 vc-build 日志中的 External Module 错误、用 bun x vercel env pull .env.local 同步环境变量。

使用方式(SOP):运行 bun x vercel link 连接项目;审计 vercel.json;按 OIDC 模板配置 GitHub Action;部署预览分支并运行 bun x lighthouse 对预览 URL 检查;定期运行 bun update 并同步 vercel.json 中的 bunVersion。

限制与反模式:不在客户端使用未加 NEXT_PUBLIC_ 前缀的 process.env(即使加了也需审计泄漏);不使用 --frozen-lockfile 之外的部署方式;不忽略 Turbopack 警告,其通常指向水合或分包回归;不在 Vercel 项目中使用 Bun.serve(),它与 Serverless Function 包装不兼容,应使用标准 Next.js Route Handlers。

性能 KPI 与版本:冷启动目标 Node.js <200ms、Edge <50ms,构建时间 <120s,持续交付零手动步骤;v1.0.0 支持基础 bunVersion 与锁文件检查,v1.1.0 加入完整 OIDC、Bun 2.x 支持与边缘优先编排。其他未在资料中给出的信息暂未提供。