错误信息: not implemented (request id: 2026042815485886376031v0IMnT3k) 堆栈信息: AI_APIC...

2026年04月28日 15:49 processing

错误信息

错误名称: AI_APICallError 错误信息: not implemented (request id: 2026042815485886376031v0IMnT3k) 堆栈信息: AI_APICallError: not implemented (request id: 2026042815485886376031v0IMnT3k) at file:///D:/cherry%20studio/resources/app.asar/out/renderer/assets/store-CxDhcqaJ.js:51840:11 at async postToApi$2 (file:///D:/cherry%20studio/resources/app.asar/out/renderer/assets/store-CxDhcqaJ.js:51735:24) at async OpenAIResponsesLanguageModel$3.doStream (file:///D:/cherry%20studio/resources/app.asar/out/renderer/assets/store-CxDhcqaJ.js:67782:48) at async fn (file:///D:/cherry%20studio/resources/app.asar/out/renderer/assets/store-CxDhcqaJ.js:103355:17) at async file:///D:/cherry%20studio/resources/app.asar/out/renderer/assets/store-CxDhcqaJ.js:99626:19 at async _retryWithExponentialBackoff (file:///D:/cherry%20studio/resources/app.asar/out/renderer/assets/store-CxDhcqaJ.js:99816:10) at async streamStep (file:///D:/cherry%20studio/resources/app.asar/out/renderer/assets/store-CxDhcqaJ.js:103324:109) at async fn (file:///D:/cherry%20studio/resources/app.asar/out/renderer/assets/store-CxDhcqaJ.js:103641:5) at async file:///D:/cherry%20studio/resources/app.asar/out/renderer/assets/store-CxDhcqaJ.js:99626:19 错误原因: "[undefined]" 状态码: 500 请求路径: https://www.dmxapi.cn/v1/responses 请求体: { "model": "deepseek-v4-pro-guan", "input": [ { "role": "system", "content": "\n## Hub MCP Tools – Auto Tooling Mode\n\nYou can discover and call MCP tools through the hub server using **ONLY four meta-tools**:\n\n| Tool | Purpose |\n|------|---------|\n| `list` | List tools (paginated via `limit`/`offset`) |\n| `inspect` | Get a tool signature as JSDoc |\n| `invoke` | Call a single tool |\n| `exec` | Execute JavaScript that orchestrates multiple tool calls |\n\n### Critical Rules\n\n1. Use `list` to find the right tool. This is **tool discovery** (NOT web search).\n2. Use `inspect` before calling a tool to confirm parameter names and shapes.\n3. Use `invoke` for a single tool call.\n4. Use `exec` for multi-step flows.\n5. Inside `exec`, call tools ONLY via `mcp.callTool(name, params)`.\n6. In `exec`, you MUST explicitly `return` the final value.\n\n### What `list` Returns\n\n- A paginated list of tools.\n- The response includes: Total / Offset / Limit / Returned.\n- Each tool line includes:\n - JS-friendly tool name (camelCase)\n - original tool id in parentheses (serverId__toolName)\n\n### What `inspect` Returns\n\n- A JSDoc stub you can copy into `exec` code.\n\n### What `exec` Provides\n\n- `mcp.callTool(name, params)` → call a tool by JS name (camelCase) or original id (serverId__toolName)\n- `mcp.log(level, message, fields?)`\n- `parallel(...promises)` → Promise.all\n- `settle(...promises)` → Promise.allSettled\n- `console.log/info/warn/error/debug` (captured)\n\n### Example: Single Call (invoke)\n\n1) `list({ limit: 50, offset: 0 })`\n2) Pick the relevant tool name from the list.\n3) `inspect({ name: \"githubSearchRepos\" })`\n4) `invoke({ name: \"githubSearchRepos\", params: { query: \"mcp\" } })`\n\n### Example: Multi-step Flow (exec)\n\n```javascript\nconst repos = await mcp.callTool(\"githubSearchRepos\", { query: \"mcp\" })\nconsole.log(\"found\", repos)\nreturn repos\n```\n" }, { "role": "user", "content": [ { "type": "input_text", "text": "使用NM91(Ni0.9,Mn0.1)的前驱体,去掺杂过渡金属与非金属去做高熵的高镍无钴正极,你能搜索相关文献获取一些灵感设计一个方案,用专业的视角去细节化每一个可能的问题,只需要涉及原理以及具体的实验过程,精确到参数,并解释,不需要设置对照组,所有的东西要合理参照文献适当创新,我希望里面有w,只需要掺杂,一次煅烧,实验室里没有b\n全部都掺杂源都是其氧化物,按Li 0.01mol重新称量并调整全部实验步骤,并制作实验SOP" } ] } ], "temperature": 0.7, "top_p": "[undefined]", "max_output_tokens": "[undefined]", "conversation": "[undefined]", "max_tool_calls": "[undefined]", "metadata": "[undefined]", "parallel_tool_calls": "[undefined]", "previous_response_id": "[undefined]", "store": false, "user": "[undefined]", "instructions": "[undefined]", "service_tier": "[undefined]", "include": "[undefined]", "prompt_cache_key": "[undefined]", "prompt_cache_retention": "[undefined]", "safety_identifier": "[undefined]", "top_logprobs": "[undefined]", "truncation": "[undefined]", "tools": [ { "type": "function", "name": "mcp__CherryHub__list", "description": "List available MCP tools from all active servers. Results are paginated via limit/offset.", "parameters": { "type": "object", "properties": { "limit": { "type": "number", "description": "Optional maximum results to return (default: 30, max: 100)." }, "offset": { "type": "number", "description": "Optional zero-based offset for pagination (default: 0)." } }, "required": [] } }, { "type": "function", "name": "mcp__CherryHub__inspect", "description": "Get a single tool's signature as a JSDoc stub. Use this before `invoke` or `exec`.", "parameters": { "type": "object", "properties": { "name": { "type": "string", "description": "Tool name in JS form (camelCase) OR original namespaced id (serverId__toolName)." } }, "required": [ "name" ] } }, { "type": "function", "name": "mcp__CherryHub__invoke", "description": "Call a single tool with parameters. Prefer `inspect` first to confirm parameters.", "parameters": { "type": "object", "properties": { "name": { "type": "string", "description": "Tool name in JS form (camelCase) OR original namespaced id (serverId__toolName)." }, "params": { "type": "object", "description": "Tool parameters as a JSON object (optional)." } }, "required": [ "name" ] } }, { "type": "function", "name": "mcp__CherryHub__exec", "description": "Execute JavaScript code to orchestrate multiple tool calls. Use `mcp.callTool(name, params)` inside the code. IMPORTANT: you MUST explicitly `return` the final value.", "parameters": { "type": "object", "properties": { "code": { "type": "string", "description": "JavaScript code to execute. Available globals: `mcp.callTool(name, params)`, `mcp.log(level, message, fields?)`, `parallel(...)`, `settle(...)`, `console.*`. The code runs inside an async context so you can use `await` directly. You MUST `return` the final value." } }, "required": [ "code" ] } } ], "tool_choice": "auto", "stream": true } 响应首部: { "content-length": "150", "content-type": "application/json; charset=utf-8", "date": "Tue, 28 Apr 2026 07:48:58 GMT", "document-policy": "include-js-call-stacks-in-crash-reports", "server": "nginx", "x-rixapi-request-id": "2026042815485886376031v0IMnT3k" } 响应内容: { "error": { "message": "not implemented (request id: 2026042815485886376031v0IMnT3k)", "type": "rix_api_error", "param": "", "code": "convert_request_failed" } } 数据: { "error": { "message": "not implemented (request id: 2026042815485886376031v0IMnT3k)", "type": "rix_api_error", "param": "", "code": "convert_request_failed" } }

AI 解决方案

报错分析报告

1.错误翻译


原文:not implemented (request id: 2026042815485886376031v0IMnT3k)
译文:未实现(请求ID:2026042815485886376031v0IMnT3k)

2.原因分析


  • 根本原因:API服务器未实现当前请求的处理逻辑(convert_request_failed),推测模型名称或参数格式无效导致请求转换失败。

  • 具体位置:堆栈中store-CxDhcqaJ.js:51840行(调用postToApi$2时触发),上下文为向https://www.dmxapi.cn/v1/responses发送包含deepseek-v4-pro-guan模型的请求。

  • 关键诱因:请求体中大量参数值为[undefined](如top_pmax_output_tokens),且模型名称可能未被API支持。
  • 3.解决方案


    修复步骤
  • 移除请求体中所有[undefined]参数(或设为有效值);

  • 验证模型名称deepseek-v4-pro-guan是否为API支持的合法值;

  • 补充缺失的必要参数(如max_output_tokens设为2048)。
  • 修正后的请求体示例(JSON):

    {
      "model": "deepseek-v4-pro-guan", // 需确认API支持此模型
      "input": [
        {
          "role": "system",
          "content": "\n## Hub MCP Tools – Auto Tooling Mode\n\n你可以通过集线器服务器使用**仅四个元工具**发现和调用MCP工具:\n\n| 工具 | 用途 |\n|------|------|\n| `list` | 分页列出工具(通过`limit`/`offset`) |\n| `inspect` | 获取工具签名的JSDoc |\n| `invoke` | 调用单个工具 |\n| `exec` | 编排多工具调用的JavaScript |\n\n### 关键规则\n1. 用`list`发现工具(非网页搜索);\n2. 调用前用`inspect`确认参数名和结构;\n3. 单调用用`invoke`,多步骤用`exec`;\n4. `exec`内用`mcp.callTool(name, params)`调用工具;\n5. `exec`必须显式`return`最终结果。\n\n### 示例:单调用(invoke)\n1. `list({ limit: 50, offset: 0 })`\n2. 选工具名→`inspect({ name: \"githubSearchRepos\" })`\n3. `invoke({ name: \"githubSearchRepos\", params: { query: \"mcp\" } })`\n\n### 示例:多步骤(exec)\n
    javascript\nconst repos = await mcp.callTool(\"githubSearchRepos\", { query: \"mcp\" });\nconsole.log(\"found\", repos);\nreturn repos;\n``"
    },
    {
    "role": "user",
    "content": [
    {
    "type": "input_text",
    "text": "使用NM91(Ni0.9,Mn0.1)的前驱体,去掺杂过渡金属与非金属去做高熵的高镍无钴正极,你能搜索相关文献获取一些灵感设计一个方案,用专业的视角去细节化每一个可能的问题,只需要涉及原理以及具体的实验过程,精确到参数,并解释,不需要设置对照组,所有的东西要合理参照文献适当创新,我希望里面有w,只需要掺杂,一次煅烧,实验室里没有b\n全部都掺杂源都是其氧化物,按Li 0.01mol重新称量并调整全部实验步骤,并制作实验SOP"
    }
    ]
    }
    ],
    "temperature": 0.7,
    "top_p": 0.9, // 替换为有效值(0~1)
    "max_output_tokens": 2048, // 替换为有效值
    "stream": true,
    "tools": [/ 保留原工具配置 /]
    }
    `

    4. 预防措施


  • 最佳实践1:发送API请求前,用JSON Schema验证请求体,避免undefined或非法参数;

  • 最佳实践2:调用前查阅API文档,确认模型名称、参数范围的合法性(如top_p`需为0~1的数值)。

  • 推荐工具:Postman(测试API请求)、[JSON Schema Validator](https://json-schema.org/validator)(验证请求体)。