Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.
Используйте поиск в интернете через собственный экземпляр SearXNG — приватный метапоисковик, который агрегирует результаты из множества источников без отслеживания и рекламы.
Описание
Этот навык позволяет выполнять веб-поиск через self-hosted SearXNG. Он объединяет результаты из Google, DuckDuckGo, Brave, Startpage и более чем 70 других поисковых систем, обеспечивая приватность и независимость от сторонних API. :
Предварительные требования
Перед началом убедитесь, что у вас есть:
- Запущенный экземпляр SearXNG (локально или на сервере)
- Docker и Docker Compose
Быстрая установка через Docker
mkdir -p ~/Projects/searxng/searxng
cd ~/Projects/searxng
# Создаём docker-compose.yml
cat > docker-compose.yml << 'EOF'
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
ports:
- "8080:8080"
volumes:
- ./searxng:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=http://localhost:8080/
restart: unless-stopped
EOF
Затем создайте файл настроек с поддержкой JSON API:
cat > searxng/settings.yml << 'EOF'
use_default_settings: true
server:
secret_key: "change-me-to-random-string"
bind_address: "0.0.0.0"
port: 8080
search:
safe_search: 0
autocomplete: "google"
default_lang: "en"
formats:
- html
- json
EOF
Запуск сервиса:
docker compose up -d
Конфигурация
Укажите URL вашего экземпляра SearXNG (по умолчанию используется локальный адрес):
export SEARXNG_URL="http://localhost:8080"
Примеры использования
Базовый поиск
curl "http://localhost:8080/search?q=your+query&format=json" | jq '.results[:5]'
Поиск по категориям
# Общий поиск
curl "http://localhost:8080/search?q=query&categories=general&format=json"
# Картинки
curl "http://localhost:8080/search?q=query&categories=images&format=json"
# Новости
curl "http://localhost:8080/search?q=query&categories=news&format=json"
Поиск по языку
curl "http://localhost:8080/search?q=query&language=en-US&format=json"
curl "http://localhost:8080/search?q=query&language=de-DE&format=json"
Постраничные результаты
curl "http://localhost:8080/search?q=query&pageno=2&format=json"
Формат ответа
Каждый результат содержит:
- title — заголовок
- url — ссылка
- content — краткое описание
- engines — список поисковых систем
- score — релевантность
- category — категория результата
Интеграция в shell
Добавьте функцию в .zshrc или .bashrc:
searxng() {
local query="$*"
local url="${SEARXNG_URL:-http://localhost:8080}"
curl -s "${url}/search?q=$(echo "$query" | sed 's/ /+/g')&format=json" | \
jq -r '.results[:10][] | "[\(.score | floor)] \(.title)\n \(.url)\n \(.content // "No description")\n"'
}
Пример использования:
searxng как испечь хлеб
Управление Docker
# Запуск
docker compose up -d
# Остановка
docker compose down
# Логи
docker compose logs -f searxng
# Перезапуск
docker compose restart
Устранение неполадок
- Контейнер не запускается — проверьте логи
- Нет JSON — убедитесь, что включён формат
json - Нет результатов — возможны ограничения со стороны поисковых систем
Почему SearXNG
- Приватность — без отслеживания и сбора данных
- Агрегация — более 70 источников
- Self-hosted — полный контроль над данными
- API — удобный JSON-вывод
- Бесплатно — без ключей и лимитов
Файл из источника