关于 rw-check-compatibility
面向接入 Runway 公共 API 的项目,检查技术栈、服务端能力、SDK、运行时版本和环境变量支持,并生成兼容性报告。
主要功能
- 01识别项目语言与技术栈
- 02检查服务端调用能力
- 03查找 Runway SDK
- 04核对运行时和环境变量支持
- 05生成兼容性报告
适用场景
- 01评估前端项目能否安全调用 API
- 02确认服务端框架是否满足接入要求
- 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.json | Node.js 项目 |
requirements.txt、pyproject.toml、Pipfile、setup.py | Python 项目 |
go.mod | Go 项目 |
Cargo.toml | Rust 项目 |
pom.xml、build.gradle | Java/Kotlin 项目 |
Gemfile | Ruby 项目 |
composer.json | PHP 项目 |
如果这些文件都不存在,请将项目标记为未知,并询问用户使用的语言/运行时。
步骤 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