---
title: "自建 SearXNG 元搜索引擎：零追踪搜索，并为 Open WebUI 和 LobeHub 开启联网搜索"
description: "用 Zenavo 模板在自己的服务器上部署 SearXNG 隐私元搜索引擎，开启 JSON 接口，并通过项目私有网络接入 Open WebUI 与 LobeHub，无需按次付费即可让大模型用上实时联网搜索。"
date: 2026-11-13
language: zh-CN
url: https://zenavo.app/zh-CN/blog/self-host-searxng
---

# 自建 SearXNG 元搜索引擎：零追踪搜索，并为 Open WebUI 和 LobeHub 开启联网搜索

搭好 [Open WebUI](https://zenavo.app/zh-CN/blog/self-host-open-webui) 或 [LobeHub](https://zenavo.app/zh-CN/blog/self-host-lobehub) 之后，大家很快就会遇到同一个需求：**怎么让模型查今天的新闻、最新的文档或网页信息？** 接商业搜索 API（如 Tavily、Serper、Brave Search）通常要绑卡按次计费，而直接用公共 SearXNG 实例又经常因为限流报错。

[SearXNG](https://docs.searxng.org) 是一个开源的元搜索引擎：它自己不建全网索引，而是替你并发查询 Google、Bing、DuckDuckGo、Wikipedia、GitHub 等几十个搜索源，汇总去重后返回结果，不记录你的搜索画像。更实用的是，把它和 Open WebUI 或 LobeHub 放进同一个 Zenavo 项目里，就能直接走私有网络免费给 AI 提供联网搜索。

## 1. 两种部署方式：独立使用，或放进 AI 项目内网

先在 Zenavo 中[连接一台 Linux 服务器](https://docs.zenavo.app/zh-CN/servers/add-a-server)，再根据你的用途选择：

- **方式 A：只给 Open WebUI 或 LobeHub 做联网搜索后端（推荐）**
  打开你现有的 Open WebUI 或 LobeHub 项目，点右上角 **添加服务（Add Service）→ 模板（Templates）**，选择 **SearXNG**。这样 SearXNG 直接运行在同一个项目内网里（`http://searxng.zenavo.internal:8080`），**甚至不需要绑定公网域名**，外人根本访问不到你的搜索接口。
- **方式 B：同时作为自己日常使用的隐私搜索引擎**
  直接从 [SearXNG 模板](https://zenavo.app/deploy?template=searxng)新建项目部署，然后在 `searxng` 服务的 **网络（Networking）** 页为 `8080` 端口绑定一个域名（如 `search.example.com`），等待 HTTPS 自动生效。详见[域名文档](https://docs.zenavo.app/zh-CN/networking/domains)。

当前模板的配置非常轻量（内存占用通常不到 200 MB）：

| 配置 | 值或用途 |
|---|---|
| 镜像 | `searxng/searxng:latest` |
| HTTP 端口 | `8080` |
| 配置卷 | `/etc/searxng`（首次启动自动生成 `settings.yml` 与 `limiter.toml`） |
| 缓存卷 | `/var/cache/searxng` |
| `SEARXNG_SECRET` | 项目创建时自动生成的随机密钥 |

## 2. 开启 JSON 输出格式（接入 AI 必做）

SearXNG 默认只允许浏览器访问 HTML 页面，直接请求 `?format=json` 会返回 `403 Forbidden`。而 Open WebUI、LobeHub 等 AI 工具都需要通过 JSON 接口拉取搜索结果。

服务第一次启动并生成默认配置后，打开 `/etc/searxng/settings.yml`（可通过容器终端或配置文件功能编辑），找到 `search:` 下的 `formats:`，把 `json` 加进去：

```yaml
search:
  formats:
    - html
    - json
```

如果你只通过 Zenavo 内网调用 SearXNG，还可以顺手确认 `server:` 下的 `limiter: false`（默认关闭限流器），避免无公网反代头时误拦截内网请求。保存后在控制台点 **重启（Restart）**。

## 3. 接入 Open WebUI

如果你按[这篇指南](https://zenavo.app/zh-CN/blog/self-host-open-webui)部署了 Open WebUI：

1. 用管理员账号登录 Open WebUI，打开 **管理员面板 → 设置 → 联网搜索（Admin Panel → Settings → Web Search）**。
2. 打开 **启用联网搜索（Enable Web Search）** 开关。
3. **联网搜索引擎（Web Search Engine）** 选择 `searxng`。
4. **Searxng Query URL** 填写：
   - 同项目内网（推荐）：`http://searxng.zenavo.internal:8080/search?q=<query>`
   - 跨项目公网域名：`https://search.example.com/search?q=<query>`
5. 点击保存。回到聊天窗口，打开输入框下方的 **联网搜索（Web Search）** 开关，问一句实时问题即可看到模型先检索网页再回答。

## 4. 接入 LobeHub

如果你按 [LobeHub 部署指南](https://zenavo.app/zh-CN/blog/self-host-lobehub)搭建了多人对话平台，在 `lobehub` 服务的 **变量（Variable）** 页添加以下环境变量，保存并重启 `lobehub`：

```sh
SEARCH_PROVIDERS=searxng
SEARXNG_URL=http://searxng.zenavo.internal:8080
```

（若不在同一个 Zenavo 项目，把 `SEARXNG_URL` 换成你的 `https://search.example.com`。）重启后，LobeHub 对话框里的智能联网搜索就会通过你自己的 SearXNG 实例抓取网页信息。

## 5. 备份与升级

SearXNG 本身不存用户业务数据，只有你改过的 `/etc/searxng/settings.yml` 值得保留：

1. 修改好 `settings.yml` 后，可以在项目停止窗口用 **备份与恢复** 备份 `/etc/searxng` 数据卷，或者直接把自定义的 `settings.yml` 内容复制留档。
2. 模板默认使用 `searxng/searxng:latest` 以获取最新的上游搜索引擎解析规则（各搜索引擎经常改页面结构，SearXNG 更新较勤）。如果某次更新遇到兼容问题，可在服务 **设置 → 来源** 中固定到指定标签。

## 常见问题

**Open WebUI 或 LobeHub 搜索时报 `403 Forbidden`？**
99% 的原因是还没有按上文第 2 步在 `/etc/searxng/settings.yml` 的 `search.formats` 中加入 `json`，或者改完后没重启 `searxng` 服务。另外，如果你给公开域名套了机器人防护，建议同项目直接改用 `http://searxng.zenavo.internal:8080` 内网地址。

**部分搜索引擎（如 Google）偶发返回超时或验证码？**
云服务器机房 IP 频繁请求单一搜索引擎时，可能触发上游反爬限制。可以在 SearXNG 页面右上角的 **首选项（Preferences）→ 引擎（Engines）** 或 `settings.yml` 中同时勾选 Bing、DuckDuckGo、Brave、Wikipedia 等多个引擎分摊请求。

**公开绑定了域名，怎么防止别人拿我的 SearXNG 刷接口？**
如果只是给自己的 Open WebUI / LobeHub 用，最彻底的安全做法是不绑公开域名，只走 `.zenavo.internal`[私有网络](https://docs.zenavo.app/zh-CN/networking/private)。如果还需要自己在浏览器里用，可以在 `settings.yml` 中开启 `server.limiter: true`（需搭配 Redis 或内置限流），或只开启 HTML、不对外开放 JSON。

**可以配合自建模型网关一起用吗？**
完全可以。许多用户的标准组合是在同一个 Zenavo 项目里跑 **Open WebUI / LobeHub + SearXNG + [Magpie](https://zenavo.app/zh-CN/blog/self-host-magpie)（或 [New API](https://zenavo.app/zh-CN/blog/self-host-new-api)、[LiteLLM](https://zenavo.app/zh-CN/blog/self-host-litellm)）**，前端聊天、联网检索和模型路由全部在一台服务器内网闭环。

打开 [SearXNG 模板](https://zenavo.app/deploy?template=searxng)，或在现有 AI 项目里直接添加 SearXNG 服务，几分钟就能给你的大模型加上零按次成本的联网搜索。
