Skip to content

Dify — 工作流编排

网关地址: https://ai.ospreyai.cn(公网) 需要后端 Bearer Token(通过 X-Authorization 传入)

鉴权方式

Dify API Key 在 Dify Web 界面中生成,格式为 app-xxxxxx

所有请求必须同时携带:

  • Authorization: Bearer sk-xxx — 网关层鉴权
  • X-Authorization: Bearer <dify-api-key> — 后端鉴权

工作流对话(阻塞模式)

POST /api/v1/ai/workflow/chat-messages
Content-Type: application/json
Authorization: Bearer sk-xxx
X-Authorization: Bearer app-xxxxxx
bash
curl -H "Authorization: Bearer $API_KEY" \
  -H "X-Authorization: Bearer app-xxxxxx" \
  -H "Content-Type: application/json" \
  -X POST "$GW/api/v1/ai/workflow/chat-messages" \
  -d '{
    "inputs": {},
    "query": "你好,请介绍一下自己",
    "response_mode": "blocking",
    "conversation_id": "",
    "user": "api-user"
  }'

工作流对话(流式模式)

POST /api/v1/ai/workflow/chat-messages
Content-Type: application/json
Authorization: Bearer sk-xxx
X-Authorization: Bearer app-xxxxxx
bash
curl -H "Authorization: Bearer $API_KEY" \
  -H "X-Authorization: Bearer app-xxxxxx" \
  -H "Content-Type: application/json" \
  -X POST "$GW/api/v1/ai/workflow/chat-messages" \
  -d '{
    "inputs": {},
    "query": "你好",
    "response_mode": "streaming",
    "conversation_id": "",
    "user": "api-user"
  }'

响应(流式): 返回 SSE 事件流,event: message 包含增量内容。

获取工作流参数

GET /api/v1/ai/workflow/parameters
Authorization: Bearer sk-xxx
X-Authorization: Bearer app-xxxxxx
bash
curl -H "Authorization: Bearer $API_KEY" \
  -H "X-Authorization: Bearer app-xxxxxx" \
  "$GW/api/v1/ai/workflow/parameters"

Python 调用示例

python
import requests

session = requests.Session()
session.headers.update({
    "Authorization": "Bearer sk-your-api-key",
    "X-Authorization": "Bearer app-xxxxxx",
    "Content-Type": "application/json"
})

BASE = "https://ai.ospreyai.cn/api/v1/ai/workflow"

# 阻塞模式对话
resp = session.post(f"{BASE}/chat-messages", json={
    "inputs": {},
    "query": "你好",
    "response_mode": "blocking",
    "conversation_id": "",
    "user": "api-user"
})
print(resp.json())

AI API Gateway Documentation