# 禁用链路追踪功能 ## 问题说明 默认情况下,`cozeloop` 框架会自动发送链路追踪数据到 `https://api.coze.cn/v1/loop/traces/ingest`,用于监控和调试。 如果你不需要这个功能(或者因为认证问题导致失败),可以通过设置环境变量来禁用它。 ## 错误日志示例 ``` HTTP Request: POST https://api.coze.cn/v1/loop/traces/ingest "HTTP/1.1 401 Unauthorized" Call remote service failed. Path: https://api.coze.cn/v1/loop/traces/ingest, remote service error, authentication is invalid ``` ## 解决方案 ### 方法一:在 Dockerfile 中禁用(推荐) 在 `assets/Dockerfile` 中添加以下环境变量: ```dockerfile ENV COZE_API_KEY="Bearer YOUR_KEY" \ LLM_API_KEY="Bearer YOUR_KEY" \ COZE_WORKLOAD_IDENTITY_API_KEY="Bearer YOUR_KEY" \ COZE_INTEGRATION_API_KEY="Bearer YOUR_KEY" \ COZE_WORKSPACE_ID=YOUR_WORKSPACE_ID \ # 禁用 cozeloop 链路追踪 COZE_TRACING_ENABLED=false \ OPT_ENABLE_LONG_REPORT=false ``` ### 方法二:使用 docker-compose 在 `docker-compose.yml` 中添加: ```yaml services: math-correction: environment: - COZE_API_KEY=Bearer YOUR_KEY - LLM_API_KEY=Bearer YOUR_KEY - COZE_WORKLOAD_IDENTITY_API_KEY=Bearer YOUR_KEY - COZE_INTEGRATION_API_KEY=Bearer YOUR_KEY - COZE_WORKSPACE_ID=YOUR_WORKSPACE_ID # 禁用链路追踪 - COZE_TRACING_ENABLED=false - OPT_ENABLE_LONG_REPORT=false ``` ### 方法三:使用 .env 文件 在 `.env` 文件中添加: ```bash # 禁用链路追踪 COZE_TRACING_ENABLED=false OPT_ENABLE_LONG_REPORT=false ``` ## 环境变量说明 | 环境变量 | 默认值 | 说明 | |---------|--------|------| | `COZE_TRACING_ENABLED` | `true` | 是否启用链路追踪 | | `OPT_ENABLE_LONG_REPORT` | `false` | 是否启用长报告(会影响追踪数据量) | ## 验证 禁用后,重新构建并运行容器: ```bash # 重新构建 docker build -f assets/Dockerfile -t math-correction:latest . # 运行容器 docker run -d --name math-correction -p 8000:8000 math-correction:latest # 查看日志,确认不再有 loop/traces/ingest 的错误 docker logs math-correction | grep -i "traces/ingest" ``` 预期结果:没有任何输出(表示追踪已禁用) ## 注意事项 - ✅ 禁用追踪不会影响核心功能 - ✅ 可以减少网络开销 - ✅ 可以避免 401 认证错误 - ⚠️ 禁用后将无法在 Coze 平台查看链路追踪信息 ## 相关库 - `cozeloop==0.1.25`:提供链路追踪功能 - `coze-coding-dev-sdk`:自动集成链路追踪