快速结论:当普通用户(仅有写入权限、但没有 “Models Public Sharing” 权限)在 Workspace 编辑器中修改并保存一个已被管理员设为 Public 的模型时,该模型会被静默改写为 Private,公开共享被剥离。优先排查更新接口是否对编辑器回传的 access grants 再次套用了“用户添加授权时”的权限过滤逻辑。
适用环境:Issue 记录为 Open WebUI(Workspace 模型 / 模型权限管理场景),在 “current dev” 上复现。Issue 未提供操作系统、Python、CUDA、显卡或具体依赖版本,因此这些环境项无法确认。
最快修复方案:Issue 中未给出可执行的一步修复命令或配置;已关联的修复 PR 为 #30093,因此暂无确认的一步修复方案。
注意事项:该问题的关键是“保存未触碰共享设置却导致公开状态丢失”,不要把它和普通的权限不持久、或公开/私有可见性异常混为一类。在修复版本可用前,临时规避方式是避免让无 “Models Public Sharing” 权限的用户保存这类公开模型;但该规避会限制协作编辑,且 Issue 未验证其长期有效性。
问题场景
在 Open WebUI 中,管理员创建一个 Workspace 模型并设为 Public,同时给一个普通用户授予该模型的写入权限。该普通用户未开启 “Models Public Sharing” 权限(默认关闭)。当该用户打开模型编辑器,修改与共享无关的内容(例如名称、基础模型),然后点击保存,模型会变成 Private,公开共享消失,并且没有任何提示。
报错原文
bug: non-admin editing a public model silently makes it private
Expected: the edit is saved and the model stays public. The user could not have added the public share themselves, so a save that does not touch sharing must not remove it either.
Actual: the update endpoint runs every access grant the editor sends back through the same permission filter that applies when a user adds grants. The editor sends the existing grants back unchanged on every save, so the public grant that the admin set gets stripped and the model is written back as private.
原因分析
最可能的原因是更新接口(update endpoint)的权限处理范围过大:编辑器在每次保存时都会把现有的 access grants 原样回传,而更新接口对回传的每一项授权都重新执行了“用户新增授权”时使用的同一套权限过滤。由于该普通用户没有 “Models Public Sharing” 权限,管理员预先设置的 public grant 在过滤中被剥离,模型因此被写回为 Private。这不是用户主动取消共享,而是保存路径上的权限过滤副作用。
环境排查
- 确认 Open WebUI 版本:Issue 在 “current dev” 上复现,建议记录实际部署版本或 commit。
- 确认当前用户角色与权限:是否为普通用户、是否拥有该模型的写入权限、是否关闭了 “Models Public Sharing”。
- 确认模型当前可见性:保存前是否为 Public,保存后是否变为 Private。
- 确认触发路径:是否通过 Workspace 模型编辑器保存,而非 API 直接调用或其他入口。
- Issue 未提供操作系统、Python、CUDA、PyTorch、显卡及依赖版本信息,这些项目无需按固定版本核对。
解决步骤
- 按 Issue 的复现步骤确认问题:管理员创建 Workspace 模型并设为 Public,给普通用户写入权限,保持该用户的 “Models Public Sharing” 关闭。
- 让该普通用户打开模型编辑器,仅修改名称或基础模型等与共享无关的字段,然后保存。
- 以管理员身份重新打开该模型,检查其可见性是否从 Public 变为 Private。
- 若确认存在该行为,优先关注已关联的修复 PR #30093,在修复合并后升级到包含该修复的版本。
- 在升级前,可优先尝试的临时规避是:不要让没有 “Models Public Sharing” 权限的用户保存公开模型;由管理员或具备该权限的账号进行编辑保存。
验证方法
按复现步骤重新操作一次:普通用户在未获得 “Models Public Sharing” 权限的情况下保存公开模型,仅修改名称或基础模型。保存后由管理员查看该模型,确认其仍为 Public,且公开共享链接/状态未被移除;同时确认用户提交的修改已正常保存。若模型保持 Public 且修改生效,则问题已解决。
参考来源
open-webui/open-webui PR #30093
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


![[Bug] Ascend NPU: RMSNorm crashes with elementwise_affine=False; _native_npu FA rejects [B, N, 1, Skv] masks (LTX-2)](https://www.chat-gpts.plus/wp-content/uploads/2026/09/14380-1858c464-768x403.jpg)