一.WSL 里装 Docker
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| sudo apt-get update && sudo apt-get install -y ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \ https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${VERSION_CODENAME}") 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-compose-plugin sudo service docker start sudo usermod -aG docker $USER
|
二.部署 SearXNG
1 2 3 4 5 6 7 8
| mkdir ~/searxng && cd ~/searxng mkdir config data
docker run --name searxng -d \ -p 8888:8080 \ -v "./config:/etc/searxng/" \ -v "./data:/var/cache/searxng/" \ docker.io/searxng/searxng:latest
|
访问 http://localhost:8888 能看到搜索页就成功了 。
如果遇到 Permission Denied 问题,当前 session 没有刷新,新权限还没生效。
1 2 3 4 5 6 7 8 9 10 11
| newgrp docker
cd ~/searxng
docker run --name searxng -d \ -p 8888:8080 \ -v "./config:/etc/searxng/" \ -v "./data:/var/cache/searxng/" \ docker.io/searxng/searxng:latest
|
跑成功后检查:
1 2 3 4 5 6 7 8
| docker ps
ls ~/searxng/config/
curl http://localhost:8888
|
三.配置搜索
Brave + DuckDuckGo 直连完全够用,质量和 Google 差距很小。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| engines: - name: brave engine: brave enabled: true - name: duckduckgo engine: duckduckgo enabled: true - name: bing engine: bing enabled: true - name: wikipedia engine: wikipedia enabled: true - name: google engine: google enabled: false - name: baidu engine: baidu enabled: false
|
如果没有windows没有权限改,需要用nano,或者用命令改。
1.先把所有引擎关掉
1 2 3 4 5
| sudo cp ~/searxng/config/settings.yml ~/searxng/config/settings.yml.bak
sudo sed -i 's/disabled: false/disabled: true/g' ~/searxng/config/settings.yml
|
2.再只打开你要的几个
1 2 3 4 5
| sudo sed -i '/name: brave/,/disabled:/ s/disabled: true/disabled: false/' ~/searxng/config/settings.yml sudo sed -i '/name: bing/,/disabled:/ s/disabled: true/disabled: false/' ~/searxng/config/settings.yml sudo sed -i '/name: duckduckgo/,/disabled:/ s/disabled: true/disabled: false/' ~/searxng/config/settings.yml sudo sed -i '/name: wikipedia/,/disabled:/ s/disabled: true/disabled: false/' ~/searxng/config/settings.yml
|
3.重启
四.接入SearXNG
1.用环境变量告诉 OpenClaw SearXNG 的地址:
OpenClaw 识别的是 SEARXNG_URL 这个环境变量:
1 2
| [System.Environment]::SetEnvironmentVariable("SEARXNG_URL", "http://localhost:8888", "User")
|
或者在 WSL 里加到 .bashrc:
1 2
| echo 'export SEARXNG_URL=http://localhost:8888' >> ~/.bashrc source ~/.bashrc
|
2.查看文件
在 nano 里用 Ctrl+W 搜索 formats,找到类似这样的内容:
1 2 3 4 5
| sudo nano ~/searxng/config/settings.yml
|
Ctrl+O 保存,Ctrl+X 退出,然后:
等 5 秒再访问 http://localhost:8888。 YAML 对缩进极其敏感,sed 加 \n 经常搞乱缩进,这种情况手动改更稳。
.
.
.
.
.
.
.
.
.
.
.
.
如果网络问题安装不了docker,用阿里云镜像绕过:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \ https://mirrors.aliyun.com/docker-ce/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-compose-plugin
sudo service docker start sudo usermod -aG docker $USER newgrp docker
docker --version
|
然后还需要配 Docker 的镜像拉取源
装完 Docker 之后,拉 SearXNG 镜像时 docker.io 也可能不行,提前配好:
1 2 3 4 5 6 7 8 9 10
| sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ] } EOF sudo service docker restart
|
配完之后再继续拉 SearXNG 就顺畅了。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.