错误信息: openai_error 堆栈信息: AI_APICallError: openai_error at file:///D:/%E8%BD%AF%E...
🚨 错误信息
错误名称: AI_APICallError
错误信息: openai_error
堆栈信息: AI_APICallError: openai_error
at file:///D:/%E8%BD%AF%E4%BB%B6/Cherry%20Studio-GPT/resources/app.asar/out/renderer/assets/dist-B9rPABmV.js:2082:11
at async postToApi (file:///D:/%E8%BD%AF%E4%BB%B6/Cherry%20Studio-GPT/resources/app.asar/out/renderer/assets/dist-B9rPABmV.js:1977:24)
at async OpenAICompatibleChatLanguageModel.doStream (file:///D:/%E8%BD%AF%E4%BB%B6/Cherry%20Studio-GPT/resources/app.asar/out/renderer/assets/dist-CAQbAROO.js:451:48)
at async wrapStream (file:///D:/%E8%BD%AF%E4%BB%B6/Cherry%20Studio-GPT/resources/app.asar/out/renderer/assets/store-Dg8vqSku.js:54870:32)
at async fn (file:///D:/%E8%BD%AF%E4%BB%B6/Cherry%20Studio-GPT/resources/app.asar/out/renderer/assets/store-Dg8vqSku.js:53736:17)
at async file:///D:/%E8%BD%AF%E4%BB%B6/Cherry%20Studio-GPT/resources/app.asar/out/renderer/assets/store-Dg8vqSku.js:50090:19
at async _retryWithExponentialBackoff (file:///D:/%E8%BD%AF%E4%BB%B6/Cherry%20Studio-GPT/resources/app.asar/out/renderer/assets/store-Dg8vqSku.js:50253:10)
at async streamStep (file:///D:/%E8%BD%AF%E4%BB%B6/Cherry%20Studio-GPT/resources/app.asar/out/renderer/assets/store-Dg8vqSku.js:53705:109)
at async fn (file:///D:/%E8%BD%AF%E4%BB%B6/Cherry%20Studio-GPT/resources/app.asar/out/renderer/assets/store-Dg8vqSku.js:54011:5)
at async file:///D:/%E8%BD%AF%E4%BB%B6/Cherry%20Studio-GPT/resources/app.asar/out/renderer/assets/store-Dg8vqSku.js:50090:19
错误原因: "[undefined]"
状态码: 504
请求路径: https://api301.com/v1/chat/completions
请求体: {
"model": "gpt-5.1-codex",
"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": "[undefined]",
"verbosity": "[undefined]",
"messages": [
{
"role": "user",
"content": "我是一名闲鱼商家:做中转站,销售claude api 。我们的优势是上游用claude max20X号作为号池供应给客户使用。请帮我整理一份客服话术,关于大量客户咨询claude api相关的问题,和相关回答"
}
],
"tools": "[undefined]",
"tool_choice": "[undefined]",
"stream": true,
"stream_options": {
"include_usage": true
}
}
响应首部: {
"cache-control": "no-cache",
"content-type": "text/event-stream",
"date": "Sat, 14 Mar 2026 07:07:36 GMT",
"document-policy": "include-js-call-stacks-in-crash-reports",
"server": "nginx",
"x-new-api-version": "v0.11.2-alpha.1",
"x-oneapi-request-id": "20260314070636219086150lBMFpq70"
}
响应内容: {
"error": {
"message": "openai_error",
"type": "bad_response_status_code",
"param": "",
"code": "bad_response_status_code"
}
}
数据: {
"error": {
"message": "openai_error",
"type": "bad_response_status_code",
"param": "",
"code": "bad_response_status_code"
}
}
🤖 AI解决方案
报错分析报告
1.错误翻译
原文:AI_APICallError: openai_error
译文:AI_APICallError:openai错误
2.原因分析
[undefined]无效参数,且遭遇504网关超时,API返回bad_response_status_code错误。 postToApi函数调用OpenAICompatibleChatLanguageModel.doStream的异步流请求中(堆栈第2-3行)。 https://api301.com/v1/chat/completions可能无效,且user/max_tokens等核心参数未定义。3.解决方案
javascript
// 修复后的请求构造与发送逻辑(JavaScript示例)
async function callChatAPI() {
// 1. 构造有效请求体(移除undefined字段+设默认值)
const requestBody = {
model: "gpt-5.1-codex",
messages: [{
role: "user",
content: "我是一名闲鱼商家:做中转站,销售claude api...请整理客服话术"
}],
stream: true,
stream_options: { include_usage: true },
temperature: 0.7, // 补充合理默认值
max_tokens: 2000
}; // 2. 过滤undefined字段(可选,确保安全)
const cleanBody = Object.fromEntries(
Object.entries(requestBody).filter(([_, v]) => v !== undefined)
);
// 3. 使用正确API端点(替换无效的api301.com为官方/可用地址)
try {
const response = await fetch("https://api.openai.com/v1/chat/completions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(cleanBody)
});
return response;
} catch (err) {
console.error("API调用失败:", err);
}
}
4. 预防措施
Object.entries().filter()移除undefined字段,或为必填项设默认值(如temperature: 0.7)。 fetch加AbortController设置超时(如10秒),避免无限等待。---
注:若仍报错,需确认api301.com是否为合法代理端点(建议切换至官方API)。