SuperAPI AI 工具集

start-new-sdk-project

编程与开发

查看项目

更新于 10-16 04:36

技能介绍

用途

start-new-sdk-project 是用于从 OpenAPI 规范生成新 SDK 的主要技能。当用户需要创建 SDK、生成 SDK、新建 SDK 项目,或进行首次 Speakeasy 设置且尚无 .speakeasy/workflow.yaml 时,应使用此技能。

主要能力

该技能的核心是使用 speakeasy quickstart 命令初始化新的 SDK 项目。它会创建 SDK 以及必需的 .speakeasy/workflow.yaml 配置文件。支持的目标语言包括:TypeScript、Python、Go、Java、C#、PHP、Ruby、Kotlin、Terraform。

OpenAPI 规范来源支持三种类型:本地文件路径(如 ./api/openapi.yaml)、HTTP(S) URL(如 https://api.example.com/openapi.json)、以及 Speakeasy 工作区中管理的注册表源(如 my-api、my-api@latest、acme/prod/my-api@v2)。注册表源可通过 speakeasy pull --list --format json 查看。

使用方式

命令格式:

speakeasy quickstart --skip-interactive --output console -s <schema> -t <target> -n <name> -p <package-name>

主要标志:

  • --skip-interactive:自动化环境必需,跳过所有提示
  • --schema / -s:OpenAPI 规范来源
  • --target / -t:目标语言
  • --name / -n:PascalCase 格式的 SDK 名称(如 MyCompanySDK)
  • --package-name / -p:包名(语言变体自动推断)
  • --out-dir / -o:输出目录(默认当前目录)
  • --output:输出格式,summary、console 或 mermaid,自动化时使用 console
  • --init-git:初始化 git 仓库(非交互模式下省略则跳过)

示例:

从本地 OpenAPI 文件

speakeasy quickstart --skip-interactive --output console
-s ./api/openapi.yaml
-t typescript
-n "AcmeSDK"
-p "acme-sdk"

从 URL

speakeasy quickstart --skip-interactive --output console
-s "https://api.example.com/openapi.json"
-t python
-n "AcmeSDK"
-p "acme-sdk"

从注册表源

speakeasy quickstart --skip-interactive --output console
-s "my-api@latest"
-t go
-n "AcmeSDK"
-p "acme-sdk"

自定义输出目录并初始化 git

speakeasy quickstart --skip-interactive --output console
-s ./api/openapi.yaml
-t python
-n "AcmeSDK"
-p "acme-sdk"
-o ./sdks/python
--init-git

前置条件:交互式认证运行 speakeasy auth login,或为非交互环境(CI/CD、自动化)设置环境变量 export SPEAKEASY_API_KEY="<your-api-key>"。

适用场景

  • 从 OpenAPI 规范生成任意 SDK(TypeScript、Python、Go、Java 等)
  • 启动全新的 SDK 项目
  • 尚无 .speakeasy/workflow.yaml 时
  • 首次 Speakeasy 设置
  • 用户提及“generate SDK”“TypeScript SDK”“Python SDK”“Go SDK”“create SDK”“new SDK”等

限制与注意事项

不要在新项目中使用 speakeasy generate sdk。该低级命令只生成代码,不创建 .speakeasy/workflow.yaml。缺少 workflow 文件将失去:通过 speakeasy run 的可复现构建、多目标 SDK 生成、CI/CD 集成、版本跟踪与升级路径。

在自动化环境中不要跳过 --skip-interactive,否则命令会挂起等待用户输入。在自动化环境中不要省略 --output console,需要结构化输出以验证成功。

quickstart 与 generate sdk 对比:speakeasy quickstart 创建 workflow.yaml,用于新项目,应始终使用;speakeasy generate sdk 不创建 workflow.yaml,仅用于一次性生成(罕见、高级用途)。

后续步骤

  1. 在输出目录中查看生成的 SDK
  2. 在 .speakeasy/workflow.yaml 中添加更多目标以支持多语言
  3. 规范或配置变更后运行 speakeasy run 重新生成

常用 CLI 命令

  • speakeasy quickstart ...:初始化新 SDK 项目
  • speakeasy run -y --output console:从 workflow 重新生成 SDK
  • speakeasy lint openapi --non-interactive -s spec.yaml:验证 OpenAPI 规范
  • speakeasy auth login:与 Speakeasy 认证
  • speakeasy pull --list --format json:列出注册表源

故障排除

  • Workflow already exists:.speakeasy/workflow.yaml 已存在,改为运行 speakeasy run 重新生成现有 SDK
  • Unauthorized:缺少或无效 API 密钥,运行 speakeasy auth login 或设置 SPEAKEASY_API_KEY
  • Schema not found:路径、URL 或源名称无效,验证路径存在或使用 speakeasy pull --list 查看源

相关技能

diagnose-generation-failure(生成失败时)、manage-openapi-overlays(用 overlay 自定义规范)、configure-sdk-options(所有支持语言的 gen.yaml 配置)。