快速结论:该报错通常出现在通过 Open WebUI 连接 DeepSeek(如 deepseek-flash)并开启 thinking 模式的场景:当对话上下文中带有 skills、知识库或记忆等内置工具结果时,Open WebUI 会把历史思考内容遗漏在请求之外,而 DeepSeek 要求以 reasoning_content 字段回传,因此拒绝下一条消息。优先排查连接上的 Provider 设置是否仍为 Default,以及对话是否启用了内置工具上下文。
适用环境:Issue 中已确认:Open WebUI v0.13.2(Docker 安装),Ubuntu 26.04,OpenAI 兼容连接(DeepSeek 原生 deepseek-flash),Provider 保持 Default;对照版本为 0.12.5。Ollama 版本未提供。
最快修复方案:进入 Admin Panel > Settings > Connections,编辑 DeepSeek 连接,打开 Advanced,把 Provider 设置为 llama.cpp。此设置下 Open WebUI 会把已存储的思考内容作为 reasoning_content 回传,符合 DeepSeek 的要求;thinking 可保持开启。
注意事项:该方案来自 Issue 维护者说明,属于 Issue 内明确的处理建议,但评论中未附修复后的验证日志。把 Reasoning Effort 设为 none 也能临时规避,但那是关闭思考,不是修复回传逻辑。另据评论者分析,行为变化实际发生在 0.13.1(“Context as hidden tool results”),而非 0.13.2,因此仅回退到 0.13.2 之前的 0.13.x 版本不一定有效。
问题场景
用户在 Open WebUI v0.13.2 中通过 OpenAI 兼容连接与原生 deepseek-flash 对话,Provider 设置为 Default,Reasoning Effort 保持默认(用户与管理员的 reasoning_effort 均为默认,纯模型、无 workspace 配置,也未主动调用工具)。聊天过程中触发 thinking 模式报错。用户将 Model controls -> Advanced Params 中的 Reasoning Effort 改为 none 后恢复正常,因此判断为回归问题。后续讨论指出,升级路径是 0.12.5 → 0.13.2,行为变化来自 0.13.1 将 skills 清单、记忆召回、附加知识列表改为通过 hidden_tool_result() 生成合成的 function_call / function_call_output 注入首轮请求。
报错原文
The 'reasoning_content' in the thinking mode must be passed back to the API.
原因分析
该报错由 DeepSeek 服务端返回,Open WebUI 只是透传。DeepSeek 要求:当请求中包含工具(tools)时,必须把之前的思考内容通过 reasoning_content 字段回传。Open WebUI 默认会带上内置工具,所以即使实际没有调用工具也会命中这一要求。而 reasoning_content 是 DeepSeek 扩展字段,不属于 OpenAI Chat Completions 格式,因此 Default Provider 的连接不会把思考内容写入历史,DeepSeek 便拒绝下一条消息。据评论分析,0.13.1 起只要模型挂有 skill 或知识库(model_builtin_tools.get('skills', True) 默认 True),每次对话首轮就会携带这类合成工具流量,这也是用户感觉“以前几个月都正常”的可能原因。
环境排查
- 确认 Open WebUI 实际版本:是否为 v0.13.2,以及是否从 0.12.5 或 0.13.1 升级而来。
- 确认 DeepSeek 连接的 Provider 设置:是否为 Default,是否改为
llama.cpp。 - 确认该模型是否挂有 skills、知识库或记忆上下文。
- 确认 Reasoning Effort 的当前值(用户级、管理员级、模型级),以及是否为
none。 - 确认是否为 Docker 部署以及使用的镜像 tag。
解决步骤
- 可优先尝试:进入 Admin Panel > Settings > Connections,找到 DeepSeek 连接并编辑。
- 打开 Advanced 设置,将 Provider 从 Default 改为
llama.cpp。 - 保存后保持 thinking 模式与 Reasoning Effort 原有设置,直接发起一轮新的对话。
- 如仍需临时可用,可在对话的
Model controls -> Advanced Params中把 Reasoning Effort 设为none,但这是关闭思考而非修复回传。 - 如问题持续,对照 0.12.5 与当前版本在 skills、知识库、记忆上下文下的请求差异,并附上升级路径与日志提交到 Issue。
验证方法
在 Provider 改为 llama.cpp 后,继续在带 skills 或知识库上下文的会话中与 deepseek-flash 多轮对话,确认不再出现 reasoning_content 相关报错,且 thinking 内容正常保留与回传。若仍报错,回退检查 Provider 是否保存成功,以及请求中是否仍缺少 reasoning_content 字段。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


