错误信息: error_during_execution: Process failed after 0 turns 堆栈信息: AI_ProviderSpec...
🚨 错误信息
错误名称: 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. 原因分析
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轮”异常。 ---
分析基于报错堆栈与错误语义,聚焦流处理与提供商交互的核心问题。