错误信息: Failed after 3 attempts. Last error: No available channel for model gpt-im...
错误信息
错误名称: AI_RetryError
错误信息: Failed after 3 attempts. Last error: No available channel for model gpt-image-2 under group Claude-Code (distributor) (request id: 202604240814457853992778268d9d66lxq4CrT)
堆栈信息: AI_RetryError: Failed after 3 attempts. Last error: No available channel for model gpt-image-2 under group Claude-Code (distributor) (request id: 202604240814457853992778268d9d66lxq4CrT)
at _retryWithExponentialBackoff (file:///D:/AppSpace/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:100699:37)
at async Promise.all (index 0)
at async generateImage (file:///D:/AppSpace/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:105389:18)
at async PluginEngine.executeImageWithPlugins (file:///D:/AppSpace/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:153177:19)
at async AiProvider.modernGenerateImage (file:///D:/AppSpace/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:352391:18)
at async AiProvider.generateImage (file:///D:/AppSpace/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:352377:10)
at async fetchImageGeneration (file:///D:/AppSpace/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:352641:17)
at async transformMessagesAndFetch (file:///D:/AppSpace/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:352507:4)
at async fetchAndProcessAssistantResponseImpl (file:///D:/AppSpace/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:168185:3)
at async file:///D:/AppSpace/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:168277:6
错误原因: "[undefined]"
AI 解决方案
报错分析报告
1.错误翻译
原文:No available channel for model gpt-image-2 under group Claude-Code (distributor)
译文:在分发组Claude-Code下,模型gpt-image-2没有可用通道
2. 原因分析
gpt-image-2在分发组Claude-Code中无可用服务通道,重试3次后失败。 generateImage函数时,系统尝试通过_retryWithExponentialBackoff重试获取模型通道,最终因无可用资源触发AI_RetryError。 PluginEngine.executeImageWithPlugins),模型与分发组配置不匹配或服务未就绪。3.解决方案
// 修复思路:验证模型可用性 + fallback到备用模型
async function safeGenerateImage(prompt, model = "gpt-image-2", group = "Claude-Code") {
try {
// 1. 先检查模型在分组下的可用性(需调用DMXAPI的模型状态接口)
const modelStatus = await checkModelAvailability(model, group);
if (!modelStatus.available) throw new Error(`Model ${model} unavailable in ${group}`);
// 2. 执行图像生成(原逻辑)
return await generateImage(prompt, model);
} catch (error) {
// 3. Fallback到备用模型(示例:替换为组内可用模型)
console.warn(`Fallback to backup model: claude-3-sonnet`);
return await generateImage(prompt, "claude-3-sonnet");
}
}
// 辅助函数:检查模型可用性(需对接DMXAPI的/models/status接口)
async function checkModelAvailability(model, group) {
const res = await fetch(`https://api.dmxapi.com/v1/models/${group}/status`);
const data = await res.json();
return { available: data.models.includes(model) };
}
4. 预防措施
/models/{group}/list接口验证模型是否在目标分组内可用,避免硬编码无效模型。 gpt-image-2,失败时自动切claude-3-haiku),提升鲁棒性。 curl定期探测模型端点:curl https://api.dmxapi.com/v1/models/gpt-image-2/health。