Misc. bug: Web UI is broken

用户在 Arch Linux 上通过 AUR 包(llama.cpp-cuda)安装 llama.cpp,运行 llama-server 启动 Web UI 后,在 Firefox 和 Chromium 浏览器中均无法正常加载页面。报错提示 GET http://localhost:8080/too

Misc. bug: Web UI is broken

Misc. bug: Web UI is broken

快速结论:该报错通常出现在使用 AUR 包(如 llama.cpp-cuda 或 llama.cpp-vulkan)安装的 llama-server 中,浏览器访问 Web UI 时会加载失败并返回 404 错误。优先排查编译时的 -DLLAMA_BUILD_WEBUI=ON-DLLAMA_USE_PREBUILT_UI=ON 选项是否正确设置。

问题场景

用户在 Arch Linux 上通过 AUR 包(llama.cpp-cuda)安装 llama.cpp,运行 llama-server 启动 Web UI 后,在 Firefox 和 Chromium 浏览器中均无法正常加载页面。报错提示 GET http://localhost:8080/tools 404 Not Found,导致 UI 整体不可用。

报错原文

XHR
GET
http://localhost:8080/tools
[HTTP/1.1 404 Not Found 0ms]

[ToolsStore] Failed to fetch built-in tools: Error: File Not Found
    Cg http://localhost:8080/bundle.js:43
    list http://localhost:8080/bundle.js:135
    fetchBuiltinTools http://localhost:8080/bundle.js:135
    owe http://localhost:8080/bundle.js:135
     http://localhost:8080/bundle.js:135

原因分析

可能原因:AUR 包在构建时未能正确编译或包含 Web UI 的前端资源文件(例如 bundle.js 和 tools 端点所需的静态文件)。用户尝试手动增加 -DLLAMA_BUILD_WEBUI=ON 选项无效,但使用包含 -DLLAMA_USE_PREBUILT_UI=ON 和取消手动调用 npm 的 PKGBUILD 后问题修复。这表明 AUR 包的默认构建配置可能遗漏了必要的 CMake flags 或 npm 构建步骤,导致前端资源缺失。

环境排查

  • 确认 llama.cpp 版本:Issue 中报告为 build 9245(cae45a9),用户测试 b9222 从源码编译正常。
  • 确认操作系统:Arch Linux。
  • 确认 AUR 包名称和 CMake 配置:llama.cpp-cuda 或 llama.cpp-vulkan,关注 -DLLAMA_BUILD_WEBUI-DLLAMA_USE_PREBUILT_UI 是否在 PKGBUILD 中启用。
  • 检查浏览器控制台网络请求,确认 /tools 和其他端点是否返回 404。

解决步骤

  1. 从源码手动编译(优先尝试):直接克隆 llama.cpp 仓库,使用 cmake 配置并确保包含 -DLLAMA_BUILD_WEBUI=ON-DLLAMA_USE_PREBUILT_UI=ON,然后编译。手动编译已验证可修复问题(参考 b9222 版本)。
  2. 修改 AUR PKGBUILD(针对高级用户):检查 AUR 包的 PKGBUILD,确认 CMake 选项是否包含 -DLLAMA_BUILD_WEBUI=ON。如果缺失,在 build() 函数的 _cmake_options 中添加该选项。
  3. 避免手动调用 npm:如果 PKGBUILD 中手动调用 npm 安装前端依赖,建议删除该步骤,让 CMake 自动处理(配置 -DLLAMA_USE_PREBUILT_UI=ON 可启用预构建 UI 作为 fallback)。
  4. 使用已修复的派生包:可参考社区中已修改的 PKGBUILD 示例(如 llama.cpp-vulkan-custom),复制其 CMake 选项到自己的 PKGBUILD 中。
  5. 更新 AUR 包:检查 AUR 包最近是否有更新(Issue 中提及 b9222 后 PKGBUILD 移除了手动 npm 调用),升级到最新版本可能自动修复问题。

验证方法

重新编译并启动 llama-server 后,使用浏览器访问 http://localhost:8080,确认 Web UI 正常加载且浏览器控制台无 404 错误。同时检查 http://localhost:8080/tools 端点是否返回有效的 JSON 数据。

参考来源

ggml-org/llama.cpp #23379

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 10684

发表回复

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