Skip to content
產品

自動化你的自動化:JieGou SDK 用於 CI/CD 和 Slack 機器人

使用新的 SDK API 以程式化方式執行 JieGou 配方、工作流程和編碼代理。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執行編碼代理任務非同步 — 返回帶串流的 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_ 前綴,方便在日誌和密鑰掃描器中識別。明文 token 在建立時僅顯示一次 — 之後只有前 8 個字元可見。金鑰以 SHA-256 雜湊儲存,永不以明文保存。

每個金鑰可以設定可選的到期日。即時輪換金鑰 — 舊 token 被撤銷,新 token 以相同設定生成。

非同步執行,支援輪詢和串流

工作流程和編碼代理任務以非同步方式執行。初始回應提供 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"

事件包括步驟開始、步驟完成、編碼代理工具呼叫和最終結果。

速率限制和使用追蹤

每個 API 金鑰有自己的速率限制:

  • 每個金鑰每分鐘 60 個請求
  • 每個金鑰每小時 1,000 個請求
  • 每個金鑰 10 個並發請求

SDK 使用量在帳單儀表板中與 Web UI 使用量分開追蹤,按 API 金鑰和動作類型細分。Token 消耗納入與 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),用 TypeScript 類型、串流輔助工具和自動重試邏輯包裝 REST API。敬請期待。

建立 API 金鑰,開始自動化你的自動化。

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

喜歡這篇文章嗎?

在您的信箱中獲取工作流程技巧、產品更新和自動化指南。

No spam. Unsubscribe anytime.