Skip to content
产品

自动化您的自动化:JieGou SDK,用于 CI/CD 和 Slack 机器人

使用新的 SDK API 以编程方式执行 JieGou 配方、工作流和编码 agent。API 密钥认证、同步和异步执行、SSE 流式传输——为开发者构建。

JT
JieGou Team
· · 2 分钟阅读

JieGou 一直是一个可视化平台——您在浏览器中构建配方和工作流,点击运行,实时查看结果。但如果您想从 GitHub Action 触发工作流?或从 Slack 机器人运行配方?或将 JieGou 执行嵌入到现有 CI/CD 管道中呢?

今天我们推出 SDK API —— 一个无头执行层,让您以编程方式运行 JieGou 中的任何内容。

一个端点,四个操作

SDK API 是一个统一端点 POST /api/sdk。使用 bearer token 认证,指定操作,获取结果:

# 同步运行配方
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": "2026 年 AI 趋势" }
  }'

四个操作可用:

操作功能响应
run_recipe执行单个配方同步——立即返回结果
run_workflow执行多步骤工作流异步——返回 runId 用于轮询
run_coding_agent运行编码 agent 任务异步——返回 runId,支持流式传输
send_message向对话发送消息同步——返回助手回复

细粒度权限的 API 密钥

SDK API 密钥与您的 LLM 供应商密钥(BYOK)分开。从账户设置页面创建,带范围权限:

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

密钥使用 jg_ 前缀便于在日志和密钥扫描器中识别。明文令牌仅在创建时显示一次——之后只有前 8 个字符可见。密钥存储为 SHA-256 哈希,从不以明文存储。

每个密钥可以有可选的过期日期。即时轮换密钥——旧令牌被撤销,新令牌以相同配置生成。

异步执行,支持轮询和流式传输

工作流和编码 agent 任务异步运行。初始响应给您一个 runIdpollUrl

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

事件包括步骤开始、步骤完成、编码 agent 工具调用和最终结果。

速率限制和使用跟踪

每个 API 密钥有自己的速率限制:

  • 每分钟 60 个请求,每密钥
  • 每小时 1,000 个请求,每密钥
  • 10 个并发请求,每密钥

SDK 使用在计费仪表板中与 Web UI 使用分开跟踪,按 API 密钥和操作类型细分。令牌消耗与 Web 使用一样纳入 BYOK 计费。

集成示例

GitHub Actions

- name: 生成变更日志
  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 密钥。

我们还在开发一个 npm 包(@jiegou/sdk),封装 REST API 并提供 TypeScript 类型、流式传输助手和自动重试逻辑。敬请期待。

创建 API 密钥 并开始自动化您的自动化。

sdk api ci-cd headless developer integration automation
分享这篇文章

喜欢这篇文章吗?

在您的信箱中获取工作流程技巧、产品更新和自动化指南。

No spam. Unsubscribe anytime.