mcpField
A
arkts-sta-playground

arkts-sta-playground

github.com/openharmonyinsight開発3590 回インストール11 週間前に更新
リポジトリ

arkts-sta-playground について

ArkTS-Sta PlaygroundのHTTP APIを使ってコードを実行するスキルです。構文の学習、コード片のデバッグ、プロトタイプの検証に使え、ファイルまたは直接入力を受け付け、JSON結果も返せます。

主な機能

  1. 01.etsファイルまたはコード文字列を実行
  2. 02Playground HTTP API経由でコンパイルと実行
  3. 03出力とエラー情報を返却
  4. 04JSON形式の結果に対応
  5. 05リクエストのタイムアウトを設定

活用シーン

  1. 01ArkTSの構文や言語機能のテスト
  2. 02統合前のロジック確認
  3. 03コード片のコンパイルエラー調査
  4. 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.ets
scripts/
requirements.txt
run_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 エンドポイントを使用します。

  1. ArkTS-Sta コードを https://arkts-play.cn.bz-openlab.ru:10443/compile に送信します
  2. コンパイル結果と出力を受け取ります
  3. 整形した結果(成功ステータス、出力、エラー)を返します

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"
}

トラブルシューティング

接続の問題

接続エラーが発生した場合:

  1. インターネット接続を確認します
  2. API エンドポイントにアクセスできることを確認します
  3. ファイアウォールの設定を確認します
# 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:コンパイルに失敗した場合のエラーメッセージ。それ以外の場合は null
  • has_error:コードにコンパイルエラーがあるかどうかを示すブール値

例:浮動小数点数を使った列挙型のテスト

整数以外の値を使った列挙型でエラーが発生するかどうかをテストします。

python3 scripts/run_playground.py --code "
enum Numbers {
  A = 10,
  B = 2.57,
  C = 0x2B7F,
  D = -1.5,
  E = 12
}
"

期待される結果:列挙型の値は整数である必要があることを示すエラーが発生し、失敗します。

制限事項

  • API エンドポイントへのインターネットアクセスが必要です
  • API のレート制限が適用される場合があります
  • コンパイル出力の形式は API のレスポンスによって異なります

効率的に使うためのヒント

  1. プログラムで処理する場合は、JSON 出力(--json)を使用します
  2. シェルループを使って複数のファイルを一括テストします
  3. スクリプトで終了コードを確認し、成功または失敗を判定します

コメント