Skip to content
Producto

Automatice sus automatizaciones: JieGou SDK para CI/CD y bots de Slack

Ejecute recetas, flujos de trabajo y agentes de código de JieGou programáticamente con la nueva SDK API. Autenticación por API key, ejecución síncrona y asíncrona, streaming SSE — construido para desarrolladores.

JT
JieGou Team
· · 4 min de lectura

JieGou siempre ha sido una plataforma visual — usted construye recetas y flujos de trabajo en el navegador, los ejecuta con un clic y ve los resultados en tiempo real. Pero ¿qué pasa si quiere disparar un flujo de trabajo desde una GitHub Action? ¿O ejecutar una receta desde un bot de Slack? ¿O integrar la ejecución de JieGou en su pipeline de CI/CD existente?

Hoy lanzamos la SDK API — una capa de ejecución headless que le permite ejecutar cualquier cosa en JieGou programáticamente.

Un endpoint, cuatro acciones

La SDK API es un único endpoint unificado en POST /api/sdk. Autentíquese con un token bearer, especifique una acción y obtenga resultados:

# Ejecutar una receta sincrónicamente
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" }
  }'

Hay cuatro acciones disponibles:

AcciónQué haceRespuesta
run_recipeEjecutar una receta individualSíncrona — devuelve el resultado inmediatamente
run_workflowEjecutar un flujo de trabajo multi-pasoAsíncrona — devuelve runId para consulta
run_coding_agentEjecutar una tarea de agente de códigoAsíncrona — devuelve runId con streaming
send_messageEnviar un mensaje a una conversaciónSíncrona — devuelve la respuesta del asistente

API keys con permisos granulares

Las API keys del SDK son independientes de las keys de su proveedor LLM (BYOK). Créelas desde la página de configuración de cuenta con permisos específicos:

  • recipes:read / recipes:execute
  • workflows:read / workflows:execute
  • runs:read
  • conversations:read / conversations:write
  • coding-agent:execute
  • skills:read

Las keys usan el prefijo jg_ para fácil identificación en logs y escáneres de secretos. El token en texto plano se muestra una sola vez al crearlo — después de eso, solo los primeros 8 caracteres son visibles. Las keys se almacenan como hashes SHA-256, nunca en texto plano.

Cada key puede tener una fecha de expiración opcional. Rote las keys instantáneamente — el token antiguo se revoca y se genera uno nuevo con la misma configuración.

Ejecución asíncrona con consulta y streaming

Los flujos de trabajo y las tareas de agentes de código se ejecutan asincrónicamente. La respuesta inicial le da un runId y una pollUrl:

{
  "status": "queued",
  "runId": "run_xyz789",
  "pollUrl": "/api/sdk/runs/run_xyz789"
}

Consulte el estado:

curl https://console.jiegou.ai/api/sdk/runs/run_xyz789 \
  -H "Authorization: Bearer jg_a7f2b1c3..."

O transmita eventos en tiempo real vía SSE:

curl -N https://console.jiegou.ai/api/sdk/runs/run_xyz789/stream \
  -H "Authorization: Bearer jg_a7f2b1c3..." \
  -H "Accept: text/event-stream"

Los eventos incluyen inicios de pasos, completaciones de pasos, llamadas a herramientas del agente de código y el resultado final.

Límites de tasa y seguimiento de uso

Cada API key tiene sus propios límites de tasa:

  • 60 solicitudes por minuto por key
  • 1,000 solicitudes por hora por key
  • 10 solicitudes concurrentes por key

El uso del SDK se rastrea por separado del uso de la interfaz web en el panel de facturación, desglosado por API key y tipo de acción. El consumo de tokens alimenta la misma facturación BYOK que el uso web.

Ejemplos de integración

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 de 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);
});

Procesamiento por lotes programado

#!/bin/bash
# Ejecutar flujo de trabajo de procesamiento de datos nocturno
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')

# Consultar hasta completar
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 ahora

La SDK API está disponible en planes Pro y superiores. Cree su primera API key en Configuración de Cuenta > API Keys del SDK.

También estamos trabajando en un paquete npm (@jiegou/sdk) que envuelve la API REST con tipos TypeScript, helpers de streaming y lógica de reintento automática. Próximamente.

Cree una API key y comience a automatizar sus automatizaciones.

sdk api ci-cd headless developer integration automation
Compartir este artículo

¿Le gustó este artículo?

Reciba consejos sobre flujos de trabajo, actualizaciones de producto y guías de automatización en su bandeja de entrada.

No spam. Unsubscribe anytime.