JieGou a toujours été une plateforme visuelle — vous construisez des recettes et des workflows dans le navigateur, les exécutez d’un clic et voyez les résultats en temps réel. Mais que faire si vous voulez déclencher un workflow depuis une GitHub Action ? Ou exécuter une recette depuis un bot Slack ? Ou intégrer l’exécution JieGou dans votre pipeline CI/CD existant ?
Aujourd’hui nous lançons l’API SDK — une couche d’exécution headless qui vous permet d’exécuter n’importe quoi dans JieGou de manière programmatique.
Un endpoint, quatre actions
L’API SDK est un endpoint unifié unique à POST /api/sdk. Authentifiez-vous avec un token bearer, spécifiez une action et obtenez des résultats :
# Exécuter une recette de manière synchrone
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" }
}'
Quatre actions sont disponibles :
| Action | Ce qu’elle fait | Réponse |
|---|---|---|
run_recipe | Exécuter une seule recette | Synchrone — renvoie le résultat immédiatement |
run_workflow | Exécuter un workflow multi-étapes | Async — renvoie runId pour polling |
run_coding_agent | Exécuter une tâche d’agent de code | Async — renvoie runId avec streaming |
send_message | Envoyer un message à une conversation | Synchrone — renvoie la réponse de l’assistant |
Clés API avec permissions granulaires
Les clés API SDK sont séparées de vos clés de fournisseur LLM (BYOK). Créez-les depuis la page de paramètres du compte avec des permissions ciblées :
recipes:read/recipes:executeworkflows:read/workflows:executeruns:readconversations:read/conversations:writecoding-agent:executeskills:read
Les clés utilisent le préfixe jg_ pour une identification facile dans les logs et les scanners de secrets. Le token en clair n’est montré qu’une fois à la création — après cela, seuls les 8 premiers caractères sont visibles. Les clés sont stockées comme hashes SHA-256, jamais en clair.
Chaque clé peut avoir une date d’expiration optionnelle. Faites la rotation des clés instantanément — l’ancien token est révoqué et un nouveau est généré avec la même configuration.
Exécution asynchrone avec polling et streaming
Les workflows et les tâches d’agent de code s’exécutent de manière asynchrone. La réponse initiale vous donne un runId et un pollUrl :
{
"status": "queued",
"runId": "run_xyz789",
"pollUrl": "/api/sdk/runs/run_xyz789"
}
Interrogez le statut :
curl https://console.jiegou.ai/api/sdk/runs/run_xyz789 \
-H "Authorization: Bearer jg_a7f2b1c3..."
Ou streamez les événements en temps réel via SSE :
curl -N https://console.jiegou.ai/api/sdk/runs/run_xyz789/stream \
-H "Authorization: Bearer jg_a7f2b1c3..." \
-H "Accept: text/event-stream"
Les événements incluent les démarrages d’étapes, les complétions d’étapes, les appels d’outils de l’agent de code et le résultat final.
Limitation de débit et suivi d’utilisation
Chaque clé API a ses propres limites de débit :
- 60 requêtes par minute par clé
- 1 000 requêtes par heure par clé
- 10 requêtes concurrentes par clé
L’utilisation SDK est suivie séparément de l’utilisation web dans le tableau de bord de facturation, ventilée par clé API et type d’action. La consommation de tokens alimente la même facturation BYOK que l’utilisation web.
Exemples d’intégration
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 }}"}}'
Bot 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);
});
Traitement par lots planifié
#!/bin/bash
# Exécuter le workflow de traitement de données nocturne
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')
# Interroger jusqu'à complétion
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
Disponible maintenant
L’API SDK est disponible sur les plans Pro et supérieurs. Créez votre première clé API dans Paramètres du compte > Clés API SDK.
Nous travaillons aussi sur un package npm (@jiegou/sdk) qui encapsule l’API REST avec des types TypeScript, des helpers de streaming et une logique de réessai automatique. Restez à l’écoute.
Créez une clé API et commencez à automatiser vos automatisations.