错误信息: The role only supports :`user`、`assistant` - `messages.[0]` 堆栈信息: AI_APICa...
错误信息
错误名称: AI_APICallError
错误信息: The role only supports :`user`、`assistant` - `messages.[0]`
堆栈信息: AI_APICallError: The role only supports :`user`、`assistant` - `messages.[0]`
at file:///C:/APP/CherryStudio/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-DWBkLJID.js:1704:11
at async postToApi (file:///C:/APP/CherryStudio/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-DWBkLJID.js:1599:24)
at async OpenAICompatibleChatLanguageModel.doStream (file:///C:/APP/CherryStudio/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-MiiZ7jiT.js:452:48)
at async wrapStream (file:///C:/APP/CherryStudio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:48641:32)
at async fn (file:///C:/APP/CherryStudio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:47507:17)
at async file:///C:/APP/CherryStudio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:43861:19
at async _retryWithExponentialBackoff (file:///C:/APP/CherryStudio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:44024:10)
at async streamStep (file:///C:/APP/CherryStudio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:47476:109)
at async fn (file:///C:/APP/CherryStudio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:47782:5)
at async file:///C:/APP/CherryStudio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:43861:19
错误原因: "[undefined]"
状态码: 400
请求路径: https://www.dmxapi.cn/v1/chat/completions
请求体: {
"model": "Baichuan-M3-Plus-free",
"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
}
}
响应首部: {
"cache-control": "no-cache",
"content-type": "text/event-stream",
"date": "Sat, 04 Apr 2026 15:44:58 GMT",
"document-policy": "include-js-call-stacks-in-crash-reports",
"server": "nginx",
"x-rixapi-request-id": "20260404234457178090150AIxCcPxT"
}
响应内容: {
"error": {
"message": "The role only supports :`user`、`assistant` - `messages.[0]`",
"type": "rix_api_error",
"param": "",
"code": null
}
}
数据: {
"error": {
"message": "The role only supports :`user`、`assistant` - `messages.[0]`",
"type": "rix_api_error",
"param": "",
"code": null
}
}
AI 解决方案
报错分析报告
1.错误翻译
原文:The role only supports :`user`、`assistant` - `messages.[0]`
译文:角色仅支持:`user`、`assistant` - `messages.[0]`
2.原因分析
messages数组的第1个元素(索引0)使用了API不支持的system角色,仅允许user或assistant。messages数组首项,"role": "system"违反API约束。3.解决方案
修改
messages数组首项的role为允许值(user/assistant),或移除该项:// 修复后的messages数组(将system改为user)
const messages = [
{ role: "user", content: "test" }, // 原system→user
{ role: "user", content: "hi" }
];
// 或移除system项(若无需系统提示)
// const messages = [{ role: "user", content: "hi" }];
4.️ 预防措施
messages各元素role是否在["user", "assistant"]白名单内;推荐工具:用[JSON Schema](https://json-schema.org/)验证请求体,或在代码中添加角色检查逻辑。