---
title: "自架 SearXNG 元搜尋引擎：零追蹤搜尋，並為 Open WebUI 與 LobeHub 開啟聯網搜尋"
description: "用 Zenavo 範本在自己的伺服器上部署 SearXNG 隱私元搜尋引擎，開啟 JSON API，並透過專案私有網路串接 Open WebUI 與 LobeHub，免按次付費即可讓大型語言模型用上即時聯網搜尋。"
date: 2026-11-13
language: zh-TW
url: https://zenavo.app/zh-TW/blog/self-host-searxng
---

# 自架 SearXNG 元搜尋引擎：零追蹤搜尋，並為 Open WebUI 與 LobeHub 開啟聯網搜尋

架好 [Open WebUI](https://zenavo.app/zh-TW/blog/self-host-open-webui) 或 [LobeHub](https://zenavo.app/zh-TW/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-TW/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-TW/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 API 抓取搜尋結果。

服務第一次啟動並產生預設設定後，開啟 `/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-TW/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-TW/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 刷 API？**
如果只是給自己的 Open WebUI / LobeHub 用，最徹底的安全做法是不綁公開網域，只走 `.zenavo.internal` [私有網路](https://docs.zenavo.app/zh-TW/networking/private)。如果還需要自己在瀏覽器裡用，可以在 `settings.yml` 中開啟 `server.limiter: true`，或只開啟 HTML、不對外開放 JSON。

**可以搭配自架模型閘道一起用嗎？**
完全可以。許多使用者的標準組合是在同一個 Zenavo 專案裡跑 **Open WebUI / LobeHub + SearXNG + [Magpie](https://zenavo.app/zh-TW/blog/self-host-magpie)（或 [New API](https://zenavo.app/zh-TW/blog/self-host-new-api)、[LiteLLM](https://zenavo.app/zh-TW/blog/self-host-litellm)）**，前端聊天、聯網檢索與模型路由全部在一台伺服器內網完成。

開啟 [SearXNG 範本](https://zenavo.app/deploy?template=searxng)，或在現有 AI 專案裡直接加入 SearXNG 服務，幾分鐘就能為你的大型語言模型加上零按次成本的聯網搜尋。
