SuperAPI AI 工具集

otel

智能体与模型

查看项目

更新于 10-16 00:32

技能介绍

用途:为 VS Code 的智能体(Agent)相关体验提供 OpenTelemetry(OTel)开发指引,适用于修改 Agent Host 遥测、本地 Copilot Chat 遥测、提供方原生 span 或指标等场景。

执行面区分:VS Code 存在多条独立 OTel 管线,配置与归属不同。Agent Host 会话(Copilot、Claude、Codex)由 Agent Host 工具进程路由提供方原生遥测,配置前缀 chat.agentHost.otel.,权威文档为 src/vs/platform/agentHost/OTEL.md;本地 Copilot Chat 由扩展宿主与 IOTelService 负责,配置前缀 github.copilot.chat.otel.,文档为 extensions/copilot/docs/monitoring/agent_monitoring.md。两者不可合并,也不可认为一方设置能配置另一方。

架构:Agent Host 是 Copilot、Claude、Codex 会话的当前执行架构,负责路由、可选 trace 拦截与 SQLite 持久化、资源归一化及跨提供方 trace 上下文;扩展宿主 Copilot CLI 源码仅作为 Agent Host 不可用时的回退与旧会话迁移,不应作为新开发范本。Agent Host 有两种路由模式:直通模式(提供方 SDK 直接导出到目标)与 DB 模式(经私有 OTLP/HTTP JSON 回环解码入 SQLite,可再转发;日志与指标绕过 trace 回环)。

运行时版本纪律:Copilot 原生 OTel 信号契约位于 github/copilot-agent-runtime,审计或修改前应读取根 package-lock.json 中 @github/copilot-sdk 与 @github/copilot 版本,解析对应不可变 tag 并阅读该修订的监控参考。

配置与信号:修改 Agent Host 配置需同步更新设置注册、设置 ID、环境变量名与 buildAgentHostOTelEnv(),保持企业托管策略、继承环境、本地设置三个渠道的优先级,并补充测试。改变提供方原生信号应在拥有它的提供方/运行时仓库进行,VS Code 仅在路由、归一化、持久化、父上下文或宿主元数据变化时更新,并分别验证直通与 DB 模式。主机产生的 span 应保留 service.namespace=vscode.agent-host,敏感内容须经内容捕获策略门控。

验证:Agent Host 可用 ./scripts/test.sh --grep "AgentHostOTel|agent host.*OTel" 等;本地 Copilot Chat 在 extensions/copilot/ 下可用 npx tsc --noEmit --project tsconfig.json 与 npm test -- --grep "OTel"。文档变更需检查相对链接、ID 存在性、环境变量一致性、Mermaid 渲染及是否需要不可变提交链接。

限制:不要假定各提供方支持相同 OTLP 协议(Copilot 运行时支持 OTLP/HTTP JSON/protobuf 但不支持 gRPC;Claude 通过启动环境接收配置;Codex 通过 launch-time otel.* 覆盖;Agent Host DB 回环固定为 OTLP/HTTP JSON,外部 protobuf 与 gRPC trace 在 DB 模式下保留本地)。收费、价格与平台信息暂未提供。