mcpField
R
rw-check-compatibility

rw-check-compatibility

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

关于 rw-check-compatibility

面向接入 Runway 公共 API 的项目,检查技术栈、服务端能力、SDK、运行时版本和环境变量支持,并生成兼容性报告。

主要功能

  1. 01识别项目语言与技术栈
  2. 02检查服务端调用能力
  3. 03查找 Runway SDK
  4. 04核对运行时和环境变量支持
  5. 05生成兼容性报告

适用场景

  1. 01评估前端项目能否安全调用 API
  2. 02确认服务端框架是否满足接入要求
  3. 03检查 SDK 与运行时配置

安装

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

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

安装后在 Claude Code 中输入/rw-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(包含 loaders/actions — 兼容)
  • @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/容器化应用只要运行服务进程就兼容。

兼容性检查之后

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

评论

支持 Markdown