Mastra.addDynamicWorkflow()
beta
動態 Workflow 目前處於 beta 階段。在 API 穩定之前,可能會出現不伴隨主要版本升級的破壞性變更。
.addDynamicWorkflow() 方法會驗證動態 Workflow 定義,並將其作為即時 Workflow 註冊至實例,同時透過 workflowDefinitions 儲存域持久保存。註冊後,此 Workflow 可像任何其他 Workflow 一樣,透過 getWorkflow() 執行。
如需完整設定範例,請參閱動態 Workflow;如需了解可接受的欄位及圖表項目,請參閱動態 Workflow 定義參考。
使用範例使用範例 的直接連結
await mastra.addDynamicWorkflow({
id: 'greeting-workflow',
description: 'Returns a greeting for the supplied name',
inputSchema: {
type: 'object',
properties: { name: { type: 'string' } },
required: ['name'],
},
outputSchema: {
type: 'object',
properties: { message: { type: 'string' } },
required: ['message'],
},
graph: [
{
type: 'mapping',
id: 'create-greeting',
mapConfig: JSON.stringify({
message: { template: 'Hello, ${initData.name}!' },
}),
},
],
})
const run = await mastra.getWorkflow('greeting-workflow').createRun()
const result = await run.start({ inputData: { name: 'Ada' } })
參數參數 的直接連結
def:
DynamicWorkflowGraph
Workflow 定義:id、可選的 description 及 metadata、JSON Schema 輸入/輸出 schema、可選的狀態及請求內容 schema,以及步驟圖表。
傳回值傳回值 的直接連結
一個 Promise,在定義完成驗證、註冊及持久保存後 resolve。
行為行為 的直接連結
- 在修改任何內容之前,會完整驗證定義(結構、引用及 schema 流程)。圖表所引用的 Agent、Tool 及 Workflow 必須已在實例上註冊。
- 加入具有現有 ID 的定義時,會同時取代已儲存的定義及即時註冊。執行中的 run 會保留啟動時所用的圖表。
- 如果沒有支援
workflowDefinitions儲存域的儲存配接器,Workflow 仍會經過驗證並在記憶體中註冊,但重新啟動後定義便會遺失。 - 如要同時加入根 Workflow 及其巢狀包含的輔助 Workflow,請使用
addDynamicWorkflows()。
相關內容相關內容 的直接連結
- Mastra.addDynamicWorkflows():加入按相依次序排列的定義組合
- Mastra.getWorkflow():擷取已註冊的 Workflow
- 動態 Workflow:設定及使用動態 Workflow
- 動態 Workflow 定義:定義欄位及圖表項目