Misc. bug: WebUI MCP panel breakage

用户在 Linux aarch64 系统上运行 llama-server,使用 --ui-mcp-proxy 参数启动 WebUI 并连接 MCP 服务器,同时开启了 draft 模型、多模态、Jinja 模板等高级功能。在 WebUI 的 MCP 设置页面中操作时,遇到了三个独立但相关的错误。

Misc. bug: WebUI MCP panel breakage

Misc. bug: WebUI MCP panel breakage

快速结论:该问题发生在 llama-server 启动 WebUI 并启用 MCP(Model Context Protocol)代理(--ui-mcp-proxy)时,MCP 设置界面出现多个交互故障,包括复选框缺失、禁用作变成删除、以及 MCP 服务器无响应时锁定长达 500 秒。优先排查是否使用的是包含提交 38fd5c99931576bdf57263fc934bbbb4fd5a5513 的版本。

问题场景

用户在 Linux aarch64 系统上运行 llama-server,使用 --ui-mcp-proxy 参数启动 WebUI 并连接 MCP 服务器,同时开启了 draft 模型、多模态、Jinja 模板等高级功能。在 WebUI 的 MCP 设置页面中操作时,遇到了三个独立但相关的错误。

报错原文

# Bug 1: MCP "Add New Server" 页面缺少 "llama-proxy" 复选框
# Bug 2: MCP 服务器连接超时锁定 500 秒(开发者确认:IT'S FIVE. HUNDER. SECONDS.)
# Bug 3: 点击 MCP 服务器的 toggle 开关禁用服务器时,实际行为是删除服务器

原因分析

三个 Bug 均与提交 38fd5c99931576bdf57263fc934bbbb4fd5a5513 引入的 WebUI MCP 面板重构有关。可能原因包括:

  • Bug 1:“Add New Server”页面的 UI 代码更新后遗漏了 llama-proxy 复选框的渲染逻辑,导致添加新服务器时无法勾选代理选项。
  • Bug 2:MCP 服务器连接的超时机制在代码调整后,默认超时被错误地设定或重置为 500 秒,而非合理的短超时。
  • Bug 3:toggle 开关的点击事件处理错误,将“禁用/启用”操作与“删除”操作的代码路径混淆,导致触发禁用时实际上调用了删除接口。

环境排查

  • 确认 llama.cpp 版本:包含提交 38fd5c99931576bdf57263fc934bbbb4fd5a5513 或更早的版本。
  • 确认构建信息:built with GNU 16.1.1 for Linux aarch64(系统架构与编译器版本)。
  • 确认启动参数中包含 --ui-mcp-proxy
  • 确认 WebUI 版本与 llama-server 匹配(预编译 UI 文件与当前服务器代码对应)。

解决步骤

  1. 升级到修复版本:拉取 ggml-org/llama.cpp 的最新代码,包含 PR #25630 及后续的修复提交。作者已确认在个人分支上修复了全部 3 个 Bug。
  2. 临时规避 Bug 1:如需添加新 MCP 服务器并启用 proxy,先通过“Add New Server”添加,再在服务器的编辑菜单(edit menu)中找到并勾选 llama-proxy 选项。
  3. 临时规避 Bug 2:避免等待 MCP 服务器超时(500 秒),建议在客户端准备重试前手动刷新页面或关闭 MCP 连接。开发者提到超时实际存在,但时间过长,全局超时设置已在修复中调整。
  4. 临时规避 Bug 3:不要通过 toggle 开关禁用 MCP 服务器。如需禁用,建议直接删除后再重新添加,或等待修复。注意:禁用后刷新页面会看到服务器条目仍在但内容为空(数据不可用)。
  5. 验证修复 PR:检查 #25630 是否已包含你需要的所有修复,特别是超时逻辑、toggle 语义、以及 UI 复选框的回归。

验证方法

更新到修复版本后,在 WebUI 中执行以下操作确认问题已修复:

  • 打开 MCP 设置 → “Add New Server”,查看是否出现 llama-proxy 复选框。
  • 连接一个不可达的 MCP 服务器地址,观察超时时间是否缩短为合理值(建议 ≤30 秒)。
  • 点击 toggle 开关禁用已连接的 MCP 服务器,确认服务器不会被删除,且刷新页面后依然保持禁用状态并有数据展示。

参考来源

ggml-org/llama.cpp #25625

相关修复 PR:#25630

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 13411

发表回复

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