错误信息: 堆栈信息: AI_APICallError at file:///D:/Program%20Files/Cherry%20Studio/resour...
🚨 错误信息
错误名称: AI_APICallError
错误信息:
堆栈信息: AI_APICallError
at file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-Cz6miDbB.js:345:11
at async postToApi (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-Cz6miDbB.js:278:24)
at async OpenAICompatibleChatLanguageModel.doStream (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-Cz6miDbB.js:766:48)
at async wrapStream (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-C63Bp9Zw.js:38683:32)
at async fn (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-C63Bp9Zw.js:36874:17)
at async file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-C63Bp9Zw.js:34261:19
at async _retryWithExponentialBackoff (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-C63Bp9Zw.js:34363:10)
at async streamStep (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-C63Bp9Zw.js:36842:108)
at async fn (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-C63Bp9Zw.js:37121:5)
at async file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-C63Bp9Zw.js:34261:19
错误原因: "[undefined]"
状态码: 504
请求路径: https://www.dmxapi.cn/v1/chat/completions
请求体: {
"model": "gpt-5.2",
"user": "[undefined]",
"max_tokens": "[undefined]",
"temperature": "[undefined]",
"top_p": "[undefined]",
"frequency_penalty": "[undefined]",
"presence_penalty": "[undefined]",
"response_format": "[undefined]",
"stop": "[undefined]",
"seed": "[undefined]",
"serviceTier": "[undefined]",
"reasoning_effort": "xhigh",
"verbosity": "[undefined]",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": ""
},
{
"type": "image_url",
"image_url": {
"url":
}
}
]
}
],
"tools": "[undefined]",
"tool_choice": "[undefined]",
"stream": true,
"stream_options": "[undefined]"
}
响应首部: {
"cache-control": "no-cache",
"content-type": "text/event-stream",
"date": "Thu, 01 Jan 2026 23:22:31 GMT",
"document-policy": "include-js-call-stacks-in-crash-reports",
"server": "nginx",
"x-rixapi-request-id": "202601020702557211614043lYfgxvD"
}
响应内容: {
"error": {
"message": "",
"type": "rix_api_error",
"param": "",
"code": "bad_response_status_code"
}
}
数据: {
"error": {
"message": "",
"type": "rix_api_error",
"param": "",
"code": "bad_response_status_code"
}
}
🤖 AI解决方案
错误分析报告
1. 错误翻译
原文:504 Gateway Timeout
译文:504 网关超时
2. 原因分析
这是一个典型的 API 网关超时错误,发生在以下关键点:
核心问题
doStream 方法调用 OpenAI 兼容聊天模型时model: "gpt-5.2" 是一个不存在的模型名称text 字段为空字符串,可能导致请求处理异常错误链
AI_APICallError → 504 Gateway Timeout → bad_response_status_code
请求发送到 DMXAPI 后,上游服务(可能是 OpenAI 或其他AI提供商)未能及时响应,导致网关超时。
3. 解决方案
✅ 修复后的请求体配置
javascript
// 正确的 API 请求体配置
const requestBody = {
"model": "gpt-4o", // 使用有效的模型名称
"user": "user-identifier", // 提供有效的用户标识
"max_tokens": 1000, // 设置合理的数值
"temperature": 0.7, // 设置0-2之间的浮点数
"top_p": 1, // 设置0-1之间的浮点数
"frequency_penalty": 0,
"presence_penalty": 0,
"response_format": { "type": "text" },
"stream": true,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "请分析这张图片" // 必须提供有效的文本内容
},
{
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,/9j/4AAQSkZJRg..." // 完整的base64数据或有效URL
}
}
]
}
]
};
具体修复步骤
- 将
"gpt-5.2" 改为现有的有效模型,如 "gpt-4o"、"gpt-4-turbo"- 为所有
"[undefined]" 字段提供有效值或直接移除- 确保必要参数都有默认值
- 为
text 字段提供实际内容,不能为空字符串- 验证
image_url 包含有效的base64数据或可访问的URL4. ️ 预防措施
最佳实践建议
javascript
function validateRequest(request) {
if (!request.messages?.length) {
throw new Error("消息内容不能为空");
}
if (request.messages.some(msg => !msg.content?.length)) {
throw new Error("消息内容不能为空数组");
}
}
调试工具推荐
⚡ 性能优化
---
总结:这个错误主要是由于使用了不存在的模型名称 "gpt-5.2" 和请求体中的未定义参数导致的。修复后问题应该能够解决。