跳到主要内容

网页搜索

Open WebUI 中的 Web Search 让语言模型能够访问互联网中的实时信息。当它没有按预期工作时,本指南可以帮助你诊断并解决常见问题。

常见 Web Search 问题

1. Web Search 在 HTTP 代理后失效

如果你把 Open WebUI 部署在 HTTP 代理后,可能会发现搜索查询本身可以成功(例如 SearXNG 能返回结果),但后续内容抓取会失败,并出现类似错误:

  • [Errno -3] Temporary failure in name resolution
  • Connection timeout to host
  • The content provided is empty

这是因为网页内容抓取器默认不会使用你的 http_proxy/https_proxy 环境变量。

解决方法:

  1. 前往:管理面板 > 设置 > Web Search
  2. 启用 信任代理环境
  3. 保存修改

或者设置环境变量 WEB_SEARCH_TRUST_ENV

WEB_SEARCH_TRUST_ENV=True
信息

这是一个 ConfigVar 变量,意味着它既可以在启动时通过环境变量设置,也可以通过管理面板 UI 配置。一旦你在 UI 中设置了它,数据库中的值就会优先生效。

这个设置会让 Open WebUI 的网页内容加载器遵循环境变量中的代理设置(http_proxyhttps_proxy)。如果不开启,即使你的搜索引擎本身能通过代理工作,从返回 URL 抓取内容时仍然会失败。


2. 来自 SearXNG 的 403 Forbidden 错误

如果你使用的是 SearXNG,并在日志中看到 403 Client Error: Forbidden,通常说明没有启用 JSON 格式。

解决方法:

编辑你的 SearXNG settings.yml,并在 formats 列表中加入 json

search:
  formats:
    - html
    - json

修改后重启 SearXNG。


3. 内容为空或结果质量差

如果 Web Search 返回空内容或结果质量很差,问题通常与上下文窗口大小或内容提取有关。

解决方法:

  • 增大上下文长度:网页通常包含 4,000-8,000+ token。如果你的模型限制是 2048 token,那你实际上会丢掉大部分内容。请在 管理面板 > 模型 > 设置 > 高级参数 中将其提高到 16384+(低于这个值时,网页内容效果通常都比较差)。

  • 检查结果数量:通过调整 WEB_SEARCH_RESULT_COUNT 控制抓取的结果数。

    在 Native/Agentic 工具调用模式下,如果模型在 search_web 中省略了 count,Open WebUI 会默认使用 WEB_SEARCH_RESULT_COUNT。如果模型提供了 count,也会被限制在管理员配置的同一最大值以内。

  • 尝试不同 loader:把 WEB_LOADER_ENGINE 改为 playwright 以处理 JavaScript 较重的网站,或使用 firecrawl/tavily 获得更好的提取效果。

  • 设置真实的 User-Agent:如果来自 Wikipedia、受 Cloudflare 保护的大型站点等来源的结果为空(或在日志中出现 403),说明默认的 Python requests / aiohttp UA 被反爬机制拦截了。请将 USER_AGENT 设置为真实的浏览器 UA(例如 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0 Safari/537.36)。该设置同时影响 Web 搜索的结果抓取与 fetch_url 工具。

关于上下文窗口问题的更多细节,请参阅 RAG 故障排查指南


4. 连接超时

如果 Web Search 经常超时:

解决方法:

  • 降低并发请求数:设置 WEB_SEARCH_CONCURRENT_REQUESTS=1,按顺序执行(Brave 免费层需要这样做)。

  • 调整 loader 并发:如果同时抓取很多页面,请降低 WEB_LOADER_CONCURRENT_REQUESTS

  • 检查网络连通性:确认 Open WebUI 能访问搜索引擎以及搜索结果对应的 URL。


环境变量参考

完整的 Web Search 环境变量列表,请参阅 环境变量配置文档

常用变量:

变量说明
WEB_SEARCH_TRUST_ENV为内容抓取启用代理支持
WEB_SEARCH_RESULT_COUNT要抓取的搜索结果数量
WEB_SEARCH_CONCURRENT_REQUESTS向搜索引擎发起的并发请求数
WEB_LOADER_CONCURRENT_REQUESTS页面抓取并发数
WEB_LOADER_ENGINE内容提取引擎

本内容仅供参考,不构成任何保证、担保或合同承诺。Open WebUI 按“现状”提供。请参阅您的许可协议 以了解适用条款。