OpenClaw 极客必备:Termux 搭建 SearXNG,彻底告别高价搜索 API 与网络冲突
在玩 OpenClaw 或各类 AI Agent 时,Brave Search API 的 Key 难搞且易封?最好的方案就是在 Termux 运行一个。它是一个聚合搜索引擎,能把 Google, Bing, DuckDuckGo 等结果聚合成 API 给 AI 使用。
·
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 展示下效果

更多推荐

所有评论(0)