Skip to content

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 中的资料替换可用的镜像源。

视频地址