
issue: searxng web search fails (since 0.9.5)
快速结论:该报错发生在 Open WebUI 从 v0.9.4 升级到 v0.9.5 或 v0.9.6 后,使用 SearXNG 进行联网搜索时出现 Invalid url value 错误。优先排查 SearXNG 返回结果中是否包含无效 URL,并回滚到 v0.9.4 验证是否恢复。
问题场景
用户在 Open WebUI v0.9.5/v0.9.6 中配置了 SearXNG 作为 Web 搜索引擎,发送聊天查询后联网搜索失败。该问题在 v0.9.4 中正常工作。用户环境包括 Docker 部署的 Open WebUI、llama.cpp 服务器以及 authentik OIDC 认证。
报错原文
2026-06-04 14:30:18.356 | ERROR | open_webui.main:process_chat:2060 - Error processing chat payload: Invalid url value
日志中同时观察到搜索结果的向量化与存储过程正常完成(”embeddings generated”、”inserted”),但在后续处理聊天负载时抛出 Invalid url value 错误。
原因分析
可能原因:Open WebUI v0.9.5/v0.9.6 将 SearXNG 的搜索请求从同步 requests.get() 迁移到了异步 aiohttp 会话,同时 SearXNG 返回的结果中可能包含格式异常的 URL(如缺少协议头或包含非法字符),导致异步会话在处理时抛出 Invalid url value 错误。该问题与 #16227 中的 “invalid URLs from SearXNG” 问题有相似性,但 v0.9.6 的异步重写放大了此异常。
环境排查
- Open WebUI 版本:v0.9.5 / v0.9.6(v0.9.4 正常)
- SearXNG 容器版本:
2026.2.16-8e824017d - Open WebUI 部署方式:Docker 容器(通过 Helm Chart 14.8)
- 其他组件:llama.cpp 服务器、authentik OIDC 2026.2.2
- 浏览器:Firefox 151
解决步骤
- 立即回滚验证:将 Open WebUI 降级到 v0.9.4,确认 SearXNG 搜索功能恢复正常。如果回滚后正常,则可以确认是 v0.9.5/v0.9.6 引入的回归问题。
- 检查 SearXNG 配置:确认 SearXNG 的安装方式(Docker 容器,版本
2026.2.16-8e824017d)及其是否返回了格式异常的 URL。可以临时在 SearXNG 容器中手动测试搜索并检查返回的 JSON 数据中的url字段。 - (可优先尝试)配置过滤器跳过无效 URL:在 Open WebUI 的设置中,如果存在 URL 过滤或清理的选项(如 “Block/Allow Domains” 或 “URL Filter”),尝试配置以跳过可能无效的 URL。具体路径为:管理员面板 → 设置 → Web Search → 添加过滤规则。
- (可优先尝试)修改 SearXNG 返回结果:如果 SearXNG 是自己维护的,可以在 SearXNG 的引擎配置中(如
settings.yml)设置search_url或result_proxy参数,避免返回无效的 URL。 - 等待官方修复:目前 v0.9.6 的
backend/open_webui/retrieval/web/searxng.py代码与main分支一致,该问题尚未在main上修复。关注官方 Issue 跟踪状态。 - 备用方案:如果以上步骤均无效,可以考虑临时使用其他 Web 搜索引擎(如本地配置的 Google Custom Search 或 Bing Search),或继续使用 v0.9.4 版本。
验证方法
在 Open WebUI 中向任意 LLM 发送一条需要联网搜索的查询(例如 “今天天气如何”),观察聊天面板中是否有搜索结果被注入并显示。同时检查 Open WebUI 的 Pod 日志(Docker 容器日志),确认不再出现 Error processing chat payload: Invalid url value 报错。



