跳至主要內容

Mastra client SDK

Mastra Client SDK 提供類型安全的介面,用於從使用者端環境與 Mastra Server 互動。

使用範例
「使用範例」的直接連結

lib/mastra/mastra-client.ts
import { MastraClient } from '@mastra/client-js'

export const mastraClient = new MastraClient({
baseUrl: 'http://localhost:4111/',
})

RequestContext
「requestcontext」的直接連結

在 client SDK 中使用 RequestContext 時,請從 @mastra/client-js 匯入。

import { MastraClient, RequestContext } from '@mastra/client-js'

const client = new MastraClient({
baseUrl: 'http://localhost:4111/',
})

const requestContext = new RequestContext()
requestContext.set('userId', 'user-123')

const agent = client.getAgent('support-agent')

const response = await agent.generate('Summarize this ticket', {
requestContext,
})

你也可以將 requestContext 作為 Record<string, any> 傳入。

參數
「參數」的直接連結

baseUrl:

string
Mastra API 的基礎 URL。所有請求都將相對於此 URL 傳送。

retries?:

number
= 3
請求失敗後、擲回錯誤前的重試次數。

backoffMs?:

number
= 300
重試失敗請求前的初始延遲(以毫秒為單位)。每次重試時,此值都會加倍(指數退避)。

maxBackoffMs?:

number
= 5000
最大退避時間(以毫秒為單位)。防止兩次嘗試之間等待過久。

headers?:

Record<string, string>
包含自訂 HTTP 標頭的物件,這些標頭會隨每個請求一起傳送。

credentials?:

"omit" | "same-origin" | "include"
請求的認證資訊模式。更多資訊請參閱 https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials。

方法
「方法」的直接連結

listAgents():

Promise<Record<string, GetAgentResponse>>
傳回所有可用的 Agent 執行個體。

getAgent(agentId):

Agent
透過 ID 取得特定 Agent 執行個體。

listMemoryThreads(params):

Promise<StorageThreadType[]>
取得指定資源和 Agent 的 memory thread。需要 resourceIdagentId

createMemoryThread(params):

Promise<MemoryThread>
使用指定參數建立新的 memory thread。

getMemoryThread({ threadId, agentId }):

MemoryThread
透過 ID 取得特定 memory thread。

saveMessageToMemory(params):

Promise<{ messages: (MastraMessageV1 | MastraDBMessage)[] }>
將一條或多條訊息儲存到 memory 系統。傳回已儲存的訊息。

getMemoryStatus():

Promise<MemoryStatus>
傳回 memory 系統的目前狀態。

listTools():

Record<string, Tool>
傳回所有可用的 Tool。

getTool(toolId):

Tool
透過 ID 取得特定 Tool 執行個體。

listWorkflows():

Record<string, Workflow>
傳回所有可用的 Workflow 執行個體。

getWorkflow(workflowId):

Workflow
透過 ID 取得特定 Workflow 執行個體。

getAgentBuilderActions():

Promise<Record<string, WorkflowInfo>>
傳回所有可用的 Agent Builder action。請參閱 Agent Builder API

getAgentBuilderAction(actionId):

AgentBuilder
透過 ID 取得 Agent Builder action。請參閱 Agent Builder API

responses:

Responses
提供 OpenAI 風格的 Responses API 輔助方法,包括 create()retrieve()stream()delete()

conversations:

Conversations
提供對話輔助方法,包括 create()retrieve()delete()items.list()

getVector(vectorName):

MastraVector
依名稱傳回向量儲存執行個體。

listLogs(params):

Promise<LogEntry[]>
取得與所提供篩選條件相符的系統記錄。

getLog(params):

Promise<LogEntry>
透過 ID 或篩選條件取得特定記錄項目。

listLogTransports():

string[]
傳回已設定記錄 transport 類型的清單。

getTrace(traceId):

Promise<TraceRecord>
透過 ID 取得特定 Trace,包括其所有 span 和詳細資訊。

getTraces(params):

Promise<GetTracesResponse>
取得選用篩選的 Trace 根 span 分頁清單。使用 getTrace() 取得包含所有 span 的完整 Trace。