> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/llms.txt # Mastra.addDynamicWorkflows() > **Beta:** 動態 Workflow 目前為測試版。在 API 穩定之前,即使沒有提升主要版本,也可能會有重大變更。 `.addDynamicWorkflows()` 方法會加入一組可互相參照的動態 Workflow 定義。典型情況是一個根 Workflow 加上其巢狀使用的輔助 Workflow,而所有定義均尚未存在。 系統會預先驗證整組定義,然後按依賴次序登錄成員,確保輔助 Workflow 總會在巢狀使用它的 Workflow 之前就緒。 [`addDynamicWorkflow()`](https://mastra.zisheng.pro/zh-HK/reference/core/addDynamicWorkflow) 適用於只有單一成員的情況。 ## 使用範例 ```typescript await mastra.addDynamicWorkflows([ helperDefinition, // nested by the root — order in the array doesn't matter rootDefinition, // graph contains { type: 'workflow', workflowId: helperDefinition.id } ]) ``` ## 參數 **defs** (`readonly DynamicWorkflowGraph[]`): 要加入的 Workflow 定義。巢狀 Workflow 參照可從即時登錄或同一組定義的其他成員中解析。 ## 傳回值 傳回一個 Promise,在每個成員均完成驗證、登錄及持久保存後解析。 ## 行為 - 參照會根據實例登錄與該組定義本身 ID 的聯集進行解析,因此根 Workflow 可巢狀使用在同一次呼叫中引入的輔助 Workflow。登錄次序由依賴關係圖決定,而非陣列次序。 - 被拒絕的整組定義不會登錄任何內容。系統會在變更任何內容前偵測重複 ID、無效成員及循環依賴;如果登錄或持久保存途中失敗,記憶體內的登錄會還原至先前狀態。 - 最後才會寫入儲存空間。如果在處理整組定義期間發生儲存層級故障,部分資料列可能已寫入,但登錄仍會回復原狀,而這些孤立資料列在下次啟動前不會生效。 ## 相關內容 - [Mastra.addDynamicWorkflow()](https://mastra.zisheng.pro/zh-HK/reference/core/addDynamicWorkflow):加入單一定義 - [動態 Workflow](https://mastra.zisheng.pro/zh-HK/docs/workflows/dynamic-workflows):設定及使用動態 Workflow - [動態 Workflow 定義](https://mastra.zisheng.pro/zh-HK/reference/workflows/dynamic-workflow-definition):定義欄位及關係圖項目