issue: Copy link on a comment does nothing over plain HTTP on a LAN address

在局域网 IP 地址上通过明文 HTTP 访问 Open WebUI 时,评论菜单中的 Copy link 没有任何反应,通常是因为该按钮直接调用了浏览器仅在 HTTPS 或 localhost 下提供的 navigator.clipboard.writeText ,未做降级处理。优先排查页面是否处

快速结论:在局域网 IP 地址上通过明文 HTTP 访问 Open WebUI 时,评论菜单中的 Copy link 没有任何反应,通常是因为该按钮直接调用了浏览器仅在 HTTPS 或 localhost 下提供的 navigator.clipboard.writeText,未做降级处理。优先排查页面是否处于 HTTPS 或 localhost 环境,再检查评论复制链接的实现是否带旧版复制回退。

适用环境:Open WebUI 0.13.1(Issue 称当前 dev 版本同样存在);浏览器端访问方式为局域网 IP 的明文 HTTP;Comments 已在管理员设置中开启。

最快修复方案:暂无确认的一步修复方案;Issue 已确认该问题由 e2e/comments/test_comment_copy_link_plain_http.py 覆盖,替代手段是在 HTTPS 或 localhost 下访问,或等待修复该入口的剪贴板回退逻辑。

注意事项:本 Issue 未给出补丁链接或已验证的版本修复,以上为基于报错与复现步骤的排查方向,不能视为官方修复结论。

问题场景

用户在局域网内的另一台电脑或手机上,用形如 http://192.168.1.20:8080 的明文 HTTP 地址(非 localhost、非 HTTPS)打开 Open WebUI 0.13.1,并在管理员设置中开启了 Comments。进入工作区的某个 prompt,打开评论并发布一条评论,悬停评论后打开 More 菜单,点击 Copy link,结果剪贴板内容没有变化,也没有出现 toast 提示。同一页面上的其他复制按钮(例如复制消息)仍然可以正常工作。

报错原文

Cannot read properties of undefined (reading 'writeText')

原因分析

该评论菜单项直接调用了浏览器的剪贴板接口(navigator.clipboard.writeText),而浏览器只在安全上下文(HTTPS 或 localhost)下提供该接口;在局域网明文 HTTP 地址下访问时,该对象可能为 undefined,于是读取 writeText 时抛出上述错误,并且没有 toast 或回退提示。应用内其他复制按钮在该环境下会回退到较旧的复制方式,所以仍能工作,这提示评论复制链接入口缺少同样的降级处理。

环境排查

  • 确认 Open WebUI 版本是否为 0.13.1 或当前 dev 版本。
  • 确认访问地址协议:是 https:// 还是 http://,以及是否使用 localhost 而非局域网 IP。
  • 确认管理员设置中 Comments 是否已开启。
  • 确认问题出现在哪类客户端:另一台电脑浏览器或手机浏览器。
  • 确认控制台中是否出现上述 writeText 报错,并对比同一页面上其他复制按钮是否能正常写入剪贴板。
  • 如具备测试环境,可运行仓库中的 e2e/comments/test_comment_copy_link_plain_http.py 验证同一场景。

解决步骤

  1. 先用 HTTPS 或 localhost 地址访问 Open WebUI,重新执行“悬停评论 → More → Copy link → 粘贴”,确认复制链接功能本身可用,以区分是剪贴板安全上下文限制还是功能缺陷。
  2. 再回到局域网明文 HTTP 地址(如 http://192.168.1.20:8080)复现,同时打开浏览器控制台,确认点击 Copy link 时出现 Cannot read properties of undefined (reading 'writeText'),且没有 toast 提示。
  3. 对照同一页面的其他复制按钮(如复制消息),确认它们在该 HTTP 地址下仍可正常工作,从而判断问题范围限定在评论的 Copy link 入口。
  4. 可优先尝试:为评论复制链接入口补充与其余复制按钮一致的旧版复制回退,或在其不可用时给出明确提示;此方向来自 Issue 对“该入口没有 fallback”的描述,未经 Issue 验证。
  5. 在修复发布前,若必须在局域网内使用该功能,可临时切换到 HTTPS 或 localhost 访问;该规避方式未在 Issue 中明确验证。

验证方法

在局域网明文 HTTP 地址下重复复现步骤:点击评论菜单中的 Copy link 后到其他位置粘贴,应得到该评论的链接;同时浏览器控制台不再出现 Cannot read properties of undefined (reading 'writeText'),且成功或失败都有可见反馈。

参考来源

open-webui/open-webui #33927

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 33495

发表回复

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