mcpField
V
vercel

vercel

github.com/remotion-dev云与 DevOps68.6k501 次安装今天更新
代码仓库

关于 vercel

用于监控 `remotion` 项目某个特定 Vercel 部署的仓库技能。它读取机器可读的部署状态,并使用不可变部署标识,而非可变的预览别名。

主要功能

  1. 01使用部署 ID 或不可变主机名固定监控对象
  2. 02从指定项目来源解析部署
  3. 03读取机器可读的部署状态
  4. 04区分进行中、成功和失败状态
  5. 05创建有次数上限的每分钟心跳

适用场景

  1. 01监控与 PR 或提交关联的部署
  2. 02检查构建是否就绪或失败
  3. 03避免将旧预览别名误认为新部署

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/remotion-dev/remotion --skill vercel

安装后在 Claude Code 中输入/vercel确认已加载。

附带文件agents/openai.yamlscripts/check-deployment.py

详细介绍

Vercel 监控

监控 remotion 项目中的一个不可变 Vercel 部署,并在该部署就绪或失败时通知当前任务。

不可妥协的规则

  • 绝不根据 HTTP 响应推断部署状态。分支预览别名可能在新部署仍在构建时,对先前的部署返回 200。
  • 绝不监控分支预览别名。它会变化,可能解析到较早或较新的部署。
  • 将监控固定到 Vercel 部署 ID(dpl_...)或不可变的自动部署主机名(<project>-<random>-<scope>.vercel.app)。
  • 读取机器可读的 Vercel 部署状态。不要解析面向用户的 CLI 输出。
  • 默认使用 remotion 项目和 remotion Vercel 作用域。除非用户明确要求,否则忽略 bugs 项目。

确定确切的部署

按以下顺序优先使用这些来源:

  1. 用户提供的 Vercel 部署/控制面板 URL。
  2. 活跃 GitHub PR 上的 Vercel – remotion 检查项。其控制面板 URL 格式为 https://vercel.com/remotion/remotion/<deployment-id-suffix>。
  3. Vercel 机器人 PR 评论中的 remotion 行。
  4. vercel list remotion --scope remotion --format=json,根据 .deployments[].meta 匹配确切的 PR、提交 SHA 或分支。

控制面板 URL 的最后一段路径前加上 dpl_,即为部署 ID。例如:

https://vercel.com/remotion/remotion/AbCd1234 -> dpl_AbCd1234

Vercel PR 评论中的 Preview 链接通常是分支别名。最终通知时保留该链接,但不要用它检查状态。

使用 vercel list 时,选择与所有可用身份字段匹配的最新部署:

  • .name == "remotion"
  • 已知 PR 时,.meta.githubPrId == <PR number>
  • 已知提交时,.meta.githubCommitSha == <full commit SHA>

不要静默回退到其他提交。如果无法确定确切的部署,请询问 Vercel 控制面板 URL、PR 编号或提交 SHA。

读取状态

从仓库根目录运行捆绑的检查器:

python3 .agents/skills/vercel/scripts/check-deployment.py <deployment-id-or-url>

检查器会调用:

vercel inspect <deployment-id-or-immutable-url> \
  --scope remotion \
  --format=json

它会验证项目、拒绝可变别名,并输出规范化的 JSON。 使用其 state 字段:

  • READY:成功。
  • ERROR、CANCELED 或 CANCELLED:失败。
  • BUILDING、QUEUED 或 INITIALIZING:仍在进行中。
  • UNKNOWN:尚未进入终态。仅当诊断信息持续存在,或妨碍创建可信的监控时,才报告该信息。

达到 READY 后,可以选择进行 HTTP 探测,以检查可访问性。绝不能据此将未就绪或未知的部署提升为 READY。

创建监控

使用 Codex 自动化工具创建每分钟一次、次数受限的心跳任务,通常为 30 次。心跳提示词必须独立完整,并包含:

  • 固定的部署 ID 或不可变的部署主机名。
  • 控制面板 URL。
  • 如果已知,分支预览别名(仅用于最终通知)。
  • 如果已知,项目、PR、分支和提交上下文。
  • 确切的检查器命令。
  • 上述终态规则。

使用以下提示词格式:

Monitor this exact Vercel deployment until it reaches a terminal state.

Pinned deployment: <dpl_id_or_immutable_hostname>
Dashboard: <dashboard_url>
Preview alias (reporting only; never use for state): <preview_url_or_unknown>
Context: <project/pr/branch/commit>

From the repository root, run:
python3 .agents/skills/vercel/scripts/check-deployment.py <pinned_deployment>

Only the JSON `state` is authoritative.
- READY: reply "Vercel deployment is ready" and include Dashboard and Preview.
- ERROR, CANCELED, or CANCELLED: reply with the failure state and include both links.
- BUILDING, QUEUED, INITIALIZING, or UNKNOWN: stay quiet and check again next time.

Never curl the preview URL to determine readiness. After reporting a terminal
state, delete or pause this heartbeat if its automation ID is available.

创建心跳任务前,先运行一次检查器。如果部署已经进入终态,则直接报告。否则,告知用户正在监控的确切部署和检查频率。

评论

支持 Markdown