SuperAPI AI 工具集

maple-nextjs-style

前端与建站

查看项目

更新于 10-16 00:05

技能介绍

用途:为 Next.js / Vercel 应用接入 Maple 的 OpenTelemetry 遥测,统一追踪、日志与指标上报。

主要能力:使用框架入口 instrumentation.ts 配合 @vercel/otel 的 registerOTel 完成引导,内联 Maple 端点(https://ingest.maple.dev,EU 为 https://ingest.eu.maple.dev)与项目级只写摄取密钥,并显式传给 registerOTel,不依赖 OTEL_EXPORTER_OTLP_* 环境变量。可为 LLM 提供商启用 OpenInference 等提供商埋点(如 Anthropic),保持调用点原生,避免手写子 span。自动埋点覆盖不到的路由处理器可用 @opentelemetry/api 的 trace、metrics 手动埋点,用 tracer.startActiveSpan 包裹业务操作并配合 try/catch/finally。日志使用 @opentelemetry/api-logs 发出结构化记录,console.info 不等于 OTLP 日志导出。浏览器端用 @maple-dev/browser 在根布局的客户端组件中 init,仅使用公开密钥(maple_pk_…),服务名需与服务端区分。

使用方式:在 instrumentation.ts 中调用 registerOTel 配置 serviceName、attributes、traceExporter 与日志处理器;路由处理器按需手动埋点;客户端在 app/layout.tsx 渲染 <Maple />(Pages Router 在 pages/_app.tsx 引入)。

限制与注意:@vercel/otel@1.x 用 logRecordProcessor(单数),2.x 用 logRecordProcessors(复数);@opentelemetry/sdk-logs 新旧版本 BatchLogRecordProcessor 参数形式不同,写错会静默丢弃日志,需核对已安装的 .d.ts。非标准 Next/Vercel 应用或已有自定义 provider 时才考虑自定义 NodeSDK。不要重复上报提供商已记录的模型与 token 属性;Maple 不对 token 计价。用仓库已有工具(如 npm run typecheck、npm run build)做冒烟检查,不要臆造依赖 ts-node 的脚本。其余细节资料未提供。