SuperAPI AI 工具集

maple-agent-tracing-vercel-ai-sdk

智能体与模型

查看项目

更新于 10-16 00:05

技能介绍

用途:把 Vercel AI SDK 的智能体调用接入 Maple 追踪,实现一次对话对应一个 Maple Agent Session,每次 generate()/stream() 调用为一个 turn,并记录对话记录、模型调用(模型、token、TTFT)、工具调用(名称、参数、结果、失败)以及每个子智能体的独立泳道。

主要能力:通过 @ai-sdk/otel 的 OpenTelemetry 集成与 registerTelemetry() 采集 AI SDK 的 span;支持 Node.js 与 Next.js 两种初始化方式;用 runtimeContext 与 telemetry.includeRuntimeContext 传递 conversationId 作为会话标识;支持工具失败、子智能体、流式响应与刷新(shutdown/forceFlush)等场景。

使用方式:要求 ai >= 7.0.106、Node.js >= 22。安装 npm install ai@^7.0.106 @ai-sdk/otel @opentelemetry/sdk-node(Next.js 用 @vercel/otel)。配置 OTEL_SERVICE_NAME、OTEL_EXPORTER_OTLP_ENDPOINT(美国 https://ingest.maple.dev,欧盟 https://ingest.eu.maple.dev)与 Authorization=Bearer <key>,在入口首行引入 instrumentation,并调用 registerTelemetry(new OpenTelemetry({ usage: true, runtimeContext: true }))。每个属于对话的调用需传 runtimeContext: { conversationId } 和 telemetry.includeRuntimeContext: { conversationId: true }。

限制:AI SDK 不提供成本,Maple 显示为 unpriced;AI SDK 5/6 的最终助手回复不会出现在对话记录中。内容默认记录且不脱敏,敏感调用可用 recordInputs/recordOutputs: false。不要重复注册 OpenTelemetry 或第二个 AI SDK tracer,否则 span 会重复。缺少 key 时导出禁用,应用仍可运行。具体平台与效果以实际环境为准。