> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/llms.txt # handleWorkflowStream() 這是與框架無關的處理器,可用於以 AI SDK 相容格式串流 Workflow 執行作業。當你需要在 Hono 或 Mastra 本身的 [apiRoutes](https://mastra.zisheng.pro/zh-TW/docs/server/custom-api-routes) 功能之外處理 Workflow 串流時,請直接使用此函式。 `handleWorkflowStream()` 會傳回 `ReadableStream`,你可以使用 [`createUIMessageStreamResponse()`](https://ai-sdk.dev/docs/reference/ai-sdk-ui/create-ui-message-stream-response) 將其包裝。 `handleWorkflowStream()` 會保留現有的 AI SDK v5/預設行為。如果你的應用程式使用 AI SDK v6 型別,請傳入 `version: 'v6'`。 如果想在 Mastra 伺服器內建立 Workflow 路由,請使用 [`workflowRoute()`](https://mastra.zisheng.pro/zh-TW/reference/ai-sdk/workflow-route)。 > **Workflow 中的 Agent 串流:** 當 Workflow 步驟將 Agent 的串流管線傳送至 Workflow 寫入器(例如 `await response.fullStream.pipeTo(writer)`)時,即使 Agent 在 Workflow 步驟內執行,其文字區塊與 Tool 呼叫也會即時轉送至 UI 串流。 > > 詳情請參閱 [Workflow 串流](https://mastra.zisheng.pro/zh-TW/docs/workflows/overview)。 ## 使用範例 Next.js App Router 範例: ```typescript 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'`): 選擇要輸出的 AI SDK 串流契約。省略此參數或傳入 'v5',即可使用現有的預設行為。當你的應用程式使用 AI SDK v6 回應輔助函式的型別時,請傳入 'v6'。 (Default: `'v5'`) **mastra** (`Mastra`): 包含已註冊 Workflow 的 Mastra 執行個體。 **workflowId** (`string`): 要執行的 Workflow ID。 **params** (`WorkflowStreamHandlerParams`): Workflow 串流的參數。 **params.runId** (`string`): Workflow 執行作業的選用執行 ID。 **params.resourceId** (`string`): Workflow 執行的選用資源 ID。 **params.inputData** (`Record`): 用於開始新 Workflow 執行作業的輸入資料。 **params.resumeData** (`Record`): 用於繼續已暫停 Workflow 執行作業的資料。 **params.requestContext** (`RequestContext`): 要傳遞至 Workflow 執行作業的請求內容。 **params.tracingOptions** (`TracingOptions`): 追蹤與可觀測性的選項。 **params.step** (`string`): Workflow 中要指定的特定步驟。 **includeTextStreamParts** (`boolean`): 是否在輸出中包含文字串流部分。 (Default: `true`)