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

2026年03月25日 15:58 状态: 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:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:72516:64) at AiSdkToChunkAdapter.readFullStream (file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:72321:10) at async AiSdkToChunkAdapter.processStream (file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:72290:31) at async fetchAndProcessAgentResponseImpl (file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:77258:3) at async file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:77436:5 at async file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:75064:21 错误原因: { "message": "error_during_execution: Process failed after 0 turns" }

🤖 AI解决方案

报错分析报告

1.错误翻译



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

2. 原因分析


  • 根本原因:AI提供商的执行进程未进入有效交互轮次即终止(0轮失败),通常是连接中断、配置无效或超时导致。

  • 发生位置:Cherry Studio的AiSdkToChunkAdapter流转换与处理环节(store-DVdndkM4.js的72290、72321、72516行),涉及流读取与 chunk 转换逻辑。
  • 3. 解决方案


    ``javascript
    // 修复示例1:带超时与重试的AI调用(通用JS)
    async function safeCallAI(provider, input, options = {}) {
    const { maxRetries = 3, timeout = 30000 } = options;
    for (let i = 0; i < maxRetries; i++) {
    try {
    // 增加超时控制
    const response = await Promise.race([
    provider.execute(input),
    new Promise((_, reject) => setTimeout(() => reject(new Error("超时")), timeout))
    ]);
    return response;
    } catch (err) {
    if (i === maxRetries - 1 || !err.message.includes("0 turns")) throw err;
    console.warn(
    重试第${i+1}次...);
    }
    }
    }

    // 修复示例2:配置校验(调用前必做)
    function validateProviderConfig(config) {
    if (!config.apiKey?.trim() || !config.endpoint?.startsWith("https://")) {
    throw new Error("提供商配置错误:缺失有效API密钥或端点");
    }
    }
    `

    4. 预防措施


  • 最佳实践1:用配置管理工具(如dotenv)集中存储提供商密钥,调用前通过 schema 校验(如zod)必填项。

  • 最佳实践2:集成流监控工具(如OpenTelemetry)跟踪AiSdkToChunkAdapter`的流状态,提前捕获“0轮”异常。

  • 推荐工具:Postman(测试提供商端点连通性)、Sentry(捕获流处理错误上下文)。
  • ---
    分析基于报错堆栈与错误语义,聚焦流处理与提供商交互的核心问题。