Appearance
No.8 SearXNG:你和 AI 都需要的免费搜索引擎
SearXNG 是一个注重隐私保护的元搜索引擎,支持多种搜索引擎的结果聚合。它是 SearX 的一个分支,提供了更好的功能和隐私保护。 SearXNG 允许用户自定义搜索引擎的配置,支持多种搜索引擎的结果聚合。它还提供了 API 接口,方便开发者集成到自己的应用中。
安装部署
如果你也使用 macOS 系统,建议使用 OrbStack 来运行和管理 Docker 容器。
创建并进入项目目录:
bash
mkdir searxng && cd searxng
创建 docker-compose.yml
文件:
yaml
services:
searxng:
image: docker.io/searxng/searxng:latest
volumes:
- ./config:/etc/searxng:rw
ports:
- 4000:8080
environment:
SEARXNG_REDIS_URL: "redis://redis:6379/0"
restart: unless-stopped
redis:
# valkey 是 Redis 的开源分支,沿用更宽松的 BSD 3-Clause 协议。
image: docker.io/valkey/valkey:8-alpine
# 表示每 30 秒如果有至少 1 个键发生变化,就将数据持久化到磁盘。只记录警告及以上级别的日志。
command: valkey-server --save 30 1 --loglevel warning
restart: unless-stopped
volumes:
- valkey:/data
cap_drop:
- ALL # 移除容器的所有特权
cap_add:
- SETGID # 允许容器设置组 ID
- SETUID # 允许容器设置用户 ID
- DAC_OVERRIDE # 允许容器绕过文件系统的 DAC 权限检查
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
volumes:
valkey:
创建并启动容器:
bash
docker compose up -d
访问地址:
http://localhost:4000
如果你使用的 Orbstack,访问地址为:
https://searxng.searxng.orb.local
使用
为浏览器设置默认快捷搜索
在浏览器中设置默认搜索引擎为 SearXNG,可以使用以下地址:
http://localhost:4000/search?q=%s
如果你使用的 Orbstack,地址为:
https://searxng.searxng.orb.local/search?q=%s
在 AI 对话工具中使用
如果你使用的是 Cherry Studio,那么直接使用 SearXNG 实例地址即可。
但需要修改 SearXNG 的配置文件 config/settings.yml
,在搜索输出的格式中添加 json
:
yaml
search:
# ...
formats:
- html
- json
修改后重启 SearXNG:
bash
docker compose restart
常见问题
在执行 docker compose 创建容器时,如果提示 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
错误。说明你当前的网络环境无法访问到 docker 的镜像仓库,你可以尝试替换国内的镜像服务器来解决这个问题。
你可以参考 https://cloud.tencent.com/developer/article/2485043 中的资料替换可用的镜像源。