用途:把仓库中每个应用和服务接入 Maple,通过原生 OpenTelemetry 采集 traces、logs、metrics 并发送到 Maple。触发场景如“安装 Maple 遥测”。
主要能力:先读 maple-onboarding-style,再按技术栈读对应技能(maple-nextjs-style、maple-nodejs-style、maple-python-style、maple-effect-style、maple-go-style、maple-rust-style、maple-java-style、maple-csharp-style、maple-kotlin-style);未安装时从 https://raw.githubusercontent.com/MapleTechLabs/maple/main/skills/<skill-name>/SKILL.md 获取所需项。调用 LLM 的服务另加 maple-agent-tracing。
区域与密钥:US 用 https://ingest.maple.dev、https://app.maple.dev、https://api.maple.dev/mcp;EU 用 https://ingest.eu.maple.dev、https://app.eu.maple.dev、https://api.eu.maple.dev/mcp。密钥按区域有效,跨区返回 401。端点与 ingest key 内联进引导源码,不用 .env 或 process.env。公钥 maple_pk_ 可用于浏览器与移动端,私钥 maple_sk_ 仅限服务端。无密钥时内联 MAPLE_TEST 占位,两区均返回 200 且不存储。
流程:枚举工作区清单与 apps/、services/ 中的服务;用各语言原生 SDK 引导(Node 用 @opentelemetry/sdk-node,Next.js 服务端用 @vercel/otel 的 instrumentation.ts,浏览器用 @maple-dev/browser,Expo/React Native 用 @opentelemetry/sdk-trace-web,Python 用 opentelemetry-sdk 等);引导须在任何框架导入前运行,使用 HTTP OTLP 导出器而非 gRPC;服务端设置 service.name、service.version、deployment.environment.name、vcs.repository.url.full 等资源属性;不使用包装 API;保留现有可观测性厂商。随后添加业务 span、结构化且带 trace 关联的日志、低基数指标,并逐服务验证启动与导出。
限制:不修改项目根目录外文件,不提交、推送或开 PR;不把私钥放入浏览器或移动端代码;不擅自移除已有可观测性厂商;若插桩导致构建或启动失败需修复或报告。MCP 连接命令:claude mcp add --transport http maple <mcp>;Codex 用 codex mcp add maple --url <mcp>。