1.介绍

在玩 OpenClaw 或各类 AI Agent 时,Brave Search API 的 Key 难搞且易封?最好的方案就是在 Termux 运行一个 SearXNG。它是一个聚合搜索引擎,能把 Google, Bing, DuckDuckGo 等结果聚合成 API 给 AI 使用。

2.SearXNG 私有搜索搭建(原生免 Root 版)

2.1依赖安装

pkg update 
pkg install python python-pip -y
pkg install build-essential clang binutils openssl-tool \
    git nmap android-tools libxml2 libxslt libffi libjpeg-turbo  -y

2.2 克隆仓库

git clone https://github.com/searxng/searxng.git
cd searxng

2.3 创建虚拟环境

python -m venv searxng-venv
source searxng-venv/bin/activate

2.4 编译安装SearXNG

pip install setuptools wheel
pip install pybind11 typing_extensions PyYAML babel jinja2 flask flask-babel lxml h2 msgspec --no-build-isolation
pip install --no-build-isolation -e .

2.5 配置 SearXNG

2.3.1 生成随机密钥

sed -i -e "s/ultrasecretkey/$(openssl rand -hex 16)/g" searx/settings.yml

2.3.2 基础配置

编辑 searx/settings.yml 文件,配置以下参数:

server:
    # 监听地址,默认127.0.0.1 仅限本机访问
    bind_address: "0.0.0.0" 
    # 端口号,默认 8888,如果冲突可以改 8888
    port: 8888
    # 这里的秘钥随便填一串长字符,用于加密会话
    secret_key: "我的密钥"
    # 关掉限制,防止本地调试时被封 IP
    limiter: false

search:
  #安全搜索开关
  safe_search: 0
  #自动补全源,如果有梯子写建议google
  autocomplete: "baidu"
  safe_search:
    - html
    - json  # 必须加上!这是 OpenClaw 通讯的语言

2.3.2 增加启动脚本

mkdir -p bin

cat << 'EOF' > bin/start.sh
#!/bin/bash
# 重定向错误输出,方便排查
exec 2>&1
# 1. 动态获取路径
scriptPath=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
projectRoot=$(dirname "${scriptPath}")

# 2. 基于动态路径定位各个组件
VENV_PATH="${projectRoot}/searxng-venv/bin/activate"
CONFIG_PATH="${projectRoot}/searx/settings.yml"

# 3. 执行启动流程
echo "🚀 正在从 ${projectRoot} 启动 SearXNG..."
source "$VENV_PATH"
export SEARXNG_SETTINGS_PATH="$CONFIG_PATH"

python "${projectRoot}/searx/webapp.py"
EOF

chmod +x bin/start.sh

2.6 创建sv服务管理【因为termux无法用systemd】

#安装服务管理
pkg install termux-services -y

mkdir -p $PREFIX/var/service/searxng/log
mkdir -p "${PREFIX}/var/service/searxng/log"

cd "${PREFIX}/var/service/searxng/log"
ln -sfn "${PREFIX}/share/termux-services/svlogger" run

cat << 'EOF' > bin/start.sh
#!/bin/bash
# 重定向错误输出,方便排查
exec 2>&1
# 1. 动态获取路径
scriptPath=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
projectRoot=$(dirname "${scriptPath}")

# 2. 基于动态路径定位各个组件
VENV_PATH="${projectRoot}/searxng-venv/bin/activate"
CONFIG_PATH="${projectRoot}/searx/settings.yml"

# 3. 执行启动流程
echo "🚀 正在从 ${projectRoot} 启动 SearXNG..."
source "$VENV_PATH"
export SEARXNG_SETTINGS_PATH="$CONFIG_PATH"

python "${projectRoot}/searx/webapp.py"
EOF

# 赋予执行权限
chmod +x $PREFIX/var/service/searxng/run

sv的管理命令

#安装服务并设为自启
sv-enable searxng
#即刻启动,必须先 enable 才能 start
sv start searxng
#即刻停止,必须先 enable 才能 stop
sv stop searxng
#卸载并禁用自启
sv-disable searxng

2.7 OpenClaw 配置SearXNG

告诉你的agent:帮我安装一下这个技能 https://clawhub.ai/abk234/searxng

等待安装成功后执行下面步骤

编辑  ~/.openclaw/openclaw.json在最大的json中增加【注意:如果已经有了env请按照格式把缺少的信息追加进去】

 "env": {
    "vars": {
      "SEARXNG_URL":  "http://ip:8888/"
    }
  }
#设置skills的地址

openclaw config set skills.entries.searxng.env.SEARXNG_URL "http://ip:8888/"

#重启龙虾

sv restart openclaw

2.8 展示下效果

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐