arkts-sta-playground について
ArkTS-Sta PlaygroundのHTTP APIを使ってコードを実行するスキルです。構文の学習、コード片のデバッグ、プロトタイプの検証に使え、ファイルまたは直接入力を受け付け、JSON結果も返せます。
主な機能
- 01.etsファイルまたはコード文字列を実行
- 02Playground HTTP API経由でコンパイルと実行
- 03出力とエラー情報を返却
- 04JSON形式の結果に対応
- 05リクエストのタイムアウトを設定
活用シーン
- 01ArkTSの構文や言語機能のテスト
- 02統合前のロジック確認
- 03コード片のコンパイルエラー調査
- 04複数の.etsファイルの一括テスト
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ openharmonyinsight/ openharmony-skills --skill arkts-sta-playgroundインストール後、Claude Code で/arkts-sta-playgroundを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/test_simple.etsscripts/requirements.txtrun_playground.py詳細
ArkTS-Sta Playground Runner
概要
このスキルは、ArkTS-Sta Playground HTTP API を使用して ArkTS-Sta コードを実行し、ブラウザーの自動操作なしで高速かつ信頼性の高いコード実行を提供します。
クイックスタート
基本的な使い方
ArkTS-Sta ファイルを実行します。
python3 scripts/run_playground.py path/to/code.ets
文字列としてコードを直接実行します。
python3 scripts/run_playground.py --code "let x: number = 42; console.log(x);"
プログラムで解析できるよう、JSON 出力を取得します。
python3 scripts/run_playground.py --json --code "console.log('Hello');"
セットアップ要件
Python の依存関係をインストールします。
pip install -r scripts/requirements.txt
必須パッケージ:requests>=2.31.0
使用パターン
パターン 1:コードのクイックテスト
ArkTS-Sta の構文をテストする場合や、コードのロジックを検証する場合:
python3 scripts/run_playground.py --code "
enum Numbers {
A = 10,
B = 2.57,
C = 0x2B7F,
D = -1.5,
E = 12
}
"
パターン 2:バッチテスト
複数のファイルをテストする場合:
for file in test/*.ets; do
python3 scripts/run_playground.py --json "$file" > "results/$(basename $file .ets).json"
done
仕組み
このスクリプトは、次の HTTP API エンドポイントを使用します。
- ArkTS-Sta コードを
https://arkts-play.cn.bz-openlab.ru:10443/compileに送信します - コンパイル結果と出力を受け取ります
- 整形した結果(成功ステータス、出力、エラー)を返します
API エンドポイント
ベース URL: https://arkts-play.cn.bz-openlab.ru:10443/compile
メソッド: POST
リクエスト:
{
"code": "your ArkTS-Sta code here"
}
レスポンス:
{
"output": "execution output or empty",
"error": "error message if compilation failed, null otherwise"
}
トラブルシューティング
接続の問題
接続エラーが発生した場合:
- インターネット接続を確認します
- API エンドポイントにアクセスできることを確認します
- ファイアウォールの設定を確認します
# Test connectivity
curl -X POST https://arkts-play.cn.bz-openlab.ru:10443/compile \
-H "Content-Type: application/json" \
-d '{"code":"let x: number = 42;"}'
タイムアウトの問題
API の応答が遅い場合は、タイムアウトを延長します。
python3 scripts/run_playground.py --timeout 60 path/to/code.ets
SSL 証明書のエラー
SSL 証明書の問題が発生した場合は、次の対応が必要になることがあります。
- システムの CA 証明書が最新であることを確認します
- または、SSL 検証を無効にするようスクリプトを変更します(本番環境では推奨されません)
一般的な使用例
ArkTS 構文を学ぶ
ArkTS 言語の機能をテストして試します。
python3 scripts/run_playground.py --code "
// Test union types
let value: string | number = 'hello';
value = 42;
console.log(value);
"
プロトタイプをすばやく検証する
プロジェクトに統合する前に、コードのロジックを検証します。
python3 scripts/run_playground.py --code "
function calculateSum(a: number, b: number): number {
return a + b;
}
console.log('Sum:', calculateSum(10, 20));
"
コードスニペットをデバッグする
コード内のコンパイルエラーを見つけます。
# Run with JSON output for programmatic checking
python3 scripts/run_playground.py --json problem.ets
# Check exit status
if python3 scripts/run_playground.py code.ets; then
echo "Compilation successful"
else
echo "Compilation failed"
fi
スクリプトの出力
スクリプトは、JSON 構造を返します(--json フラグを指定した場合)。
{
"success": true,
"output": "Execution result here...",
"error": null,
"has_error": false
}
フィールド:
success:API リクエストが成功したかどうかを示すブール値output:コードの出力またはコンパイル出力error:コンパイルに失敗した場合のエラーメッセージ。それ以外の場合はnullhas_error:コードにコンパイルエラーがあるかどうかを示すブール値
例:浮動小数点数を使った列挙型のテスト
整数以外の値を使った列挙型でエラーが発生するかどうかをテストします。
python3 scripts/run_playground.py --code "
enum Numbers {
A = 10,
B = 2.57,
C = 0x2B7F,
D = -1.5,
E = 12
}
"
期待される結果:列挙型の値は整数である必要があることを示すエラーが発生し、失敗します。
制限事項
- API エンドポイントへのインターネットアクセスが必要です
- API のレート制限が適用される場合があります
- コンパイル出力の形式は API のレスポンスによって異なります
効率的に使うためのヒント
- プログラムで処理する場合は、JSON 出力(
--json)を使用します - シェルループを使って複数のファイルを一括テストします
- スクリプトで終了コードを確認し、成功または失敗を判定します