快速结论:该问题发生在 Open WebUI 启动时获取用户设置(GET /api/v1/users/user/settings)失败后,会话仍以空设置对象运行;当任何自动或手动保存触发 updateUserSettings 全量覆盖写入时,数据库中的完整设置会被清空。优先排查启动时网络请求是否被中断(如后端重启、代理超时),以及是否存在全量覆盖写入路径。
适用环境:已确认的环境为 Open WebUI v0.11.0(Docker 部署)、Ollama 0.32.1,客户端为 Windows 10 与 Android 上的 Firefox 152.0.4;此外在 Postgres 后端 + Docker Compose + Firefox 多容器标签页 + Watchtower 自动更新的环境中复现,代码基线与 ghcr.io/open-webui/open-webui:dev(commit 5caa91a49)一致。无证据表明必须跨设备触发。
最快修复方案:暂无确认的一步修复方案。Issue 中验证有效的处理方式为:在 Open WebUI 启动期间确保后端可用,避免设置请求失败;若已发生设置被清空,需从数据库备份恢复 user.settings 列(Issue 中未提供数据库恢复命令,仅描述现象与分析)。
注意事项:该分析基于开发者对 dev 分支的代码追踪,非官方发布补丁;多设备同时在线不是必要条件,任何设置请求失败后的会话保存都可能触发。相关 Issue(#24310、#24260)仅作参考,未在本文确认修复。
问题场景
用户通过 Docker 部署 Open WebUI v0.11.0,使用同一账号在 Windows 10 和 Android 设备上同时登录 Firefox。在 Android 上发起对话后,到 Windows 上打开同一会话并发送新消息或点击“重新生成”,刷新页面或进入设置面板后,全局用户设置(系统提示词、模型参数、主题等)全部恢复为默认值。开发者在后续分析中指出,跨设备并非必要条件:只要某次会话启动时设置加载失败,任何后续保存都会清空数据库中的完整设置。
报错原文
issue: user settings are wiped when a session that failed to load them saves over them
# 数据库中的 user.settings.ui 被缩减为:
{ "version": "0.11.0", "pinnedModels": [] }
# 浏览器控制台无显式错误;Docker 日志中仅有 get_models API 相关网络超时,无设置写入失败记录
原因分析
开发者通过数据库状态、服务端日志和代码追踪,将根因拆分为三个环节:
- 设置加载失败被静默吞掉:应用启动时
setUserSettings调用GET /api/v1/users/user/settings,若该请求失败(后端重启、代理 502、超时等),错误仅被记录,应用仍以空的默认设置对象(writable({}))正常运行,用户无感知。 - 每次设置保存都是全量覆盖:代码中有 13 处调用
updateUserSettings(localStorage.token, { ui: $settings }),后端不做合并,直接整体替换存储对象。 - 启动时存在自动保存路径:部分调用点在启动时自动触发,无需用户手动操作。一旦空对象被保存,用户设置即被清空。
环境排查
- Open WebUI 版本是否为 v0.11.0 或同基线 dev 分支(commit
5caa91a49)。 - 数据库类型:Issue 中确认 Postgres 后端可复现;其他数据库是否有同样行为未验证。
- 部署方式:Docker Compose 是否启用自动更新(如 Watchtower),更新过程中是否可能导致后端短暂不可用。
- 浏览器是否存在多容器标签页、代理或防火墙,可能使
GET /api/v1/users/user/settings首次请求失败。 - 在设置被清空前,是否观察到页面加载缓慢、接口超时或后端重启日志。
解决步骤
- 复现时开启浏览器开发者工具 Network 面板,检查应用启动时的
GET /api/v1/users/user/settings请求是否返回 2xx;若为 5xx 或超时,即为触发条件。 - 若已发生设置清空,优先从数据库备份恢复
user.settings列(具体备份恢复命令未在 Issue 中提供,需参考数据库文档)。 - 若要规避问题,可在 Open WebUI 启动期间确保后端服务稳定,避免自动更新与启动请求重叠;可考虑暂停 Watchtower 或调整更新窗口。
- 关注上游修复:开发者根因分析提交于
5caa91a49,请跟踪dev分支或后续发布版本中是否增加设置合并逻辑或加载失败重试。
验证方法
在修复后,重复“启动应用 → 强制让设置接口失败(如临时停后端)→ 再恢复并操作会话”的流程,进入设置面板确认主题、系统提示词、模型参数等未被清空;同时检查数据库 user.settings.ui 中应保留完整字段,而非仅剩 {"version": "0.11.0", "pinnedModels": []}。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug] All models hang on GB300 (SM103) with FlashInfer 0.6.7](https://www.chat-gpts.plus/wp-content/uploads/2026/08/38729-54a22b97-768x403.jpg)
