SuperAPI AI 工具集

volcengine-sdk-generator

编程与开发

查看项目

更新于 10-19 16:18

技能介绍

火山引擎 SDK Generator 用于生成准确的火山引擎 API 调用示例。

用途 默认生成普通的火山引擎 API 调用示例,输出聚焦于 API 调用本身:认证配置、请求对象或参数、调用以及打印响应。除非用户明确要求,否则不加入重试、代理、连接池、调试日志等高级 SDK 配置。

主要能力

  • API 发现:通过 scripts/rg_rank.py 调用 API Explorer 搜索,同时检索 Channel=service 与 Channel=api。搜索为在线操作,无需 Cookie、登录态、UID、DID、UUID 或浏览器专用请求头。
  • API 选择:当同一 service_code + action 存在多个版本且用户未指定版本时,优先推荐 IsRecommended=1 的结果;用户指定版本时使用该版本。
  • 代码生成:选定 API 后,通过 scripts/make_code.py 以直连模式传入 --service-code、--api-version、--action 生成代码。脚本会对 Python、Go、Java、PHP 模板做后处理,确保代码主动打印响应值。
  • 参数处理:Params 必须来自用户,不自动从 swagger 示例填充。若缺少顶层必填参数,仅对这些必填顶层参数按 swagger 的 example、examples、default、enum 或类型约束生成模拟值,并以中文注释标注,不模拟可选参数。
  • 高级配置参考:语言相关的 SDK 配置说明放在 references/ 下,包括 Go、Python、Java、Node.js、PHP 各自的自包含参考文件。
  • 安装信息:仅当用户明确询问依赖、安装、版本、包管理器等时,运行 scripts/sdk_info.py,按语言返回实时安装命令(RunCommand)、包名与版本。

使用方式 搜索候选 API:

python3 scripts/rg_rank.py
--query '角色扮演'
--limit 10
--format text

直连生成代码:

python3 scripts/make_code.py
--service-code sts
--api-version 2018-01-01
--action AssumeRole
--language python
--params-json '{"DurationSeconds":3600,"RoleSessionName":"demo","RoleTrn":"trn:iam::<account-id>:role/demo"}'

当 API Explorer 元数据刚发生变化或生成结果过旧时,可加 --refresh-swagger 刷新。

查询安装信息:

python3 scripts/sdk_info.py
--service-code sts
--api-version 2018-01-01
--language go

主要约束

  • API 发现仅在线进行;在线搜索失败时报告返回的错误,不猜测 API,也不回退到内置目录。
  • 使用用户原始请求作为 --query,不擅自改写为猜测的 API 名或 SDK 方法。仅当用户以“等等”“不对”“重新来”“改成”等明确自我纠正时,才截取最终目标子串作为查询。
  • 若出现多个资源或服务且无明确纠正,先用原始请求检索一次;候选仍不明确时,简要列出候选项请用户选择。
  • api 或 sdk、demo 等过于笼统的查询虽然会在线上发送,但通常结果模糊,应结合具体资源或动作词细化。
  • ServiceCode 区分大小写,必须保留所选 API 记录中的精确值。
  • 仅在选定具体 API 后才获取 api-swagger;获取 swagger 时可包含 Version 与 APIVersion,但调用 make-code 时不得包含 Version。
  • make-code 的载荷包含 ApiAction、ServiceCode、APIVersion、Region 和 Params,其中 Params 为用户提供的 JSON 对象。
  • 返回脚本生成的代码作为主要 SDK 示例,不将其改写为自定义应用代码;若添加可选格式化逻辑,须保留主动响应打印(如 print(resp)、fmt.Println(resp)、System.out.println(resp)、print_r($response)、console.log(response))。
  • 未指定语言时,返回 DemoSdk 支持的全部语言。

适用场景 适合需要快速获得火山引擎各语言 SDK 官方调用示例、查询 API 必填参数并使用模拟值验证调用结构,或按需了解 SDK 安装依赖信息的开发场景。