SuperAPI AI 工具集

deploy-to-vercel

部署与运维

查看项目

更新于 10-13 20:10

技能介绍

用途

deploy-to-vercel 用于将任意项目部署到 Vercel,并可处理部署流程的前置检查、方式选择与结果反馈。它默认以预览(preview)方式部署,只有在用户明确要求生产环境时才执行生产部署。其目标不是完成一次孤立部署,而是让用户进入最佳长期配置:项目与 Vercel 关联,并通过 git push 触发部署。

主要能力

该技能首先收集项目状态,运行四项检查:一、是否存在 git 远程仓库(git remote get-url origin);二、是否已在本地关联 Vercel 项目(检查 .vercel/project.json 或 .vercel/repo.json);三、Vercel CLI 是否已安装并认证(vercel whoami);四、列出可用团队(vercel teams list --format json)。

关于 .vercel/ 目录,已关联项目会包含其中一种文件:.vercel/project.json 由 vercel link 创建,包含 projectId 和 orgId;.vercel/repo.json 由 vercel link --repo 创建,包含 orgId、remoteName 以及将目录映射到 Vercel 项目 ID 的 projects 数组。任一文件存在即表示已关联,需同时检查两者。

团队选择方面,若用户属于多个团队,会将所有可用团队 slug 以列表形式呈现并询问部署到哪个团队;用户选定后立即进入下一步,不再额外确认。团队 slug 通过后续 CLI 命令的 --scope 参数传入。若项目已关联,则 .vercel/ 文件中的 orgId 决定团队,无需再次询问;若只有一个团队或仅个人账号,则跳过询问直接使用。

使用方式(部署方式选择)

  1. 已关联 + 有 git 远程 → Git Push:这是理想状态。推送前必须先询问用户,未经明确同意不得推送。获得同意后执行 git add、git commit、git push,Vercel 会自动构建,非生产分支得到预览部署,生产分支得到生产部署。随后可用 vercel ls --format json 取最新部署的 url 字段作为预览 URL;若 CLI 未认证,则提示用户查看 Vercel 仪表盘或 git 提供商的提交状态检查。

  2. 已关联 + 无 git 远程 → vercel deploy:直接使用 CLI 部署,命令为 vercel deploy [path] -y --no-wait,使用 --no-wait 让 CLI 立即返回部署 URL,再用 vercel inspect <deployment-url> 检查状态。仅当用户明确要求时使用 vercel deploy [path] --prod -y --no-wait 进行生产部署。

  3. 未关联 + CLI 已认证 → 先关联再部署:先确认目标团队,然后按是否有 git 远程选择 vercel link --repo --scope <team-slug> 或 vercel link --scope <team-slug>,再采用 git push 或 vercel deploy -y --no-wait --scope <team-slug> 部署。

  4. 未关联 + CLI 未认证 → 安装、认证、关联、部署:执行 npm install -g vercel 安装 CLI,vercel login 在浏览器完成认证,然后按上述方式关联与部署。若处于非交互环境无法登录,则跳到无认证回退。

  5. 无认证回退 — claude.ai 沙箱:当 CLI 无法在 claude.ai 沙箱中安装或认证时作为最后手段。运行 bash /mnt/skills/user/deploy-to-vercel/resources/deploy.sh [path],该方式无需认证,返回 Preview URL(可访问站点)与 Claim URL(转移到 Vercel 账号)。脚本会自动从 package.json 检测框架、打包项目(排除 node_modules、.git、.env)、上传并等待构建完成。

  6. 无认证回退 — Codex 沙箱:先用 command -v vercel 检查 CLI 是否安装,已安装则尝试 vercel deploy [path] -y --no-wait;若未安装或认证失败(No existing credentials found),使用 skill_dir 下的 resources/deploy-codex.sh 脚本,脚本返回包含 previewUrl 与 claimUrl 的 JSON。仅在实际部署命令被沙箱网络阻断时才升级权限(sandbox_permissions=require_escalated),不要升级 command -v vercel 检查。

适用场景

适用于用户请求部署应用或网站到 Vercel 的各种场景,包括已有 git 集成的项目、仅有本地项目、CLI 已认证或未认证、以及在 claude.ai 或 Codex 等沙箱环境中需要无认证部署的情况。也覆盖 Claude Code 或终端型智能体(有完整 shell 访问,直接走 CLI 决策流程,不使用 /mnt/skills/ 路径)等不同运行环境。

输出与限制

输出方面,始终向用户展示部署 URL:git push 方式用 vercel ls --format json 找预览 URL;CLI 部署展示 vercel deploy --no-wait 返回的 URL 并用 vercel inspect 检查构建状态;无认证回退同时展示 Preview URL 与 Claim URL。不要用 curl 或 fetch 访问已部署 URL 来验证其可用性,直接返回链接即可。

该技能包含故障排查指引:claude.ai 网络出站错误时,需在 https://claude.ai/settings/capabilities 将 *.vercel.com 加入允许域名后重试;沙箱环境网络问题(超时、DNS 错误、连接重置)可用升级权限重跑实际部署命令;CLI 认证失败时回退到无认证部署脚本。此外,在未关联目录中不要使用 vercel project inspect、vercel ls 或 vercel link 检测状态,因为缺少 .vercel/ 配置时它们会交互式提示或静默关联,只有 vercel whoami 可安全任意运行。除上述内容外,该技能的费用、价格等信息暂未提供。