错误信息: Invalid Token (request id: 202602240244004971357913JL5Lydv) 堆栈信息: AI_APICa...
🚨 错误信息
错误名称: AI_APICallError
错误信息: Invalid Token (request id: 202602240244004971357913JL5Lydv)
堆栈信息: AI_APICallError: Invalid Token (request id: 202602240244004971357913JL5Lydv)
at file:///C:/Users/86153/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-CybwXafv.js:346:11
at async postToApi (file:///C:/Users/86153/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-CybwXafv.js:279:24)
at async OpenAICompatibleChatLanguageModel.doStream (file:///C:/Users/86153/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-CybwXafv.js:769:48)
at async wrapStream (file:///C:/Users/86153/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:53866:32)
at async fn (file:///C:/Users/86153/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:52057:17)
at async file:///C:/Users/86153/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:49474:19
at async _retryWithExponentialBackoff (file:///C:/Users/86153/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:49576:10)
at async streamStep (file:///C:/Users/86153/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:52025:108)
at async fn (file:///C:/Users/86153/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:52304:5)
at async file:///C:/Users/86153/AppData/Local/Programs/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DVdndkM4.js:49474:19
错误原因: "[undefined]"
状态码: 401
请求路径: https://www.dmxapi.cn/v1/chat/completions
请求体: {
"model": "gemini-2.0-flash",
"user": "[undefined]",
"max_tokens": "[undefined]",
"temperature": "[undefined]",
"top_p": "[undefined]",
"frequency_penalty": "[undefined]",
"presence_penalty": "[undefined]",
"response_format": "[undefined]",
"stop": "[undefined]",
"seed": "[undefined]",
"reasoning_effort": "[undefined]",
"verbosity": "[undefined]",
"messages": [
{
"role": "system",
"content": "test"
},
{
"role": "user",
"content": "hi"
}
],
"tools": "[undefined]",
"tool_choice": "[undefined]",
"stream": true,
"stream_options": {
"include_usage": true
}
}
响应首部: {
"content-length": "116",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 23 Feb 2026 18:44:00 GMT",
"document-policy": "include-js-call-stacks-in-crash-reports",
"server": "nginx",
"x-rixapi-request-id": "202602240244004971357913JL5Lydv"
}
响应内容: {
"error": {
"code": "",
"message": "Invalid Token (request id: 202602240244004971357913JL5Lydv)",
"type": "rix_api_error"
}
}
数据: {
"error": {
"message": "Invalid Token (request id: 202602240244004971357913JL5Lydv)",
"type": "rix_api_error",
"code": ""
}
}
🤖 AI解决方案
代码糕手 - 报错分析报告
##``
原文:Invalid Token (request id: 202602240244004971357913JL5Lydv)
译文:无效的令牌(请求ID:202602240244004971357913JL5Lydv)
原因分析
根本原因:API调用时使用了无效或过期的身份验证令牌(Token)。
具体分析:
和rix_api_error都指向API调用层面的身份验证问题 - 这是DMXAPI平台的聊天补全接口,但核心的model和messages参数已正确设置头部,这是API认证的关键部分方案1:检查并更新API密钥
`
javascript
// 在Cherry Studio或你的应用中正确设置API密钥
const API_KEY = "sk-your-valid-api-key-here"; // 替换为有效的DMXAPI密钥// 在API请求中添加Authorization头部
const headers = {
"Content-Type": "application/json",
"Authorization":
Bearer ${API_KEY}, // 这是关键!
// ... 其他头部
};
`方案2:验证API密钥有效性
登录DMXAPI平台:访问 https://www.dmxapi.cn
检查API密钥:
- 确保密钥以sk-开头
- 确认密钥未过期
- 验证密钥有足够的权限调用gemini-2.0-flash模型
重新生成密钥:如果密钥可能已泄露或失效,重新生成一个新密钥 方案3:完整请求示例
`javascript
async function callDMXAPI() {
const apiKey = "sk-your-valid-api-key";
const url = "https://www.dmxapi.cn/v1/chat/completions";
const requestBody = {
model: "gemini-2.0-flash",
messages: [
{ role: "system", content: "test" },
{ role: "user", content: "hi" }
],
stream: true,
stream_options: { include_usage: true }
};
try {
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": Bearer ${apiKey}
},
body: JSON.stringify(requestBody)
});
if (!response.ok) {
throw new Error(HTTP ${response.status}: ${await response.text()});
}
// 处理响应...
} catch (error) {
console.error("API调用失败:", error);
}
}
️ 预防措施 密钥管理最佳实践
环境变量存储:永远不要在代码中硬编码API密钥
javascript
// 使用环境变量
const apiKey = process.env.DMXAPI_API_KEY;
密钥轮换:定期更新API密钥,降低泄露风险
权限最小化:只为API密钥分配必要的权限 2.推荐
API测试工具:使用Postman或Insomnia预先测试API调用
本地验证脚本:创建简单的测试脚本验证密钥有效性
错误监控:实现错误日志记录和告警机制,及时发现认证问题 3.遇到401错误时,按顺序检查:
✅ API密钥是否正确复制(注意空格和特殊字符)
✅ 密钥是否已添加到请求的Authorization头部
✅ 密钥格式是否正确(Bearer + 空格 + 密钥)
✅ 密钥是否在有效期内
✅ 账户是否有足够的余额或配额 提示:如果问题持续存在,请联系DMXAPI平台的技术支持,提供请求ID
202602240244004971357913JL5Lydv` 以便他们快速定位问题。