ChunkType
ChunkType 类型定义 Agent 在 Stream 响应期间可发出的 Mastra Chunk 格式。
基本属性基本属性的直接链接
所有 Chunk 都包含以下基本属性:
type:
runId:
from:
AGENT:
USER:
SYSTEM:
WORKFLOW:
文本Chunk文本Chunk的直接链接
text-starttext-start的直接链接
表示文本生成开始。
type:
payload:
id:
providerMetadata?:
text-deltatext-delta的直接链接
生成期间逐步产生的文本内容。
type:
payload:
id:
text:
providerMetadata?:
text-endtext-end的直接链接
表示文本生成结束。
type:
payload:
id:
providerMetadata?:
推理Chunk推理Chunk的直接链接
reasoning-startreasoning-start的直接链接
表示推理生成开始(适用于支持推理的模型)。
type:
payload:
id:
signature?:
providerMetadata?:
reasoning-deltareasoning-delta的直接链接
生成期间逐步产生的推理文本。
type:
payload:
id:
text:
providerMetadata?:
reasoning-endreasoning-end的直接链接
表示推理生成结束。
type:
payload:
id:
signature?:
providerMetadata?:
reasoning-signaturereasoning-signature的直接链接
包含支持进阶推理的模型(例如 OpenAI o1 系列)所产生的推理签署。签署代表模型内部推理过程的元数据,例如投入程度或推理方式,但不包含实际推理内容。
type:
payload:
id:
signature:
providerMetadata?:
Tool ChunkTool Chunk的直接链接
tool-calltool-call的直接链接
正在调用 Tool。
type:
payload:
toolCallId:
toolName:
args?:
providerExecuted?:
output?:
providerMetadata?:
tool-resulttool-result的直接链接
Tool 执行结果。
type:
payload:
toolCallId:
toolName:
result:
isError?:
providerExecuted?:
args?:
providerMetadata?:
tool-call-input-streaming-starttool-call-input-streaming-start的直接链接
表示开始以Stream方式传送 Tool 调用参数。
type:
payload:
toolCallId:
toolName:
providerExecuted?:
dynamic?:
providerMetadata?:
tool-call-deltatool-call-delta的直接链接
Stream期间逐步产生的 Tool 调用参数。
type:
payload:
argsTextDelta:
toolCallId:
toolName?:
providerMetadata?:
tool-call-input-streaming-endtool-call-input-streaming-end的直接链接
表示结束以Stream方式传送 Tool 调用参数。
type:
payload:
toolCallId:
providerMetadata?:
tool-errortool-error的直接链接
执行 Tool 时发生错误。
type:
payload:
id?:
toolCallId:
toolName:
args?:
error:
providerExecuted?:
providerMetadata?:
来源及文档Chunk来源及文档Chunk的直接链接
sourcesource的直接链接
包含内容的来源数据。
type:
payload:
id:
sourceType:
title:
mimeType?:
filename?:
url?:
providerMetadata?:
filefile的直接链接
包含文档数据。
type:
payload:
data:
base64?:
mimeType:
providerMetadata?:
控制Chunk控制Chunk的直接链接
startstart的直接链接
表示Stream开始。
type:
payload:
[key: string]:
step-startstep-start的直接链接
表示处理步骤开始。
type:
payload:
messageId?:
request:
warnings?:
step-finishstep-finish的直接链接
表示处理步骤完成。
type:
payload:
id?:
messageId?:
stepResult:
output:
metadata:
totalUsage?:
response?:
providerMetadata?:
rawraw的直接链接
包含 Provider 的原始数据。
type:
payload:
[key: string]:
finishfinish的直接链接
Stream已成功完成。
type:
payload:
stepResult:
output:
metadata:
messages:
response:
errorerror的直接链接
Stream期间发生错误。
type:
payload:
error:
abortabort的直接链接
Stream已中止。
type:
payload:
[key: string]:
对象及输出Chunk对象及输出Chunk的直接链接
objectobject的直接链接
使用已定义结构描述生成输出时发出。包含符合指定 Zod 或 JSON 结构描述的部分或完整结构化数据。在部分执行上下文中通常会略过此Chunk;此Chunk用于以Stream方式生成结构化对象。
type:
object:
tool-outputtool-output的直接链接
包含 Agent 或 Workflow 执行输出,尤其用于追踪用量统计数据及完成事件。它通常会包装其他Chunk类型(例如 finish Chunk),以提供嵌套执行上下文。
type:
payload:
output:
step-outputstep-output的直接链接
包含 Workflow 步骤执行输出,主要用于追踪用量及步骤完成事件。它与 tool-output 相似,但专门用于个别 Workflow 步骤。
type:
payload:
output:
背景任务Chunk背景任务Chunk的直接链接
当 Tool 调用以背景任务方式派送,并使用 streamUntilIdle() 时发出。
background-task-startedbackground-task-started的直接链接
当 Tool 调用排入背景任务队列并获指派 taskId 时发出。
type:
payload:
taskId:
toolName:
toolCallId:
background-task-runningbackground-task-running的直接链接
当 worker 接手任务并开始执行时发出。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
startedAt:
args:
execute 函数的参数background-task-progressbackground-task-progress的直接链接
定期提供 Agent 中目前执行之背景任务数目的快照。
type:
payload:
taskIds:
runningCount:
elapsedMs:
background-task-outputbackground-task-output的直接链接
由任务的 execute 函数发出的Stream输出 chunk,包装了一个内部 tool-output chunk。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
payload:
background-task-completedbackground-task-completed的直接链接
任务成功完成时发出。由 Agent.streamUntilIdle() 取用时会触发延续回合。
type:
payload:
taskId:
toolName:
toolCallId:
agentId:
runId:
result:
completedAt:
isError?:
background-task-failedbackground-task-failed的直接链接
任务抛回例外或超时时发出。由 Agent.streamUntilIdle() 取用时会触发延续回合。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
error:
completedAt:
background-task-suspendedbackground-task-suspended的直接链接
当 Tool 在背景执行期间调用 suspend() 时发出。它会暂停任务的 Workflow 执行并保留快照。请使用 mastra.backgroundTaskManager.resume(taskId, resumeData) 恢复。
由 Agent.streamUntilIdle() 取用时,此Chunk会将任务从循圈的等待集合移除,而不会排入延续操作。Agent 回应随即结束;恢复后的任务最终完成时,结果会加入下一个用户回合的消息清单。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
suspendData?:
suspend(data) 的任何数据background-task-resumedbackground-task-resumed的直接链接
通过 mastra.backgroundTaskManager.resume(taskId, resumeData) 恢复已暂停的任务时发出。任务会转回 running,并以已填入的 resumeData 重新启动 Tool 的 execute。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
startedAt:
args:
background-task-cancelledbackground-task-cancelled的直接链接
任务在完成前遭取消时发出。由 Agent.streamUntilIdle() 取用时会触发延续回合。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
completedAt:
元数据及特殊Chunk元数据及特殊Chunk的直接链接
response-metadataresponse-metadata的直接链接
包含 LLM Provider 回应的元数据。部分 Provider 会在文本生成后发出此Chunk,以提供模型 ID、时间戳记及回应标头等额外上下文。此Chunk在内部用于追踪状态,不会影响消息组合。
type:
payload:
signature?:
[key: string]:
watchwatch的直接链接
包含 Agent 执行的监察及可观测性数据。视乎使用 stream() 的上下文,可包括 Workflow 状态数据、执行进度或其他执行阶段详情。
type:
payload:
workflowState?:
eventTimestamp?:
[key: string]:
goalgoal的直接链接
每次评估 Agent goal 时发出。取用者会用它在执行期间呈现评审进度及结果。未设定评审模型的目标不会产生 goal Chunk。
type:
payload:
objective:
iteration:
maxRuns:
passed:
status:
results:
reason?:
duration:
timedOut:
maxRunsReached:
suppressFeedback:
tripwiretripwire的直接链接
当处理器封锁内容而强制终止Stream时发出。这是一项安全机制,可避免Stream传送有害或不当内容。payload包含内容遭封锁的原因,以及是否已要求重试。
type:
payload:
reason:
retry?:
metadata?:
processorId?:
使用范例使用范例的直接链接
const stream = await agent.stream('Hello')
for await (const chunk of stream.fullStream) {
switch (chunk.type) {
case 'text-delta':
console.log('Text:', chunk.payload.text)
break
case 'tool-call':
console.log('Calling tool:', chunk.payload.toolName)
break
case 'tool-result':
console.log('Tool result:', chunk.payload.result)
break
case 'reasoning-delta':
console.log('Reasoning:', chunk.payload.text)
break
case 'finish':
console.log('Finished:', chunk.payload.stepResult.reason)
console.log('Usage:', chunk.payload.output.usage)
break
case 'error':
console.error('Error:', chunk.payload.error)
break
}
}
相关类型相关类型的直接链接
- .stream():传回会发出这些Chunk之Stream的方法
- MastraModelOutput:发出这些Chunk的Stream对象
- workflow.stream():传回会为 Workflow 发出这些Chunk之Stream的方法