searchenginSearXNG 本地部署與配置

CherryStudio 支援透過 SearXNG 做網絡搜尋,SearXNG 係一個可本地部署亦可部署喺伺服器上嘅開源項目,所以同其他需要 API 供應商嘅配置方式有啲唔同。

SearXNG 項目連結SearXNGarrow-up-right

SearXNG 嘅優勢

  • 開源免費,唔需要 API

  • 私隱性相對較高

  • 可高度自訂化

本地部署

一、Docker 直接部署

由於 SearXNG 唔需要複雜嘅環境配置,可以唔用 docker compose,只需要簡單提供一個閒置端口就可以部署,所以最快捷嘅方法係用 Docker 直接拉取映像進行部署。

1. 下載安裝並配置 dockerarrow-up-right

安裝後揀一個映像儲存路徑:

2. 搜索並拉取 SearXNG 映像

搜尋欄輸入 searxng

拉取映像:

3. 運行映像

拉取成功之後嚟到 images 頁面:

揀返拉取嘅映像點擊運行:

打開設定項進行配置:

8085 端口為例:

運行成功後點擊連結就可以打開 SearXNG 嘅前端介面:

出現呢個頁面就代表部署成功:

伺服器部署

鑑於 Windows 底下安裝 Docker 係一件幾麻煩嘅事,用戶可以將 SearXNG 部署喺伺服器上,亦可以咁樣分享俾其他人用。但係好可惜,SearXNG 本身暫時唔支援驗證,導致其他人可以用技術手段掃描到並濫用你部署嘅實例。

為此,Cherry Studio 目前已支援配置 HTTP 基本認證(RFC7617)arrow-up-right,如果用戶想將自己部署嘅 SearXNG 暴露喺公網環境下,請務必透過 Nginx 等反向代理軟件配置 HTTP 基本認證。下面提供簡要教學,需要你有基本嘅 Linux 運維知識。

部署 SearXNG

類似咁,仍然使用 Docker 部署。假設你已經按照官方教學arrow-up-right喺伺服器上安裝好最新版 Docker CE,以下提供一條龍命令,適用於 Debian 系統下全新安裝:

如果你需要修改本地監聽端口、重用本地已經有嘅 nginx,可以編輯 docker-compose.yaml 文件,參考如下:

執行 docker compose up -d 啟動。執行 docker compose logs -f searxng 可以睇到日誌。

部署 Nginx 反向代理同 HTTP 基本認證

如果你使用咗啲伺服器面板程序,例如寶塔面板或 1Panel,請參考佢哋嘅文檔新增網站並配置 nginx 反向代理,跟住搵到修改 nginx 配置文件嘅位, 參考下面嘅示例去修改:

假設 Nginx 配置文件儲存在 /etc/nginx/conf.d 下,我哋會將密碼文件儲存在同一目錄下。

執行命令(自行將 example_nameexample_password 替換為你想設定嘅用戶名同密碼):

重啟 Nginx(重載配置都可以)。

此時可以打開個網頁,已經會提示你輸入用戶名同密碼,請輸入之前設定嘅用戶名同密碼,睇下可唔可以成功入到 SearXNG 搜尋頁面,用以檢查配置是否正確。

Cherry Studio 相關配置

SearXNG 喺本地或伺服器部署成功之後,跟住係 CherryStudio 嘅相關配置。

去到網絡搜尋設定頁面,揀 Searxng :

直接輸入本地部署嘅連結發現驗證失敗,呢個時候唔使擔心:

因為直接部署後預設並冇配置 json 返回類型,所以無法獲取數據,需要修改配置文件。

返到 Docker,去到 Files 標籤頁喺映像中搵到帶標籤嘅文件夾:

展開之後繼續向下翻,會發現另一個帶標籤嘅文件夾:

繼續展開,搵到 settings.yml 配置文件:

點擊打開文件編輯器:

搵到第 78 行,可以見到類型淨係得一個 html

加上 json 類型後保存,重新運行映像

重新返回 Cherry Studio 進行驗證,驗證成功:

地址既可以填本地: http://localhostarrow-up-right : 端口號 亦可以填 docker 地址:http://host.docker.internalarrow-up-right : 端口號

如果用戶跟隨前面嘅示例喺伺服器上部署並正確配置咗反向代理,已經開啟咗 json 返回類型。輸入地址後進行驗證,因為已畀反向代理配置咗 HTTP 基本認證,呢時驗證會返回 401 錯誤碼:

喺客戶端配置 HTTP 基本認證,輸入啱啱設定嘅用戶名同密碼:

進行驗證,應該會驗證成功。

其他配置

此時 SearXNG 已經具備預設聯網搜尋能力,如需自訂搜尋引擎需要自行配置

需要注意嘅係呢處首選項並不能影響大模型調用時嘅配置

如果要配置大模型調用嘅搜尋引擎,需喺配置文件中設定:

配置語言參考:

如果內容太長直接修改唔方便,可以將佢複製到本地 IDE 中,修改後貼返去配置文件就得。

驗證失敗常見原因

返回格式未加上 json 格式

喺配置文件中將返回格式加入 json:

未正確配置搜尋引擎

Cherry Studio 會預設揀取 categories 同時包含 web general 嘅引擎去搜尋,預設情況下會揀 google 等引擎,但因為內地無法直接訪問 google 等網站導致失敗。加以下配置令 searxng 強制使用 baidu 引擎,就可以解決問題:

訪問速率過快

searxng 嘅 limiter 配置阻礙咗 API 訪問,請嘗試喺設定中將佢設為 false:

Last updated

Was this helpful?