SuperAPI AI 工具集

maple-agent-tracing-claude-agent-sdk

智能体与模型

查看项目

更新于 10-16 00:05

技能介绍

用途:用 Maple 追踪 Claude Agent SDK(TypeScript 与 Python)智能体,以及 Claude Code CLI 交互会话。目标是一次对话对应一个 Maple Agent Session,每条用户消息一个 turn,并记录用户提示、每次模型调用(模型、token、TTFT)和每次工具调用(名称、参数、结果、失败)。

主要能力:Agent SDK 自身不产生遥测;query() 会启动 Claude Code CLI,后者内置 OpenTelemetry,导出 claude_code.interaction(turn)、claude_code.llm_request(模型调用)、claude_code.tool(工具调用)及其阶段子跨度。全部配置都是给该子进程设置环境变量,无需插桩包或 TracerProvider。

必要用法:先检测使用面(TS 需 @anthropic-ai/claude-agent-sdk >= 0.3.283,Python 需 claude-agent-sdk >= 0.2.160,CLI 需 claude --version >= 2.1.283)。端点美国为 https://ingest.maple.dev,欧盟为 https://ingest.eu.maple.dev,请求头 Authorization=Bearer <key>,密钥按区域绑定;无真实密钥可用字面量 MAPLE_TEST(会被接收并丢弃)。TS 侧 npm install @anthropic-ai/claude-agent-sdk@latest zod,并在每次 query() 传入 env: mapleEnv()(需展开 process.env、删除继承的 TRACEPARENT/TRACESTATE);Python 侧 pip install -U claude-agent-sdk,传 env=maple_env()。CLI 自身会话则把 env 块合并进 ~/.claude/settings.json(不要写进仓库 .claude/settings.json),随后需新开会话。会话分组:无 resume 的每次 query() 都是新会话,应保存 UUID,首轮 sessionId/session_id,后续 resume;ClaudeSDKClient 或异步迭代 prompt 本身保持单会话。

限制:助手回复文本与成本只存在于 OTLP 日志事件,Maple 会话视图不读取,因此没有助手文本且显示 unpriced;无 gen_ai.agent.name,子智能体没有独立泳道;工具参数仅对 Bash 与 Read/Edit/Write 显示。启用内容采集(OTEL_LOG_USER_PROMPTS、OTEL_LOG_TOOL_DETAILS、OTEL_LOG_TOOL_CONTENT)会发送文件内容与命令输出,生产环境需先确认合规约束。不要启用 ENABLE_BETA_TRACING_DETAILED/BETA_TRACING_ENDPOINT;不要设置 OTEL_METRICS_INCLUDE_SESSION_ID=false。验证需消耗 query() 循环至结束并保留导出间隔 1000,脚本退出前等待约 5 秒。其余细节如自定义 CLI 路径、多主机 sessionStore、具体平台差异,资料未提供或需按上述步骤确认。