issue: Double-clicking Save duplicates terminal orchestrator connections

在 Open WebUI 的 管理后台 → 集成 → 终端(Admin Settings → Integrations → Terminal)中编辑已有的 terminal orchestrator 连接时,快速双击 Save 会在后端触发重叠的写入请求,结果不是更新原连接,而是新增一条重复连接。优

快速结论:在 Open WebUI 的 管理后台 → 集成 → 终端(Admin Settings → Integrations → Terminal)中编辑已有的 terminal orchestrator 连接时,快速双击 Save 会在后端触发重叠的写入请求,结果不是更新原连接,而是新增一条重复连接。优先确认是否重复点击了保存按钮,以及保存流程是否缺少“进行中”状态锁。

适用环境:Open WebUI v0.11.3 — dev branch;Git Clone 安装方式;Windows 10;使用 Docker Orchestrator 作为 terminal orchestrator。

最快修复方案:暂无确认的一步修复方案。Issue 已标记为 “Addressed in dev.”,可优先尝试拉取 dev 分支最新源码并重新部署,避免在保存过程中重复点击 Save。

注意事项:Issue 未给出具体修复 commit、补丁内容或验证步骤,因此“升级到 dev 最新源码”属于基于已解决状态的推断,不保证能解决所有版本的同类问题;已创建的重复连接需要手动清理,避免后续编辑到错误的那条配置。

问题场景

用户在 Open WebUI 管理后台的“集成 → 终端”页面中,打开一条已存在的 terminal orchestrator 连接并修改配置,然后快速双击(或多击)Save 按钮。预期是更新原连接,实际却在连接列表中新增了重复条目。Issue 作者通过反复操作累计创建了 10 条以上重复连接。日志显示同一时间窗口内出现两组成对的 PUT /api/v1/policies/<policy-id>PUT /api/v1/policies/<policy-id>/lifecycle 请求,说明保存动作被并发触发了两次。

报错原文

issue: Double-clicking Save duplicates terminal orchestrator connections

2026-09-16 01:17:34.136 | INFO | logging:callHandlers:1762 - <internal-ip>:<port> - "GET /p/<policy-id>/execute HTTP/1.1" 200
2026-09-16 01:17:34.623 | INFO | logging:callHandlers:1762 - <internal-ip>:<port> - "PUT /api/v1/policies/<policy-id> HTTP/1.1" 200
2026-09-16 01:17:34.747 | INFO | logging:callHandlers:1762 - <internal-ip>:<port> - "PUT /api/v1/policies/<policy-id> HTTP/1.1" 200
2026-09-16 01:17:34.890 | INFO | logging:callHandlers:1762 - <internal-ip>:<port> - "PUT /api/v1/policies/<policy-id>/lifecycle HTTP/1.1" 200
2026-09-16 01:17:35.019 | INFO | logging:callHandlers:1762 - <internal-ip>:<port> - "PUT /api/v1/policies/<policy-id>/lifecycle HTTP/1.1" 200

原因分析

从日志可以看到,两次 PUT /api/v1/policies/<policy-id> 与两次 PUT /api/v1/policies/<policy-id>/lifecycle 在约 0.4 秒内连续出现,说明前端没有对保存请求做去重或互斥处理,后端在并发写入时也没有按 policy-id 做幂等更新,最终表现为“更新”变成了“新增”。可优先排查的方向包括:Save 按钮是否缺少 saving/disabled 状态、保存流程是否未按唯一标识做 upsert、以及 orchestrator 侧对并发 PUT 的处理逻辑。

需要注意的是,Issue 正文并未给出确切的代码定位,上述原因属于基于日志与现象的推测;相关 Issue(#27719、#28148、#24743)都指向 Admin Settings → Integrations 的保存路径与持久化逻辑,但不构成对本 Issue 根因的直接证明。

环境排查

  • 确认 Open WebUI 版本:Issue 中为 v0.11.3 — dev branch,第三方分支或本地修改可能引入不同行为。
  • 确认安装方式:Issue 中为 Git Clone;通过 Docker 镜像安装的用户应先确认镜像是否为同一提交。
  • 确认操作系统:Issue 中为 Windows 10,其他平台未验证。
  • 确认 terminal orchestrator 的部署方式:Issue 中使用 Docker Orchestrator,需查看其容器日志中是否存在重叠的 PUT 请求。
  • 确认浏览器端是否启用了会放大双击行为的插件或宏,以及网络延迟是否导致按钮反馈滞后。
  • Issue 未提供 Python、CUDA、PyTorch、显卡等信息,这些与本问题无关,无需作为排查项。

解决步骤

  1. 先停止重复点击:保存时只点击一次 Save,等待请求返回并看到列表刷新后再操作。
  2. 在管理后台“集成 → 终端”中检查连接列表,手动删除因双击产生的重复条目,避免多条同名连接造成配置混乱。
  3. 查看 terminal orchestrator 容器日志,确认是否存在时间戳相近的成对 PUT .../policies/<policy-id> 请求,用于验证是否为并发保存触发。
  4. 由于 Issue 已标记 “Addressed in dev.”,可优先尝试切换到 open-webui dev 分支的最新源码并重新部署,再按复现步骤验证是否仍会新增重复连接。
  5. 如果升级后仍能复现,保留 orchestrator 日志、浏览器 Network 面板中重复的 PUT 请求记录,以及连接列表截图,作为补充信息重新提交或跟进。

验证方法

按原复现步骤操作:打开已有 orchestrator 连接的设置,修改某个字段后只点击一次 Save,确认列表中仍只有一条连接且设置已更新;再尝试快速双击 Save,观察列表中是否不会再出现新增连接条目。同时检查 orchestrator 日志,确认同一保存动作不再产生重叠的 PUT 请求。

参考来源

open-webui/open-webui #30057

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 23760

发表回复

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