TypeError: crypto.randomUUID is not a function”**

该报错通常发生在通过明文 HTTP(非 localhost)访问 Open WebUI v0.12.0 时,在前端调用 crypto.randomUUID 的操作(创建/编辑 Skill、模型编辑器里的 Model Controls)会失败。优先排查点:确认当前页面是否运行在安全上下文(HTTPS

快速结论:该报错通常发生在通过明文 HTTP(非 localhost)访问 Open WebUI v0.12.0 时,在前端调用 crypto.randomUUID 的操作(创建/编辑 Skill、模型编辑器里的 Model Controls)会失败。优先排查点:确认当前页面是否运行在安全上下文(HTTPS 或 localhost),以及浏览器是否为该 API 提供支持。

适用环境:Open WebUI v0.12.0;Docker 安装方式;操作系统 Alma 10;通过网络以 HTTP 方式访问。Issue 中未提供浏览器、Ollama 版本、Python、CUDA、显卡等信息。

最快修复方案:暂无确认的一步修复方案。Issue 被标记为 duplicate 并关闭,未在该讨论中给出经维护者验证的修复步骤。

注意事项:Issue 作者指出代码库中还有其他地方也调用了 crypto.randomUUID,因此即使临时绕过 Skill 和 Model Controls 入口,其他前端功能仍可能触发同类错误。是否属于预期行为(需要安全上下文)在该 Issue 中未被确认。

问题场景

用户通过 Docker 部署 Open WebUI v0.12.0,并从网络中以明文 HTTP 访问(非 HTTPS、非 localhost 的测试部署或家庭环境)。在此场景下触发前端异常:

  • 在模型编辑器中点击 Model Controls 的加号时,操作被静默忽略;
  • 创建或编辑 Skills 时页面崩溃,只能刷新页面恢复。

复现路径之一:Workspace → Skill → Create;或 Workspace → Models → Edit Model → 点击 Model controls 下的加号。

报错原文

Uncaught TypeError: crypto.randomUUID is not a function

原因分析

最可能的原因是:crypto.randomUUID 属于 Web Crypto API,在浏览器中只在“安全上下文”(secure context)下可用,即 HTTPS 页面或被视为可信来源的 localhost。当 Open WebUI 通过普通 HTTP 的局域网地址访问时,该函数可能不存在或被禁用,于是调用它的前端代码抛出 TypeError: crypto.randomUUID is not a function。

Issue 中未确认这是浏览器版本问题、Open WebUI 的实现问题,还是安全上下文的预期限制;作者本人也未在该讨论中得出最终结论。

环境排查

  • 确认访问 Open WebUI 的完整协议与地址:是 http:// 局域网 IP / 域名,还是 https:// 或 http://localhost。
  • 确认 Open WebUI 版本:Issue 中为 v0.12.0。
  • 确认浏览器类型与版本(Issue 的 Browser 一栏为空,未提供)。
  • 确认部署方式:Issue 中为 Docker。
  • 确认操作系统:Issue 中为 Alma 10。
  • Python、CUDA、PyTorch、显卡、Ollama 版本在 Issue 中均未提供,无需作为排查前提。

解决步骤

  1. 先确认问题是否只在 HTTP 访问时出现:用 http://localhost 或 https:// 打开同一实例,重试 Workspace → Skill → Create 以及 Model Controls 的加号。可优先尝试。
  2. 如果是通过网络 HTTP 访问,且该部署允许启用 HTTPS,可尝试改走 HTTPS 访问后再复测;这是针对“安全上下文”这一可能原因的直接规避思路。可优先尝试。
  3. 如果暂时无法使用 HTTPS,可留意 Issue 中提到的代码搜索链接:仓库内还有其他 crypto.randomUUID 调用点,因此不能保证只避开 Skill 与 Model Controls 就能完全规避该错误。
  4. Issue 最终以 duplicate 关闭(关联 #32238),如需追踪实际修复,应转向对应的重复 Issue 与上游提交,而不是等待本 Issue 内的方案。

验证方法

在改为 HTTPS 或 localhost 访问后,重新执行复现步骤:打开 Workspace → Skill 并点击 Create,确认页面不再崩溃;打开 Workspace → Models → Edit Model,点击 Model controls 下的加号,确认操作不再被静默忽略。若浏览器控制台不再出现 Uncaught TypeError: crypto.randomUUID is not a function,说明该场景下的问题已绕过或解决。

参考来源

open-webui/open-webui #32261

open-webui/open-webui #32238(Issues 自动回复中标注的重复报告)

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 28953

发表回复

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