快速结论:该报错发生在 Open WebUI v0.11.0 之后的 dev 版本中,所有确认对话框(删除聊天、删除消息、删除文件夹/模型/知识库等)按 Enter 键会静默取消操作而非确认。优先排查对话框初始焦点是否落在了 Cancel 按钮上。
适用环境:Open WebUI dev 分支(v0.11.0 之后的回归版本),已在当前 dev 版本中复现;v0.11.0 不受影响。
最快修复方案:暂无确认的一步修复方案。根本修复需要给 ConfirmDialog 的焦点陷阱显式指定 initialFocus(优先聚焦对话框内输入框,否则聚焦 Confirm 按钮)。开发者已确认修复,PR 由 #27630 跟进。
注意事项:此问题是由 #27491 修复 Enter 键事件委托后引入的回归(该修复本身意图正确,但暴露了焦点管理的缺陷)。如果使用 v0.11.0 及更早版本,则不存在此问题;在 dev 版本中可通过鼠标点击 Confirm 按钮规避。
问题场景
在 Open WebUI dev 版本中,当用户对聊天、消息、文件夹、模型或知识库执行删除操作时,会弹出确认对话框;此时按 Enter 键期望确认操作,但实际效果是关闭对话框且不执行任何操作(聊天记录或消息仍然保留)。该问题发生在所有类型的确认对话框中,属于全局性回归。
报错原文
issue: Enter in confirmation dialogs activates Cancel instead of confirming (v0.11.0 and dev)
Expected Behavior:
Pressing Enter while a confirmation dialog is open (delete chat, delete message, delete folder/model/knowledge, etc.) confirms the action, as it always has.
Actual Behavior:
Pressing Enter closes the dialog without performing the action. Nothing is deleted; the dialog silently cancels.
原因分析
根本原因与 ConfirmDialog 的焦点管理机制有关。#27491 修复将对话框窗口级的 Enter 处理改成委托给当前聚焦控件(通过 target.closest('a, button, textarea') 判断),让原生激活行为生效。但问题在于对话框的焦点陷阱(focus trap)创建时并未指定 initialFocus,因此焦点陷阱会回退到容器内第一个可聚焦节点,即 Cancel 按钮。这意味着对话框打开时 Cancel 按钮处于不可见的聚焦状态,而 #27491 的修复让 Enter 键原生激活了聚焦的 Cancel 按钮,导致操作被静默取消。
本质缺陷是 ConfirmDialog 从未刻意选择初始焦点——在旧版全局拦截 Enter 的处理机制下此问题未体现;#27491 让焦点变得有意义后,暴露了默认聚焦 Cancel 按钮的偶然行为。
环境排查
- 确认当前运行的 Open WebUI 是否为 dev 分支构建(v0.11.0 之后的版本)。
- 若使用 v0.11.0 发布版,该问题不存在,无需进一步排查。
- 检查是否同时受到 #26417(通过点击背景关闭对话框时挂起)和 #26172(搜索框 Enter 触发错误操作)等其他 Enter 键回归问题的影响。
解决步骤
- 临时规避:在 dev 版本中,遇到确认对话框时使用鼠标点击 Confirm 按钮,避免单独按 Enter 键。
- 关注上游修复:Issue 报告者已确认修复方案并提交 PR(#27630),等待合并到 dev 分支后更新即可。
- 如需自行验证修复,可检查
ConfirmDialog.svelte中 focus trap 的initialFocus参数是否显式指定(优先聚焦输入框,否则聚焦 Confirm 按钮)。 - 如果问题紧急且无法等待修复,可考虑回退到 v0.11.0 版本继续使用,该版本确认对话框的 Enter 行为正常。
验证方法
修复后,打开任意确认对话框(如删除聊天),按 Enter 键应能确认操作并触发实际删除行为;同时确认对话框打开时焦点环应显式出现在 Confirm 按钮上(而非 Cancel 按钮)。若对话框内含输入框(例如重命名弹窗),则初始焦点应在输入框内,Enter 在输入框中应插入换行而非触发确认。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Question]: How to deal with the situation that the user_id returned in the Conversation table in the database is null?](https://www.chat-gpts.plus/wp-content/uploads/2026/08/7940-bcfd3c79-768x403.jpg)
![[Question]: dependency failed to start: container ragflow-mysql is unhealthy](https://www.chat-gpts.plus/wp-content/uploads/2026/08/7501-3cad0829-768x403.jpg)