Files
openclaw-backups/scripts/searxng-search.sh

29 lines
822 B
Bash
Executable File

#!/bin/bash
# SearXNG search wrapper
# Usage: searxng-search.sh "query" [num_results]
SEARXNG_URL="http://docker.kangaroo-eel.ts.net:8010"
QUERY="${1:-}"
LIMIT="${2:-10}"
if [ -z "$QUERY" ]; then
echo "Usage: searxng-search.sh \"query\" [num_results]"
exit 1
fi
ENCODED=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$QUERY'))")
curl -s "${SEARXNG_URL}/search?q=${ENCODED}&format=json&pageno=1" | python3 -c "
import json, sys
data = json.load(sys.stdin)
results = data.get('results', [])[:${LIMIT}]
for i, r in enumerate(results, 1):
print(f\"{i}. {r.get('title','')}\")
print(f\" {r.get('url','')}\")
snippet = r.get('content','').strip().replace('\n',' ')
if snippet:
print(f\" {snippet[:200]}\")
print()
print(f\"Total results: {len(data.get('results', []))}\")
"