快速结论:在 Open WebUI 中,从首页新建会话并启用工具/MCP、技能或过滤器后,发送消息再离开并返回该会话,这些开关会丢失。优先排查会话级开关是否只依赖 sessionStorage 输入草稿,以及草稿键名是否正确。
适用环境:Open WebUI v0.11.4(官方 Docker 镜像,运行于 Podman);Fedora Workstation 44;Firefox 157.0。Issue 未提供 Python、CUDA、PyTorch 或显卡信息。
最快修复方案:暂无确认的一步修复方案。Issue 结论指向代码级持久化缺失,需要等待上游修复或自行打补丁。
注意事项:若所用模型配置了 meta.toolIds、meta.skillIds、meta.defaultFeatureIds 等默认值,加载时 setDefaults() 会重新套用默认值,可能掩盖症状,但用户手动选择的状态仍然会丢失。v0.11.4 中 #29762 的修复只覆盖页面重载时的草稿恢复,不覆盖“离开再返回”场景。
问题场景
在 Open WebUI 的首页新建会话(非侧边栏已有会话),在输入框的集成菜单中启用一个工具/MCP 服务器、技能或过滤器,再发送一条消息并等待回复。期间不继续输入,随后切换到其他会话或页面,再返回原会话时,工具、技能、过滤器开关被清空;Web 搜索、图像生成则回到模型默认状态。之后该会话的请求不再携带此前启用的 tool_ids/skill_ids/filter_ids,工具会在不知不觉中停止使用,且控制台没有报错。
报错原文
issue: per-chat tool/skill/filter/feature toggles lost when navigating between chats
原因分析
根据 Issue 中的根因分析,这类会话级状态(selectedToolIds、selectedSkillIds、selectedFilterIds、webSearchEnabled、imageGenerationEnabled、codeInterpreterEnabled、toolApprovalMode 等)没有被写入聊天记录。能够跨页面切换保留的自动保存逻辑 saveControls 只提交 params 和 files,遗漏了整组集成/功能开关。
离开会话时 navigateHandler 会把这组状态清零,返回时只能从 sessionStorage 的输入草稿恢复;找不到草稿时才调用 setDefaults(),而它只会按模型 meta.* 默认值回填。对于从首页新建的会话,草稿被写在错误的键 chat-input 而不是 chat-input-<chatId>,返回时按带后缀的键查找因而找不到,开关就保持为空。代码解释器是部分例外:navigateHandler 不清除它,但它同样缺少持久化。
环境排查
- 确认 Open WebUI 版本是否为 v0.11.4,以及是否运行在官方 Docker 镜像 / Podman 环境。
- 确认所用模型是否未配置
meta.toolIds、meta.skillIds、meta.defaultFeatureIds;配置了默认值的模型会掩盖部分开关的丢失现象。 - 确认问题是否发生在“首页新建会话→发送消息→离开→返回”这一路径,而不是已有侧边栏会话。
- 确认浏览器为 Issue 中的 Firefox 157.0,并检查浏览器控制台是否有
sessionStorage相关异常(Issue 报告中无控制台报错)。 - Issue 未涉及 Python、CUDA、PyTorch、Ollama 版本信息,无需作为排查项。
解决步骤
- 先按上述路径稳定复现:使用无模型级默认值的模型,从首页新建会话,启用一个工具/MCP 或技能,发送消息,等待回复后不输入任何内容,切换走再返回,观察开关是否被清空。
- 在浏览器开发者工具中检查
sessionStorage,对比首页新建会话下写入的键名chat-input与返回时查找的键名chat-input-<chatId>,确认草稿键名不一致。 - 若确认是同一问题,可优先尝试:返回会话后手动重新开启所需工具/技能/过滤器,作为临时规避;该操作不会恢复已丢失的历史选择,需在每个受影响会话中重复。
- 关注上游修复。Issue 中建议将整组会话级开关纳入
saveControls的持久化字段,并修正首页新建会话的草稿键名;在官方版本修复前,自行修改前端代码属于未验证方案,需自行承担风险。 - 如果所用模型配置了
meta.*默认值,可暂时取消这些默认值以便观察真实症状,但这不是修复手段,取消后手动开关仍会丢失。
验证方法
按复现路径操作后返回原会话,确认工具/MCP、技能、过滤器开关仍保持此前启用状态,且后续消息请求中仍携带对应的 tool_ids/skill_ids/filter_ids;Web 搜索和图像生成也应保持用户选择而非回到模型默认值。若仍被清空,说明持久化问题未解决。
参考来源
相关 Issue:#29760、#27624、#29050、#29602
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug]: Text PEFT LoRAs can silently no-op for wrapper models whose LM is mounted under language_model](https://www.chat-gpts.plus/wp-content/uploads/2026/10/48019-e47a4f68-768x403.jpg)
![[Bug] TieringOffloadingSpec fs-tier lookup succeeds but never triggers a promotion job (active_promotion_jobs stays 0)](https://www.chat-gpts.plus/wp-content/uploads/2026/10/61373-e203cc31-768x403.jpg)