SuperAPI AI 工具集

maple-agent-tracing-openrouter

智能体与模型

查看项目

更新于 10-16 00:05

技能介绍

用途:把应用的 OpenRouter 调用接入 Maple 追踪,让每段对话对应一个 Maple Agent Session,并记录每次模型调用的 token、成本(gen_ai.usage.total_cost,即 OpenRouter 实际扣费)以及提示与补全。机制是 OpenRouter Broadcast 在 OpenRouter 后台配置后,按请求导出 OTLP/HTTP JSON 追踪,Maple 读取 session.id 作为会话键;session.id 来自请求体 session_id 或 x-session-id 头。用户无法改 OpenRouter 后台,需要改应用调用并自行在后台填写目标设置。

主要能力与用法:先定位所有 OpenRouter 调用点与每请求的对话 id;再在各客户端为每个请求发送 session_id(同一对话同一值,最长 256 字符)。openai npm 可在请求体加 session_id,或用 x-session-id 头;openai PyPI 用 extra_body={"session_id": ...};Vercel AI SDK 用 providerOptions.openrouter.session_id;其他客户端找 extra-body 或请求头选项。若应用本身已向 Maple 导出 OTel,需用当前 span 的 W3C id 填入 trace.trace_id 与 trace.parent_span_id,否则调用会被重复计数。后台目标地址为 https://ingest.maple.dev/v1/traces(EU 为 https://ingest.eu.maple.dev/v1/traces),头为 Authorization=Bearer <key>;无密钥时可用 MAPLE_TEST 测试连接。采样率建议 1。完成后用多轮对话验证是否一对话一 Session、无重复计数。

限制:Broadcast 不提供工具 span、工具失败与 agent/子 agent 名称,需应用框架自身埋点;工具计数为 0 属预期。无 session_id 时每次调用单独成 session。Broadcast 仅支持 OTLP over HTTP JSON,无需 collector,服务端导出后约一分钟延迟;Maple 不读取 trace.metadata.openrouter.first_token_ms,TTFT、环境与工具/agent 信息不可用。切勿把 maple_sk_ 私钥放入浏览器代码,也不要在 session_id 或 user 中放邮箱姓名。