错误信息: Invalid Token (request id: 202602240244004971357913JL5Lydv) 堆栈信息: AI_APICa...

2026年02月24日 02:44 processing

错误信息

错误名称: 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)。

**具体分析**:
1. **状态码401**:HTTP 401状态码明确表示"未授权",通常是由于身份验证失败
2. **错误类型**:`AI_APICallError`和`rix_api_error`都指向API调用层面的身份验证问题
3. **请求路径**:`https://www.dmxapi.cn/v1/chat/completions` - 这是DMXAPI平台的聊天补全接口
4. **请求参数**:虽然部分参数显示为`[undefined]`,但核心的`model`和`messages`参数已正确设置
5. **缺失的认证头**:从请求信息中未看到`Authorization`头部,这是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密钥有效性
1. **登录DMXAPI平台**:访问 https://www.dmxapi.cn
2. **检查API密钥**:
   - 确保密钥以`sk-`开头
   - 确认密钥未过期
   - 验证密钥有足够的权限调用`gemini-2.0-flash`模型
3. **重新生成密钥**:如果密钥可能已泄露或失效,重新生成一个新密钥

### 方案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密钥

  •   // 使用环境变量
      const apiKey = process.env.DMXAPI_API_KEY;
      

  • 密钥轮换:定期更新API密钥,降低泄露风险

  • 权限最小化:只为API密钥分配必要的权限
  • 2.推荐


  • API测试工具:使用Postman或Insomnia预先测试API调用

  • 本地验证脚本:创建简单的测试脚本验证密钥有效性

  • 错误监控:实现错误日志记录和告警机制,及时发现认证问题
  • 3.遇到401错误时,按顺序检查:


  • ✅ API密钥是否正确复制(注意空格和特殊字符)

  • ✅ 密钥是否已添加到请求的Authorization头部

  • ✅ 密钥格式是否正确(Bearer + 空格 + 密钥)

  • ✅ 密钥是否在有效期内

  • ✅ 账户是否有足够的余额或配额
  • 提示:如果问题持续存在,请联系DMXAPI平台的技术支持,提供请求ID 202602240244004971357913JL5Lydv 以便他们快速定位问题。