> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/llms.txt # Workflow Mastra 會在 `src/mastra/workflows/` 下的 `.ts` 和 `.js` 檔案中探索項目層級的 Workflow。此慣例不限於單一 Agent:每個含有預設匯出的檔案都會成為已註冊的 Workflow,而檔案名稱會成為 Workflow 的鍵。 本頁說明檔案式慣例。如需了解步驟、結構描述、控制流程、串流、狀態及 Workflow 執行,請參閱 [Workflow 概覽](https://mastra.zisheng.pro/zh-HK/docs/workflows/overview)。 ## 快速開始 在 `src/mastra/workflows/` 下建立檔案,使用 [`createWorkflow()`](https://mastra.zisheng.pro/zh-HK/reference/workflows/workflow) 建立 Workflow,然後將其預設匯出。 ```typescript import { createStep, createWorkflow } from '@mastra/core/workflows' import { z } from 'zod' const collectInputs = createStep({ id: 'collect-inputs', inputSchema: z.object({ topic: z.string() }), outputSchema: z.object({ topic: z.string(), audience: z.string() }), execute: async ({ inputData }) => ({ topic: inputData.topic, audience: 'engineering', }), }) const writeSummary = createStep({ id: 'write-summary', inputSchema: z.object({ topic: z.string(), audience: z.string() }), outputSchema: z.object({ report: z.string() }), execute: async ({ inputData }) => ({ report: `Daily report about ${inputData.topic} for ${inputData.audience}.`, }), }) const dailyReport = createWorkflow({ id: 'daily-report', inputSchema: z.object({ topic: z.string() }), outputSchema: z.object({ report: z.string() }), }) .then(collectInputs) .then(writeSummary) .commit() export default dailyReport ``` Mastra 會以 `daily-report` 鍵註冊此 Workflow。 ## 與程式碼設定的優先次序 檔案式 Workflow 會與在 [`new Mastra()`](https://mastra.zisheng.pro/zh-HK/reference/core/mastra-class) 中註冊的 Workflow 合併。如果鍵發生衝突,以程式碼註冊的 Workflow 優先。