issue: SearXNG search used to work, now it silently does absolutely nothing (since v.0.10)

用户在 Docker 中运行 Open WebUI v0.10.2(Ollama 0.31.1 非 Docker 安装),并启用 SearXNG(Docker 安装)作为网页搜索引擎。在 Open WebUI 的「管理员设置 > 网页搜索」中,将 SearXNG 的 URL 填入 http://<s

issue: SearXNG search used to work, now it silently does absolutely nothing (since v.0.10)

issue: SearXNG search used to work, now it silently does absolutely nothing (since v.0.10)

快速结论:报错发生在 Open WebUI v0.10 及以上版本中,启用了网页搜索并配置了 SearXNG 端点,但搜索请求未被发出,模型直接开始回答。优先排查是否将「函数调用模式(Function Calling)」切换为「Legacy(遗留模式)」——自 v0.10.0 起该选项的默认行为已变更,而许多用户未注意到这一点。如切换后问题依旧,则可能是更深层的管道故障。

问题场景

用户在 Docker 中运行 Open WebUI v0.10.2(Ollama 0.31.1 非 Docker 安装),并启用 SearXNG(Docker 安装)作为网页搜索引擎。在 Open WebUI 的「管理员设置 > 网页搜索」中,将 SearXNG 的 URL 填入 http://<searxng-address>:<searxng-port>/search?q=<query> 后,对话中选中「网页搜索」并向模型提问(例如“why is the sky blue?”),预期应看到搜索请求发送到 SearXNG 并返回结果,但实际没有任何搜索请求被发出,模型直接回答。Docker 和浏览器控制台均无相关错误日志。

报错原文

No request is made to SearXNG.
No results are returned.
The feature appears broken without any meaningful error message.
Existing configurations that previously worked are no longer functional.

原因分析

最可能的原因是 Open WebUI v0.10.0 对「函数调用模式」(Function Calling)的默认值进行了有意变更。此前默认使用旧版(Legacy)函数路径,新版改为默认使用新的「原生/默认」函数调用方式。若用户未在「管理员设置 > 模型 > 函数调用模式」中手动切换为“Legacy”,则网页搜索管道中的 SearXNG 请求可能被跳过——因为新的函数调用模式可能与 SearXNG 的集成方式不兼容。

Issue 讨论中,一位维护者给出了「99.999% 肯定」的诊断,即切换为 Legacy;但原发布者在未切换的情况下回滚了该建议,并提供了截图作为证据。不过根据复现步骤和截图,原发布者确实未将模式改为“Legacy”。因此,此问题很可能由以下因素之一导致:

  • 函数调用模式未切换为 Legacy(可优先尝试);
  • 其他寻址/网络层面的问题(如容器间 DNS 无法解析 SearXNG 主机名,但 Issue 中提到 curl 在容器内部工作正常);
  • v0.10.2 中网页搜索管道的其他回归 bug。

环境排查

  • Open WebUI 版本:v0.10.2(Docker 部署)
  • Ollama 版本:0.31.1(非 Docker)
  • 操作系统:Alpine(Docker 容器内)
  • 浏览器:Firefox 152.0.4
  • SearXNG 部署方式:Docker
  • 确认 SearXNG 在 Open WebUI 容器内部可通过 curl 正常访问(如用户#26750 已验证)
  • 检查 Open WebUI 管理员设置中的「网页搜索」URL 是否包含正确的协议、端口和查询参数占位符(<query>

解决步骤

  1. 登录 Open WebUI,进入「管理员设置」(Admin Panel)。
  2. 导航至「模型(Models)」或「设置(Settings)」中的“函数调用模式”(Function Calling)选项。
  3. 将当前模式从「默认/原生(Default/Native)」切换为「Legacy(遗留模式)」。
  4. 保存设置并重新启动 Open WebUI 容器(docker restart)。
  5. 重新进行一次网页搜索测试(例如:在对话中选择“网页搜索”,输入问题,观察是否向 SearXNG 发送请求)。
  6. 如问题依旧,确认 SearXNG URL 格式是否正确:http://<SearXNG容器名或IP>:<端口>/search?q=<query>。建议在 Open WebUI 容器内部使用 curl 测试同一地址,确保基础网络连通性。
  7. 如果 curl 测试成功但 Open WebUI 仍无请求,则可能属于 v0.10.x 中网页搜索管道更深层的回归 bug,可查阅 Issue #26791(fetch_url 失败)或尝试回退至 v0.9.6 以下版本作为临时规避。

验证方法

在切换为 Legacy 模式后,在对话中选择「网页搜索」,提出一个需要实时信息的问题(例如“今天北京的天气如何?”)。预期行为是:模型回答之前,Open WebUI 应发出一个 GET 请求到 SearXNG 端点,并在对话界面中显示搜索结果片段。如果看到搜索结果被检索并注入到上下文中,则问题解决。如果返回的响应中仍没有搜索请求(网络、控制台以及容器日志均无相关记录),说明问题未解决,需进一步排查网络或管道配置。

参考来源

open-webui/open-webui #26841

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 14707

发表回复

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