issue: Hidden base models can’t be selected when creating a model (non-admin)

该报错发生在 Open WebUI 中,当非管理员(如 Teacher 组)尝试创建模型并选择被标记为 hidden 的基础模型时,该模型不会出现在“Base Model (From)”下拉框中。优先排查方向是确认是否为权限设计变更(自 v0.10.0/PR #25668 起)导致的预期行为,而非程

快速结论:该报错发生在 Open WebUI 中,当非管理员(如 Teacher 组)尝试创建模型并选择被标记为 hidden 的基础模型时,该模型不会出现在“Base Model (From)”下拉框中。优先排查方向是确认是否为权限设计变更(自 v0.10.0/PR #25668 起)导致的预期行为,而非程序漏洞。

适用环境:Open WebUI v0.11.3;安装方式为 Docker;操作系统为 Ubuntu;浏览器为 Chrome。Issue 中未报告具体的 Ollama 版本或 GPU 环境。

最快修复方案:暂无确认的一步修复方案。Issue 讨论中明确指出,自 v0.10.0 起将隐藏模型从非管理员的 Base Model 选择器中过滤掉是一次有意为之的修复,而非最近引入的回归。管理员可通过手动 API 调用或手动 JSON 上传来创建基于隐藏模型的模型,但 UI 层不提供针对非管理员组的“可见性”权限开关。

注意事项:如果您期望 Teacher 组(非管理员)能在 UI 中选择隐藏基础模型,此需求被视为 Feature Request,而非 Bug 修复。当前若强行绕过限制,只能通过管理员进行 API/JSON 操作,或调整组权限为管理员,这可能会使隐藏模型对所有用户可见,破坏原有权限设定。

问题场景

在 Open WebUI 中,管理员将基础模型(如 llama3)设置为 hidden,并配置了拥有模型创建权限的 Teacher 组和不拥有该权限的 Student 组。预期场景是 Teacher 组可以基于该隐藏模型创建新的自定义模型,而 Student 组在聊天/模型选择器中不可见该隐藏模型。实际触发的问题是:Teacher 组(非管理员)在创建模型时,“Base Model (From)”下拉框中缺少该隐藏模型,导致无法基于其构建新模型;而管理员账户仍可正常看到。

报错原文

issue: Hidden base models can't be selected when creating a model (non-admin)

Set up a base model (e.g. llama3) marked **hidden**, a *Teacher* group that has the model-creation permission, and a *Student* group that does not.
- *Student*: correctly does **not** see llama3 in the chat picker. ✓
- *Teacher* (non-admin): llama3 is **missing** from the "Base Model (From)" dropdown — cannot build on it. ✗
- Admins still see it, because the filter is gated on role === 'admin'.

原因分析

根据 Issue 讨论,此问题并非最近的代码回归,而是自 Open WebUI v0.10.0 引入的一次行为变更,与 Pull Request #25668 相关。该变更将隐藏模型过滤器的判定条件硬编码为 role === 'admin',即仅管理员角色可以在工作区模型选择器中看到并选择隐藏模型。

可能原因如下:

  • 设计意图变更:维护者认为隐藏模型仅应对管理员可见,这本身是修复另一个安全/权限报告的结果。
  • 权限粒度不足:系统没有提供针对“用户组”级别的独立权限开关来控制隐藏模型在 UI 中的可见性。模型创建权限与隐藏模型可见性权限在逻辑上是解耦的,但后者的判定逻辑目前被硬编码为仅管理员。

环境排查

  • 确认当前 Open WebUI 版本是否低于 v0.10.0(该版本为行为分界点);Issue 报告时使用版本为 v0.11.3。
  • 检查 Docker Compose 或部署脚本中是否映射了 WEBUI_VERSION 环境变量,用于锁定或升级版本。
  • 如果是通过 Docker 拉取镜像,请确认镜像标签 latest 或具体的版本标签与预期一致,避免因缓存或错误标签导致无法验证修复。
  • 确认浏览器控制台或后端日志中是否出现权限相关错误信息,但这并非本问题的决定性排查要素。
  • 验证模型元数据中 hidden 字段是否真实生效(即 Student 组在聊天选择器确实看不到该模型)。

解决步骤

  1. 确认期望是否为最新官方定义:阅读 PR #25668 的变更说明,了解该行为被修改的原始安全动机。这将帮助判断您当前遇到的情况是否与官方预期一致。
  2. 如果您的场景是“非管理员教师必须通过 UI 选择隐藏模型”:当前版本无 UI 选项可开启。可优先尝试以下替代方案(如果非 IT 背景教师无法接受,则需考虑权限调整):
    • 方案 A:由管理员在“Workspace”中通过 JSON 编辑器手动创建基于隐藏模型的模型,创建后正常分配给 Teacher 组使用。
    • 方案 B:通过 API 调用创建模型,请求中直接引用隐藏的 base_model_id
  3. 如果希望将此需求作为新功能实现:请在 Open WebUI 仓库中提交 Feature Request,附带本 Issue 链接,建议新增“允许非管理员组在 UI 中选择隐藏模型”的权限开关。
  4. 临时回退验证:如果此行为严重阻碍当前工作流,可考虑将 Open WebUI 镜像回退至 v0.10.0 之前的版本(如 v0.9.x)。但请注意,这可能引入旧版的安全漏洞,不推荐长期使用;此方案仅为临时验证或等待官方回应。
  5. 检查组权限设置:在“Admin Panel – Users & Groups”中确认 Teacher 组已勾选“Can Create”权限,且该用户非 admin 角色。此步骤用于排除权限未生效的情况。

验证方法

通过以下步骤确认问题场景是否与系统行为一致:

  • 使用 Teacher 组账户登录,进入“Workspace” – “Create Model”,观察“Base Model (From)”下拉框是否包含隐藏模型。若仍不显示,则确认当前版本限制了 UI 操作。
  • 切换至管理员账户,执行同样的操作,确认管理员可看到该隐藏模型。此差异可进一步验证权限判断逻辑与 Issue 描述一致。
  • 使用 Student 组账户验证隐藏模型未出现在聊天/模型选择器中,确保 hidden 标志对普通用户仍然生效。
  • 如果使用了 API 或 JSON 上传方案,请确认创建的模型能被 Teacher 组正常调用,且未将底层基础模型暴露给学生。

参考来源

open-webui/open-webui #29639
相关拉取请求:PR #25668
潜在相似问题参考:#28181(非管理员访问工作区模型的外部 base_model_id)

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 22017

发表回复

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