错误信息: The role only supports :`user`、`assistant` - `messages.[0]` 堆栈信息: AI_APICa...

2026年04月05日 09:54 processing

错误信息

错误名称: AI_APICallError 错误信息: The role only supports :`user`、`assistant` - `messages.[0]` 堆栈信息: AI_APICallError: The role only supports :`user`、`assistant` - `messages.[0]` at file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-DWBkLJID.js:1704:11 at async postToApi (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-DWBkLJID.js:1599:24) at async OpenAICompatibleChatLanguageModel.doStream (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-MiiZ7jiT.js:452:48) at async wrapStream (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:48641:32) at async fn (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:47507:17) at async file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:43861:19 at async _retryWithExponentialBackoff (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:44024:10) at async streamStep (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:47476:109) at async fn (file:///D:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-BX3OZ3o6.js:47782:5) at async file:///D:/Program%20Files/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", "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": "[undefined]" } 响应首部: { "cache-control": "no-cache", "content-type": "text/event-stream", "date": "Sun, 05 Apr 2026 01:54:15 GMT", "document-policy": "include-js-call-stacks-in-crash-reports", "server": "nginx", "x-rixapi-request-id": "202604050954136516576093PUAvIF4" } 响应内容: { "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,仅允许userassistant

  • 具体位置:请求体messages[0].role = "system"(违反API角色约束)。
  • 3.解决方案


    messages[0]role改为支持的枚举值(user/assistant),或修改消息结构:
    {
      "model": "Baichuan-M3-Plus",
      "messages": [
        {
          "role": "user",  // 将原"system"改为"user"(或"assistant")
          "content": "test"
        },
        {
          "role": "user",
          "content": "hi"
        }
      ],
      "stream": true
      // 其他参数保持合法值(移除"[undefined]")
    }
    

    4. 预防措施


  • 参数校验:调用API前,用枚举检查messages中每个元素的role(仅允许user/assistant)。

  • 工具辅助:用Postman/Swagger验证请求体格式,或通过JSON Schema自动校验。
  • ---
    :修复后需确保所有参数无[undefined],补充合法值(如max_tokens设为数字)。