issue: disabling a model in the admin Models list makes it disappear with no way to re-enable it

该问题发生在 Open WebUI 管理后台的 Models 列表中:当你禁用一个模型后,它会在下一次加载列表时直接消失,且“Disabled”视图也显示为空,导致没有任何入口能重新启用该模型。优先排查你的 Open WebUI 是否在 v0.11.1 或更新版本,并检查 Admin Models

快速结论:该问题发生在 Open WebUI 管理后台的 Models 列表中:当你禁用一个模型后,它会在下一次加载列表时直接消失,且“Disabled”视图也显示为空,导致没有任何入口能重新启用该模型。优先排查你的 Open WebUI 是否在 v0.11.1 或更新版本,并检查 Admin Models 列表的数据源是否已从 /api/models/base 变为 /api/models

适用环境:Docker 安装,Open WebUI v0.11.1 及最新 dev 分支(db22d89ca),Linux 操作系统,Chromium 浏览器。该问题在本地复现时使用了 6 个带有 is_active: false 的模型行,且 /api/models 返回 311 个模型,/api/models/base 返回 174 个。

最快修复方案:暂无确认的一步修复方案。Issue 中提到修复方案已以 PR #29037 提交,需等待官方合并到正式版本后才能通过升级解决;在官方修复前,建议不要禁用无法立即重新启用的模型。

注意事项:该问题不会产生控制台或容器错误,因为它发生在服务端过滤逻辑中,客户端不会抛出任何异常。简单恢复旧的 API 调用可能会解决禁用模型消失的问题,但会同时导致 143 个工作区预设模型从管理列表中丢失,因此不能直接回滚。

问题场景

在 Open WebUI 管理后台中,进入 Admin Panel > Settings > Models,将某个模型开关切换为关闭状态。操作后模型立刻从列表中消失,切换到“Disabled”视图也会显示“No models found”,此时整个 Open WebUI 界面不再有任何可重新启用该模型的入口。实测在离开 Models 标签页并重新进入后,列表总数比之前少 1,且被禁用的模型被完全过滤掉。

报错原文

issue: disabling a model in the admin Models list makes it disappear with no way to re-enable it
Disabled view shows No models found
No console errors or container errors accompany this one.
The models are filtered out server side by design and then never re-added client side, so nothing throws.

原因分析

可能原因是提交 ccbb3303f 更改了管理后台模型列表的数据源。该提交将原本调用 getModels(localStorage.token, null, true)(第三个参数 base 为 true)改为 getModels(localStorage.token),导致请求从 /api/models/base(未经筛选的提供商列表)切换到 /api/models。而 backend/open_webui/utils/models.py 中的 get_all_models() 会对 is_active 为 false 的模型进行过滤,将这些模型从返回结果中直接移除。由于管理列表的数据源已经是过滤后的列表,被禁用的模型在重建列表时就会被排除,而“Disabled”视图同样基于这个已过滤数据,因此始终显示为空。值得注意的是,这个改动同时增加了 isPresetModel() 处理,目的可能是为了让工作区预设模型出现在管理列表中,但副作用就是禁用的模型完全失去可见性。

环境排查

  • 确认 Open WebUI 版本是否为 v0.11.1 及以上,或包含 ccbb3303f 提交的版本。
  • 确认是否通过 Docker 方式部署,且使用 Linux 操作系统。
  • 检查当前环境中 /api/models/api/models/base 返回的模型数量差异,如果 /api/models 数量明显少于 /api/models/base,表明禁用模型已被服务端过滤。
  • 确认是否有模型带有 is_active: false 标记,这些模型正是会在管理列表中消失的对象。

解决步骤

  1. 在 Open WebUI 管理后台中,先检查当前版本是否已包含修复补丁(PR #29037)。可以在 About 或设置页面查看版本号,或通过 /api/config 接口确认。
  2. 如果版本未包含修复,暂时不要通过 Admin Panel 切换模型开关来禁用任何模型,以免模型被过滤后无法重新启用。
  3. 如果已禁用模型且需要恢复,可尝试直接访问 /api/models/base 接口(如果配置了 API 密钥),确认模型仍在提供商列表中,但这不会改变管理 UI 的可见性。
  4. 可优先尝试通过数据库直接修改对应模型的 is_active 字段为 true,但此操作未经官方验证,需自行承担风险并先备份数据库。
  5. 关注官方 PR #29037 的合入状态,合并后升级 Open WebUI 至包含该修复的版本,然后进入 Admin Panel > Settings > Models,切换视图筛选为“Disabled”来检查已禁用模型是否重新显示。

验证方法

升级到包含修复的版本后,进入 Admin Panel > Settings > Models,设置视图筛选为“Disabled”,确认此前被禁用的模型重新出现在列表中,并且总数与 /api/models/base 中带 is_active: false 的模型数量一致。切换模型的开关再回到“Disabled”视图,确认模型能正常显示和恢复。同时注意“All”视图中工作区预设模型(约 143 个)仍然正常列出,没有因修复而丢失。

参考来源

open-webui/open-webui #29036

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 20365

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注