volcengine-sdk-generator について
volcengine-sdk-generator は、Volcengine API を検索し、複数の言語で SDK 呼び出し例を生成するスキルです。オンライン検索とコード生成を使い、SDK の設定やインストール情報は必要に応じて案内します。
主な機能
- 01Volcengine API のオンライン検索
- 02選択した API 呼び出し例の生成
- 03Python、Go、Java、PHP、Node.js に対応
- 04生成例でのレスポンス出力
- 05要求に応じたインストールとパッケージ情報の取得
活用シーン
- 01特定の Volcengine API のコード例作成
- 02自然言語の依頼から候補 API を検索
- 03SDK の設定やインストール情報の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ volcengine/ volcengine-agent-toolkit --skill volcengine-sdk-generatorインストール後、Claude Code で/volcengine-sdk-generatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/sdk-integration-go.mdsdk-integration-java.mdsdk-integration-nodejs.mdsdk-integration-php.mdsdk-integration-python.mdscripts/make_code.pyrg_rank.pysdk_info.py詳細
Volcengine SDK ジェネレーター
デフォルトでは、一般的な Volcengine API 呼び出しのサンプルを生成します。デフォルトの出力は、API 呼び出し自体に焦点を当て、認証の設定、リクエストオブジェクト/パラメーター、呼び出し、レスポンスの出力を含めてください。ユーザーから明示的に求められない限り、リトライ、プロキシ、接続プール、デバッグログなどの高度な SDK 設定は追加しないでください。
高度な SDK 設定に関する質問には、references/ にある言語別ファイルを使用してください。これらのリファレンスファイルは自己完結しているため、そこから直接回答してください。
| トピック | リファレンス |
|---|---|
| Go SDK の設定 | references/sdk-integration-go.md |
| Python SDK の設定 | references/sdk-integration-python.md |
| Java SDK の設定 | references/sdk-integration-java.md |
| Node.js SDK の設定 | references/sdk-integration-nodejs.md |
| PHP SDK の設定 | references/sdk-integration-php.md |
基本ルール
- API の検索には
scripts/rg_rank.pyを使用します。このスクリプトはChannel=serviceとChannel=apiの両方を指定して API Explorer を検索します。具体的な API を選択した後、--service-code、--api-version、--actionを指定し、ダイレクトモードでscripts/make_code.pyを呼び出します。 - API の検索はオンラインのみで行います。検索エンドポイントでは、Cookie、ログイン状態、UID、DID、UUID、ブラウザー固有のヘッダーは不要です。スクリプトは、クエリパラメーターとして
Query、Channel、Limit、Offsetのみを送信します。 rg_rank.pyは、バージョン選択を除き、Channel=apiの順序を維持します。同じservice_code + actionに複数のバージョンがあり、ユーザーがバージョンを指定していない場合は、そのグループ内でIsRecommended=1の結果をほかのバージョンより前に移動します。また、Channel=serviceの結果もサービスのメタデータとして別途含めます。- オンライン検索に失敗した場合は、返された検索エラーを報告します。API を推測したり、同梱カタログにフォールバックしたりしないでください。
--queryにはユーザーの元のリクエストを使用してください。推測した API 名や SDK メソッド名に書き換えないでください。- ユーザーが
等等、不对、重新来、我改主意、其实想要、其实是想要、应该是、改成などの言葉を使って明確に訂正した場合に限り、より短い--queryを抽出します。抽出するクエリは、推測した API 名ではなく、ユーザーのリクエストに含まれる連続した部分文字列でなければなりません。 - 明確な自己訂正がなく、複数のリソースやサービスが出てくる場合は、元のリクエストで
rg_rank.pyを一度だけ実行します。返された候補が依然として曖昧な場合は、簡潔に列挙し、ユーザーに選択を求めます。 api、sdk、demoなどの一般的すぎるクエリもオンラインに送信しますが、曖昧な結果になりやすいため、具体的なリソース名やアクションを表す語を加えて絞り込んでください。- ServiceCode は大文字と小文字を区別します。
make_code.pyを呼び出す際は、選択した API レコードのservice_codeの値をそのまま使用してください。たとえば、Kafkaはkafkaとは異なります。 - 同じ
service_code + actionが複数の API バージョンにあり、ユーザーがバージョンを指定していない場合は、remote_rankが低くてもis_recommended=trueの結果を選択します。ユーザーがバージョンを指定した場合は、そのバージョンを使用します。 api-swaggerは、具体的な API を選択した後にのみ取得します。api-swaggerの取得時には、エンドポイントが両方を必要とする場合、VersionとAPIVersionの両方を含めることができます。make-codeのペイロードにはVersionを含めないでください。make-codeはApiAction、ServiceCode、APIVersion、Region、Paramsを指定して呼び出します。make-codeにVersionを送信しないでください。Paramsにはユーザーから渡された値を使用してください。Swagger のデモから自動入力しないでください。- Swagger は、API のメタデータ、必須パラメーターのヒント、簡易的な検証に使用します。
make-code用にクエリ配列、フォーム配列、.Nパラメーターをシリアライズしないでください。ユーザーの JSON オブジェクトをParamsとして渡してください。 - ユーザーが必須のトップレベルパラメーターを省略した場合は、それらのトップレベル必須パラメーターのみをモックし、モック値であることを明記してください。任意パラメーターはモックしないでください。必須のトップレベルパラメーターがオブジェクトまたは配列の場合は、必須の子フィールドや要素のみを再帰的に補完してください。
- モック値は、まず取得した Swagger から導出してください。
example、examples、default、enumの順に優先し、その後に型や制約に応じたフォールバック値を使用します。Swagger の例が****やXXなどのマスク済み値の場合は使用せず、有効なフォールバック値を使用してください。 - モックのコメントは、デフォルトで中国語にし、対象言語が行コメントをサポートする場合はモックした代入行の近くに配置してください。返却コードの先頭に重複するモックのバナーを追加しないでください。
- 返却する SDK コードでは、API レスポンスの値を出力してください。スクリプトは、Python、Go、Java、PHP 用の固定
make-codeテンプレートを後処理し、レスポンスを代入して出力します。 scripts/make_code.pyが生成したコードを、SDK の主要なサンプルとして返してください。ユーザーが明示的に求めない限り、SDK リクエストの構築、認証の設定、レスポンス処理を、独自のアプリケーション向けに書き換えないでください。任意の整形処理や利便性のためのロジックを追加する場合も、print(resp)、fmt.Println(resp)、System.out.println(resp)、print_r($response)、console.log(response)など、生成されたレスポンス出力を有効なまま残してください。- 言語が指定されていない場合は、
DemoSdkに含まれるすべての言語を返してください。 - SDK のインストール情報や依存関係情報は、必要に応じて個別に提供する機能です。ユーザーが SDK のインストール方法、または使用するパッケージやバージョンを明示的に尋ねた場合(依赖、安装、install、版本、包、maven、
go get、pip、composer、npm などのキーワードが含まれる場合)に限り、選択した API の値を再利用して--service-codeと--api-versionを指定し、scripts/sdk_info.pyを実行してください。1 つの言語に絞り込む場合は、--languageに go/python/java/php/nodejs のいずれかを指定します。このスクリプトは、言語ごとに現在のインストールコマンド(RunCommand)、パッケージ、バージョンを返します。通常のコード生成時には実行しないでください。 - API の候補が曖昧な場合は、簡潔に候補を示して、いずれかを選ぶようユーザーに尋ねてください。ユーザーが選択した後に Swagger を取得し、必須パラメーターをモックして
make-codeを呼び出す、といった後続処理の説明は付け加えないでください。
ワークフロー
-
ユーザーのリクエストを解析します。
- API のヒント:アクション、中国語名、サービスコード、または自然言語による説明。
- 言語:Python、Go、Java、PHP、cURL、Node.js、または指定なし。
- パラメーター:ユーザーが指定した JSON オブジェクト。
- リージョン:ユーザーが指定した値、またはデフォルトの
cn-beijing。
-
リクエストごとに API を一度特定または検証します。ユーザーがすでに
service_code、api_version、actionを指定している場合は、ダイレクトモードでそれらの値をそのまま使用します。make_code.pyがオンラインのapi-swaggerレスポンスを通じて検証します。自然言語によるリクエストの場合は、まずscripts/rg_rank.pyを--queryとともに呼び出します。後の対象を示す明確な自己修正キーワードがある場合を除き、元のリクエスト全体を使用します。その場合は、最後の対象部分文字列を使用します。 -
service_code、api_version、actionを選択した後、--service-code、--api-version、--actionを指定して、ダイレクト API モードでscripts/make_code.pyを呼び出します。トップレベルの必須パラメーターが不足している場合、スクリプトは Swagger から取得したモック値で必須のトップレベルパラメーターのみを補い、返されるコードに中国語で注記します。オンラインの結果で API の選択が本当に曖昧な場合に限り、確認を求めます。その際は候補のみを提示し、ユーザーに選択を求めてください。 -
パラメーターが揃ったら、スクリプトを通じて
make-codeを呼び出し、公式のコードを返します。生成されたサンプルを手書きのユーティリティに変換しないでください。カスタムの書式設定を行う場合は補足的なものにとどめ、アクティブなレスポンス出力を維持してください。
コマンド
オンライン候補を検索する:
python3 scripts/rg_rank.py \
--query '角色扮演' \
--limit 10 \
--format text
ダイレクト API モード:
TRN の例では、<account-id> は Volcengine アカウント ID のセグメントです。マスクされた 2134xxxyyy などが該当します。
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/make_code.py \
--service-code sts \
--api-version 2018-01-01 \
--action AssumeRole \
--refresh-swagger \
--params-json '{}'
必要に応じて SDK のインストール/依存関係情報を取得します(ユーザーがインストール、パッケージ、またはバージョンについて尋ねた場合のみ)。
python3 scripts/sdk_info.py \
--service-code sts \
--api-version 2018-01-01 \
--language go