JieGouは常にビジュアルプラットフォームでした — ブラウザでレシピとワークフローを構築し、クリックで実行し、リアルタイムで結果を確認します。しかし、GitHub Actionからワークフローをトリガーしたい場合は?Slackボットからレシピを実行したい場合は?JieGouの実行を既存のCI/CDパイプラインに組み込みたい場合は?
本日、SDK APIをリリースします — JieGou内のあらゆるものをプログラマティックに実行できるヘッドレス実行レイヤーです。
1つのエンドポイント、4つのアクション
SDK APIはPOST /api/sdkの単一統一エンドポイントです。Bearerトークンで認証し、アクションを指定して結果を取得:
# レシピを同期実行
curl -X POST https://console.jiegou.ai/api/sdk \
-H "Authorization: Bearer jg_a7f2b1c3e9d4..." \
-H "Content-Type: application/json" \
-d '{
"action": "run_recipe",
"recipeId": "abc123",
"input": { "topic": "AI trends in 2026" }
}'
4つのアクションが利用可能です:
| アクション | 動作 | レスポンス |
|---|---|---|
run_recipe | 単一レシピを実行 | 同期 — 即座に結果を返す |
run_workflow | マルチステップワークフローを実行 | 非同期 — ポーリング用runIdを返す |
run_coding_agent | コーディングエージェントタスクを実行 | 非同期 — ストリーミング付きrunIdを返す |
send_message | 会話にメッセージを送信 | 同期 — アシスタントの応答を返す |
きめ細かい権限のAPIキー
SDK APIキーはLLMプロバイダーキー(BYOK)とは別です。スコープ付き権限でアカウント設定ページから作成:
recipes:read/recipes:executeworkflows:read/workflows:executeruns:readconversations:read/conversations:writecoding-agent:executeskills:read
キーはログやシークレットスキャナーで簡単に識別できるようjg_プレフィックスを使用。プレーンテキストトークンは作成時に一度だけ表示 — その後は最初の8文字のみ表示。キーはSHA-256ハッシュとして保存され、プレーンテキストでは保存されません。
各キーにはオプションの有効期限を設定可能。キーの即時ローテーション — 古いトークンが無効化され、同じ設定で新しいものが生成されます。
ポーリングとストリーミングによる非同期実行
ワークフローとコーディングエージェントタスクは非同期で実行されます。初期レスポンスでrunIdとpollUrlを取得:
{
"status": "queued",
"runId": "run_xyz789",
"pollUrl": "/api/sdk/runs/run_xyz789"
}
ステータスをポーリング:
curl https://console.jiegou.ai/api/sdk/runs/run_xyz789 \
-H "Authorization: Bearer jg_a7f2b1c3..."
またはSSE経由でリアルタイムイベントをストリーミング:
curl -N https://console.jiegou.ai/api/sdk/runs/run_xyz789/stream \
-H "Authorization: Bearer jg_a7f2b1c3..." \
-H "Accept: text/event-stream"
イベントにはステップ開始、ステップ完了、コーディングエージェントツールコール、最終結果が含まれます。
レート制限と使用量追跡
各APIキーには独自のレート制限があります:
- キーあたり1分60リクエスト
- キーあたり1時間1,000リクエスト
- キーあたり同時10リクエスト
SDK使用量はWeb UI使用量とは別に課金ダッシュボードで追跡され、APIキーとアクションタイプ別に分類。トークン消費はWeb使用量と同じBYOK課金に反映されます。
統合例
GitHub Actions
- name: Generate changelog
run: |
curl -X POST $JIEGOU_URL/api/sdk \
-H "Authorization: Bearer ${{ secrets.JIEGOU_SDK_KEY }}" \
-d '{"action": "run_recipe", "recipeId": "changelog-gen", "input": {"diff": "${{ steps.diff.outputs.content }}"}}'
Slackボット
app.message('summarize', async ({ message, say }) => {
const result = await fetch(`${JIEGOU_URL}/api/sdk`, {
method: 'POST',
headers: { 'Authorization': `Bearer ${JIEGOU_KEY}` },
body: JSON.stringify({
action: 'run_recipe',
recipeId: 'thread-summarizer',
input: { thread: message.text },
}),
});
const data = await result.json();
await say(data.result.output);
});
スケジュールバッチ処理
#!/bin/bash
# 夜間データ処理ワークフローを実行
RESPONSE=$(curl -s -X POST "$JIEGOU_URL/api/sdk" \
-H "Authorization: Bearer $JIEGOU_KEY" \
-d '{"action": "run_workflow", "workflowId": "nightly-etl", "input": {"date": "'$(date -I)'"}}')
RUN_ID=$(echo $RESPONSE | jq -r '.runId')
# 完了までポーリング
while true; do
STATUS=$(curl -s "$JIEGOU_URL/api/sdk/runs/$RUN_ID" \
-H "Authorization: Bearer $JIEGOU_KEY" | jq -r '.status')
[ "$STATUS" = "completed" ] && break
[ "$STATUS" = "failed" ] && exit 1
sleep 10
done
今すぐ利用可能
SDK APIはProプラン以上で利用可能です。アカウント設定 > SDK APIキーで最初のAPIキーを作成してください。
@jiegou/sdk npmパッケージも開発中です。REST APIをTypeScript型、ストリーミングヘルパー、自動リトライロジックでラップします。近日公開予定。
APIキーを作成して自動化の自動化を始めましょう。