跳至主要內容

handleWorkflowStream()

此處理程式與框架無關,能以 AI SDK 相容格式串流執行 Workflow。如需在 Hono 或 Mastra 本身的 apiRoutes 功能以外處理 Workflow 串流,請直接使用此函數。

handleWorkflowStream() 會傳回 ReadableStream,你可以使用 createUIMessageStreamResponse() 將其封裝。

handleWorkflowStream() 會保留現有的 AI SDK v5/預設行為。如果你的應用程式以 AI SDK v6 型別定義,請傳入 version: 'v6'

如果你想在 Mastra 伺服器內建立 Workflow 路由,請使用 workflowRoute()

Workflow 中的 Agent 串流

當 Workflow 步驟將 Agent 的串流傳送至 Workflow writer(例如 await response.fullStream.pipeTo(writer))時,即使 Agent 在 Workflow 步驟內執行,其文字區塊和 Tool 呼叫亦會即時轉送至 UI 串流。

詳情請參閱 Workflow 串流

使用範例
使用範例 的直接連結

Next.js App Router 範例:

app/api/workflow/route.ts
import { handleWorkflowStream } from '@mastra/ai-sdk'
import { createUIMessageStreamResponse } from 'ai'
import { mastra } from '@/src/mastra'

export async function POST(req: Request) {
const params = await req.json()
const stream = await handleWorkflowStream({
mastra,
workflowId: 'weatherWorkflow',
params,
})
return createUIMessageStreamResponse({ stream })
}

參數
參數 的直接連結

version?:

'v5' | 'v6'
= 'v5'
選擇要輸出的 AI SDK 串流合約。如要使用現有預設行為,請省略此項或傳入 'v5'。如果你的應用程式以 AI SDK v6 回應輔助函數的型別定義,請傳入 'v6'

mastra:

Mastra
包含已註冊 Workflow 的 Mastra 實例。

workflowId:

string
要執行的 Workflow ID。

params:

WorkflowStreamHandlerParams
Workflow 串流的參數。

params.runId?:

string
Workflow 執行的選填執行 ID。

params.resourceId?:

string
Workflow 執行的選填資源 ID。

params.inputData?:

Record<string, any>
用於開始新 Workflow 執行的輸入資料。

params.resumeData?:

Record<string, any>
用於恢復已暫停 Workflow 執行的資料。

params.requestContext?:

RequestContext
要傳入 Workflow 執行的請求內容。

params.tracingOptions?:

TracingOptions
追蹤及可觀測性的選項。

params.step?:

string
Workflow 中要指定的特定步驟。

includeTextStreamParts?:

boolean
= true
是否在輸出中包含文字串流部分。
On this page