跳至主要內容

Laminar Exporter

Laminar 是一個開放原始碼、原生支援 OpenTelemetry 的 AI Agent Observability 平台。只要在 Observability 設定中接上一個 MastraExporter,即可追蹤、除錯及監控每次 Mastra Agent 執行、模型步驟、Tool 呼叫與子 Agent。

安裝
「安裝」的直接連結

npm install @lmnr-ai/lmnr

設定
「設定」的直接連結

必要條件
「必要條件」的直接連結

  1. Laminar 專案:在 Laminar 中建立或選取專案
  2. 專案 API Key:從 Laminar Project Settings 複製
  3. 環境變數:設定你的憑證
.env
# Required
LMNR_PROJECT_API_KEY=lmnr_...

# Optional
LMNR_BASE_URL=https://api.lmnr.ai

零設定
「零設定」的直接連結

設定環境變數後,即可使用不帶任何設定的 Exporter:

src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { Observability } from '@mastra/observability'
import { Laminar, MastraExporter } from '@lmnr-ai/lmnr'

Laminar.initialize()

export const mastra = new Mastra({
observability: new Observability({
configs: {
laminar: {
serviceName: 'my-service',
exporters: [new MastraExporter()],
},
},
}),
})

明確設定
「明確設定」的直接連結

你也可以直接傳入憑證(優先於環境變數):

src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { Observability } from '@mastra/observability'
import { Laminar, MastraExporter } from '@lmnr-ai/lmnr'

Laminar.initialize({
projectApiKey: process.env.LMNR_PROJECT_API_KEY!,
baseUrl: process.env.LMNR_BASE_URL, // Optional
// ...other options
})

export const mastra = new Mastra({
observability: new Observability({
configs: {
laminar: {
serviceName: 'my-service',
exporters: [
new MastraExporter({
realtime: process.env.NODE_ENV === 'development', // Optional
}),
],
},
},
}),
})
備註

如需完整的 MastraExporter 選項與多 Agent Trace 範例等進階用法,請參閱 Laminar 的 Mastra 整合指南

Mastra 也在 @mastra/laminar 中提供獨立的 LaminarExporter,可透過 OTLP/HTTP 傳送 span。它無法繼承啟用中的 OTel context,也無法將 Mastra span 完整對應至 Laminar 的原生格式。因此,如需 observe() wrapper、多 Agent root span 與準確的 Laminar 呈現結果,請使用上述 @lmnr-ai/lmnr 整合。