无需Tavily,龙虾可用,永久免费的私有搜索引擎

0 阅读4分钟

给你的OpenClaw装个「本地搜索引擎」:不用再交搜索api费用、无广告、响应快,完美替代国外收费搜索工具。

刚装好OpenClaw的朋友大概率都踩过这个坑:想让AI搜个最新资讯、查个最新软件版本、获取最新的十五五规划,结果直接报错。

这是因为OpenClaw默认自带的搜索工具web_search,只对接了Tavily、Perplexity等,而且大多是国外服务,不仅要收费,国内访问速度还不稳定,有时候根本用不了。今天给大家分享一个完全免费、可以一键本地部署的私有搜索引擎 SearXNG,既可以当无广告的纯净版搜索工具用,还能直接对接OpenClaw,让你的AI瞬间拥有稳定的联网能力。


🤔 为什么选SearXNG?

对比OpenClaw自带的国外搜索工具,SearXNG的优势对国内用户太友好了:

完全免费:开源项目,无任何使用成本,没有调用次数限制

本地部署:所有服务跑在自己机器上,隐私数据不会泄露给第三方

国内可用:不需要科学上网,搜索结果聚合百度、Bing、谷歌等多个源,响应速度快

无广告:搜索结果干净,没有乱七八糟的推广和竞价排名


🛠️ 第一步:安装Docker(以macOS为例)

本文所介绍的SearXNG是基于Docker部署的,所以首先要装好Docker环境,Windows/Linux步骤也类似:

  1. 下载Docker Desktop
brew install --cask docker
  1. 安装并启动Docker:按照向导完成安装后,启动Docker Desktop

  2. 配置国内镜像源(非常重要,否则拉镜像会非常慢):

    • 打开Docker Desktop设置 → 找到「Docker Engine」选项

    • 在配置文件里加入国内镜像地址,示例配置:
    {
      "registry-mirrors": [
        "https://docker.1ms.run",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.fnnas.com",
        "https://registry.hub.docker.com"
      ]
    }
    
    • 点击「Apply」重启Docker生效
  3. 验证安装成功:打开终端输入以下命令

docker pull searxng/searxng:latest

如果出现如下信息,说明配置成功。

注意,windows和linux用户安装docker的方法有所不同,本文附上我自用的ubuntu安装设置脚本(需要安装docker compose,仅作参考。Windows用户和其它linux发行版用户请自行搜索方法):

#!/bin/bash
# for tencent-cloud
sudo apt-get update
sudo apt-get install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
sudo mkdir -p /etc/apt/keyrings
# Remove old key if exists
sudo rm -f /etc/apt/keyrings/docker.gpg
# Try multiple times with retry logic and use alternative method
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg || \
  (sleep 2 && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg) || \
  (echo "Trying alternative GPG key method..." && \
   wget -qO- https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg)
# Set proper permissions
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable docker
sudo systemctl start docker
docker --version


# 配置 docker 用户组权限
if ! getent group docker > /dev/null; then
  sudo groupadd docker
fi
if [ -n "$SUDO_USER" ]; then
  user="$SUDO_USER"
else
  user="$(whoami)"
fi

sudo usermod -aG docker "$user"

# 安装完成后修改/etc/docker/daemon.json,加入如下配置
sudo cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.fnnas.com",
    "https://registry.hub.docker.com"
  ]
}
EOF
sudo systemctl restart docker

🚀 第二步:本地部署SearXNG

部署过程非常简单:

  1. 随便建一个英文名称的文件夹,比如 my-search-engine
  2. 创建docker-compose.yml配置文件
services:
  searxng:
    image: searxng/searxng:latest
    restart: unless-stopped
    user: "1000:1000"
    ports:
      - "${SEARXNG_PORT:-28080}:8080"
    volumes:
      - ./searxng:/etc/searxng:rw
    environment:
      - SEARXNG_BASE_URL=http://${SEARXNG_HOSTNAME:-localhost}/
      - UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4}
      - UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4}
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
    logging:
      driver: "json-file"
      options:
        max-size: "1m"
        max-file: "1"
  1. 在my-search-engine下建一个searxng文件夹,然后新建settings.yml并贴入如下内容:

[附件]

最终文件结构如下:

├── docker-compose.yml
├── searxng
    └── settings.yml
  1. 在my-search-engine目录下,执行以下命令,启动服务
docker compose up -d
  1. 验证部署成功:打开浏览器访问 http://localhost:28080,能看到SearXNG的搜索页面,随便搜个关键词能返回结果就算部署成功了。


⚙️ 第三步:配置OpenClaw接入SearXNG

无需安装插件,现在只需要简单配置一下,就能让OpenClaw用你本地部署的SearXNG搜索了:

  1. 在你的系统变量中,添加一个变量SEARXNG_URL值设置为http://localhost:28080
  2. 修改~/.openclaw/openclaw.json,找到tools这一层,禁用web_search,配置web_fetch
  "tools": {
    "profile": "full",
    "web": {
      "search": {
        "enabled": false
      },
      "fetch": {
        "enabled": true,
        "maxChars": 50000,
        "maxCharsCap": 50000,
        "cacheTtlMinutes": 15,
        "maxRedirects": 3
      }
    }
  },
  1. 执行以下命令,让OpenClaw学会如何使用searXNG
mkdir -p ~/.openclaw/searxng/
touch ~/.openclaw/searxng/SKILL.md

cat ~/.openclaw/searxng/SKILL.md <<EOF
---
name: searxng
description: 调用本地SearXNG实例进行隐私化网页搜索,返回结构化结果(支持中文/英文)。
---

## 核心配置
- API地址: $SEARXNG_URL
- 返回格式: JSON

## 使用步骤
1. 构造查询URL: `$SEARXNG_URL/search?q={urlencoded_query}&format=json`
2. 用 exec 工具通过 curl 调用: `curl -s "$SEARXNG_URL/search?q=<query>&format=json"`
3. 解析JSON结果,提取 results 数组,每条包含 title/url/content 字段

## 错误处理
- 若API超时/无响应:提示"SearXNG服务不可用,请检查实例状态"
- 若结果为空:提示"未找到相关结果,请更换关键词重试"

## 示例
查询: "2026年3月19日实时金价"
命令: curl -s "$SEARXNG_URL/search?q=2026年实时金价&format=json"
EOF
  1. 重启OpenClaw后,如果能够在技能中看到searxng,并且在聊天中询问让它执行搜索功能成功,则配置完成。

我建了个AI交流群,把自己的AI经验教给了群内的小蜜蜂助手,大家有需要可以加群交流。