跳到主要内容

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 })