错误信息: error_during_execution: Process failed after 0 turns 堆栈信息: AI_ProviderSpec...

2026年04月28日 11:56 processing

错误信息

错误名称: AI_ProviderSpecificError 错误信息: error_during_execution: Process failed after 0 turns 堆栈信息: AI_ProviderSpecificError: error_during_execution: Process failed after 0 turns at AiSdkToChunkAdapter.convertAndEmitChunk (file:///C:/Users/ZhangEnfan/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:349460:64) at AiSdkToChunkAdapter.readFullStream (file:///C:/Users/ZhangEnfan/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:349251:10) at async AiSdkToChunkAdapter.processStream (file:///C:/Users/ZhangEnfan/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:349213:31) at async fetchAndProcessAgentResponseImpl (file:///C:/Users/ZhangEnfan/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:168067:3) at async file:///C:/Users/ZhangEnfan/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:168254:5 at async file:///C:/Users/ZhangEnfan/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:143162:21 错误原因: { "message": "error_during_execution: Process failed after 0 turns" }

AI 解决方案

报错分析报告

1.错误翻译


原文:error_during_execution: Process failed after 0 turns
译文:执行过程中出错:进程在0轮后失败

2. 原因分析


  • 根本原因:AI提供商的执行进程未进入有效交互轮次即终止,可能因提供商服务异常、请求参数无效或网络中断导致。

  • 具体位置:Cherry Studio的AiSdkToChunkAdapter流处理链(convertAndEmitChunkreadFullStreamprocessStream)中,异步执行fetchAndProcessAgentResponseImpl时触发。
  • 3.解决方案


    // 带重试+超时的AI请求封装(适配JS/TS环境)
    async function safeFetchAI(url, options = {}, retries = 3, timeout = 10000) {
      const controller = new AbortController();
      const timer = setTimeout(() => controller.abort(), timeout);
    
      for (let i = 0; i < retries; i++) {
        try {
          const res = await fetch(url, { ...options, signal: controller.signal });
          clearTimeout(timer);
          if (!res.ok) throw new Error(`HTTP ${res.status}`);
          return res;
        } catch (err) {
          if (i === retries - 1) throw new Error(`AI请求失败(${retries}次重试后): ${err.message}`);
          await new Promise(res => setTimeout(res, 1000 * (i + 1))); // 指数退避
        }
      }
    }
    
    // 使用示例(替换原fetch逻辑)
    try {
      const aiRes = await safeFetchAI("YOUR_AI_ENDPOINT", { method: "POST", body: JSON.stringify(payload) });
      // 后续流处理逻辑...
    } catch (err) {
      console.error("AI请求最终失败:", err.message);
    }
    

    4. 预防措施


  • 最佳实践1:集成AI提供商健康度检查(如调用/health端点),请求前验证服务可用性;

  • 最佳实践2:为流处理操作添加超时控制(如10秒)和指数退避重试(最多3次),避免无限等待。
    • 推荐工具:用axios-retry插件(自动重试)、Prometheus监控提供商端点 latency/错误率。

    ---
    :若问题持续,需优先排查AI提供商的配额、模型权限或地域访问限制。