Agent.getMetadata()
.getMetadata() 方法用于获取为 Agent 配置的元数据;如果元数据是函数,则会解析该函数。你可以使用元数据在客户端中对 Agent 进行分类,而无需将这些数据编码到 Agent ID 或名称中。
用法示例用法示例的直接链接
await agent.getMetadata()
参数参数的直接链接
options?:
{ requestContext?: RequestContext }
= {}
包含请求上下文的可选配置对象。
{ requestContext?: RequestContext }
requestContext?:
RequestContext
传递给动态元数据函数的 Request Context。元数据为静态值时会忽略此参数。
返回值返回值的直接链接
metadata:
Record<string, unknown> | Promise<Record<string, unknown>>
为 Agent 配置的元数据;如果未配置元数据,则为
undefined。如果将元数据定义为函数,可以直接返回元数据,也可以返回一个解析为元数据的 promise。扩展用法示例扩展用法示例的直接链接
静态元数据:
src/mastra/agents/support-agent.ts
import { Agent } from '@mastra/core/agent'
export const supportAgent = new Agent({
id: 'support-agent',
name: 'Support Agent',
instructions: 'You help customers with support requests.',
model: 'openai/gpt-5.6-sol',
metadata: { type: 'support' },
})
const metadata = supportAgent.getMetadata()
从请求上下文解析的动态元数据:
src/mastra/agents/support-agent.ts
import { Agent } from '@mastra/core/agent'
export const supportAgent = new Agent({
id: 'support-agent',
name: 'Support Agent',
instructions: 'You help customers with support requests.',
model: 'openai/gpt-5.6-sol',
metadata: ({ requestContext }) => ({
type: 'support',
tenant: requestContext.get('tenant'),
}),
})
const metadata = await supportAgent.getMetadata({ requestContext })