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:

最后更新于

这有帮助吗?