mcpField
C
check-compatibility

check-compatibility

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

关于 check-compatibility

检查项目是否兼容 Runway 公共 API 的 Skill。它会评估服务端能力、运行时、SDK 和环境变量支持,并强调不得将 API 密钥放入客户端代码。

主要功能

  1. 01识别项目技术栈
  2. 02检查服务端调用能力
  3. 03检测 Runway SDK
  4. 04核对运行时版本
  5. 05检查环境配置支持

适用场景

  1. 01评估应用能否调用 Runway API
  2. 02发现纯前端项目的安全障碍
  3. 03检查 SDK 和运行时准备情况
  4. 04为配置 API 密钥做准备

安装

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

$npx skills add https://github.com/runwayml/skills --skill check-compatibility

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

详细介绍

检查兼容性

分析用户的项目,确定它是否与 Runway 的公共 API 兼容。

这为何重要

Runway 的公共 API 要求在服务端调用。绝不能在客户端代码中暴露 API 密钥。纯前端项目(静态 HTML/JS、没有后端的纯客户端 SPA)无法安全地调用该 API。

分析步骤

步骤 1:识别项目类型

在项目根目录中查找以下文件,以确定技术栈:

文件表示
package.jsonNode.js 项目
requirements.txt、pyproject.toml、Pipfile、setup.pyPython 项目
go.modGo 项目
Cargo.tomlRust 项目
pom.xml、build.gradleJava/Kotlin 项目
GemfileRuby 项目
composer.jsonPHP 项目

如果这些文件都不存在,则将项目标记为未知,并询问用户使用的语言/运行时。

步骤 2:检查服务端能力

查找服务端/后端的标志:

Node.js 项目 — 检查 package.json 中的依赖项:

  • express、fastify、koa、hapi、nest、hono → HTTP 服务框架
  • next → Next.js(具有 API 路由 — 兼容)
  • nuxt → Nuxt.js(具有服务端路由 — 兼容)
  • remix → Remix(具有加载器/操作 — 兼容)
  • @sveltejs/kit → SvelteKit(具有服务端路由 — 兼容)
  • astro → Astro(启用 SSR 时具有 API 端点)

Python 项目 — 检查以下内容:

  • flask、django、fastapi、starlette、tornado、aiohttp、sanic → Web 服务框架
  • streamlit、gradio → 可以进行服务端调用

风险信号(仅前端):

  • package.json 中只有 react、vue、svelte、angular,且没有服务端框架
  • vite.config.ts 或 webpack.config.js 中没有服务端/SSR 配置
  • 没有服务端路由的静态站点生成器(例如,纯 Gatsby、纯 Eleventy)
  • index.html 是唯一入口点,且包含内联 <script> 标签
步骤 3:检查是否已安装 Runway SDK

搜索现有的 Runway SDK 安装:

Node.js:

  • 检查 package.json 中是否包含 @runwayml/sdk
  • 在源文件中搜索 import RunwayML 或 require('@runwayml/sdk')

Python:

  • 检查 requirements.txt / pyproject.toml 中是否包含 runwayml
  • 在源文件中搜索 from runwayml import RunwayML 或 import runwayml
步骤 4:检查运行时版本

Node.js: 版本必须为 18 或更高(node --version) Python: 版本必须为 3.8 或更高(python3 --version)

步骤 5:检查是否支持环境变量

查找 .env 文件、.env.example、.env.local 或 dotenv 配置:

  • Node.js:依赖项中包含 dotenv,或使用框架原生环境变量支持(Next.js 等)
  • Python:依赖项中包含 python-dotenv,或使用框架原生支持

报告格式

分析后,提供清晰的报告:

## Runway API Compatibility Report

**Project type:** [Node.js / Python / etc.]
**Server-side capable:** [Yes / No / Partial]
**Runtime version:** [version] — [Compatible / Needs upgrade]
**Runway SDK installed:** [Yes / No]
**Environment variable support:** [Yes / No / Needs setup]

### Verdict: [COMPATIBLE / NEEDS CHANGES / INCOMPATIBLE]

[If COMPATIBLE]
Your project is ready for Runway API integration. Proceed with API key setup.

[If NEEDS CHANGES]
Your project needs the following changes:
1. [List specific changes needed]

[If INCOMPATIBLE]
Your project is frontend-only and cannot safely call Runway's API. Options:
1. **Add a backend** — Add an Express/FastAPI server or use a framework with server routes (Next.js, SvelteKit, etc.)
2. **Use a serverless function** — Add API routes via Vercel Functions, AWS Lambda, Cloudflare Workers, etc.
3. **Create a separate backend** — Build a thin API proxy that your frontend calls

重要说明

  • 绝不要建议将 API 密钥嵌入客户端代码中。 这会带来安全风险。
  • 如果项目使用启用了 SSR 的 Next.js、Remix、SvelteKit、Nuxt 或 Astro,则兼容 — 服务端路由处理程序可以调用 API。
  • 无服务器平台(Vercel、Netlify、AWS Lambda、Cloudflare Workers)兼容。
  • 只要运行服务进程,Docker/容器化应用就兼容。

完成兼容性检查后

如果项目兼容,建议用户继续使用 +setup-api-key 配置 API 凭据。

评论

支持 Markdown