400 MissingParameter: input.type:Claude Code 第二轮报错
Quick fix
原帖尚未提供可验证的解法;报告者直连测试确认补齐 "type": "message" 可返回 200,但代理转换补丁仍是建议。
Symptom
Section titled “Symptom”API Error: 400
{"error":{"code":"MissingParameter","message":"The request failed because it is missing `input.type` parameter. Request id: <id>","param":"input.type","type":"BadRequest"}}报告者在 Claude Code 经 cc-switch 本地代理调用火山方舟 Responses API 的 deepseek-v4-flash 时,第一轮正常,第二轮历史包含数组内容的 assistant 文本消息后返回 400。据其分析,src-tauri/src/proxy/providers/transform_responses.rs 中的 convert_messages_to_input 生成 role-based message item 时未携带顶层 type 字段,而该模型后端对此进行严格校验。
报告者的直连控制实验显示:仅 user 消息或转换为 function_call / function_call_output 的工具消息返回 200;所有 message item 补上 "type": "message" 后也返回 200。同样请求换用 glm-5.3-flash、glm-5.3、qwen3.8-max 或 deepseek-v4-pro 均正常。这些属于报告者的测试结果;issue 仍开放,补齐三个转换分支的建议尚无合入或发布确认,原帖尚未提供可验证的解法来修复已安装的 cc-switch。
核对是否符合原帖场景:Claude Code 经 cc-switch 本地代理使用火山方舟 Responses API 的 deepseek-v4-flash,第一轮成功,历史出现 assistant 文本消息后第二轮失败。
如需临时避开触发条件,可尝试原帖同网关测试正常的 glm-5.3-flash、glm-5.3、qwen3.8-max 或 deepseek-v4-pro;这些模型的成功结果来自报告者测试,不代表 deepseek-v4-flash 已修复。
跟进 issue #7552 的转换补丁进展:报告者建议在 convert_messages_to_input 的字符串内容、数组内容、无内容三个分支,为所有 role-based message item 补上 "type": "message"。直连请求补字段已测试返回 200,但原帖没有可直接应用的补丁或已发布修复版本。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 1 个真实 issue
(暂无 FAQ)
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。