Tools

Поиск SearXNG

OpenClaw поддерживает SearXNG как самостоятельно размещаемый, не требующий ключа провайдер web_search. SearXNG — это поисковая метасистема с открытым исходным кодом, которая агрегирует результаты из Google, Bing, DuckDuckGo и других источников.

Преимущества:

  • Бесплатно и без ограничений -- API-ключ или коммерческая подписка не требуются
  • Конфиденциальность / изолированная сеть -- запросы не покидают вашу сеть
  • Работает везде -- нет региональных ограничений коммерческих поисковых API

Настройка

  • Установите Plugin

    bash
    openclaw plugins install @openclaw/searxng-plugin
  • Запустите экземпляр SearXNG

    bash
    docker run -d -p 8888:8080 searxng/searxng

    Или используйте любую существующую установку SearXNG, к которой у вас есть доступ. См. документацию SearXNG для настройки в production.

  • Настройте

    bash
    openclaw configure --section web# Select "searxng" as the provider

    Или задайте переменную окружения и позвольте автообнаружению найти ее:

    bash
    export SEARXNG_BASE_URL="http://localhost:8888"
  • Конфигурация

    json5
    {  tools: {    web: {      search: {        provider: "searxng",      },    },  },}

    Настройки уровня Plugin для экземпляра SearXNG:

    json5
    {  plugins: {    entries: {      searxng: {        config: {          webSearch: {            baseUrl: "http://localhost:8888",            categories: "general,news", // optional            language: "en", // optional          },        },      },    },  },}

    Поле baseUrl также принимает объекты SecretRef.

    Правила транспорта:

    • https:// работает для публичных или частных хостов SearXNG
    • http:// принимается только для доверенных хостов в частной сети или loopback
    • публичные хосты SearXNG должны использовать https://
    • частные/внутренние хосты используют сетевую защиту для самостоятельно размещаемых сервисов; публичные хосты https:// остаются на строгой защите web-search и не могут перенаправлять на частные адреса

    Переменная окружения

    Задайте SEARXNG_BASE_URL как альтернативу конфигурации:

    bash
    export SEARXNG_BASE_URL="http://localhost:8888"

    Когда SEARXNG_BASE_URL задана и явный провайдер не настроен, автообнаружение автоматически выбирает SearXNG (с самым низким приоритетом -- любой провайдер на базе API с ключом выигрывает первым).

    Справочник конфигурации Plugin

    Поле Описание
    baseUrl Базовый URL вашего экземпляра SearXNG (обязательно)
    categories Категории через запятую, например general, news или science
    language Код языка для результатов, например en, de или fr

    Примечания

    • JSON API -- использует нативную конечную точку SearXNG format=json, а не извлечение данных из HTML
    • URL результатов изображений -- результаты категории изображений включают img_src, когда SearXNG возвращает прямой URL изображения
    • Без API-ключа -- работает с любым экземпляром SearXNG сразу после настройки
    • Проверка базового URL -- baseUrl должен быть допустимым URL http:// или https://; публичные хосты должны использовать https://
    • Сетевая защита -- частные/внутренние конечные точки SearXNG явно включают доступ к частной сети; публичные конечные точки SearXNG https:// сохраняют строгую защиту от SSRF
    • Порядок автообнаружения -- SearXNG проверяется после провайдеров на базе API с настроенными ключами (порядок 200). Провайдеры без ключа, такие как DuckDuckGo или Ollama Web Search, не выбираются автоматически без явного выбора провайдера
    • Самостоятельное размещение -- вы контролируете экземпляр, запросы и вышестоящие поисковые системы
    • Категории по умолчанию имеют значение general, если не настроены
    • Резервная категория -- если запрос категории, отличной от general, успешно выполняется, но возвращает ноль результатов, OpenClaw повторяет тот же запрос один раз с general перед возвратом пустого набора результатов

    Связанные материалы

    • Обзор Web Search -- все провайдеры и автообнаружение
    • DuckDuckGo Search -- еще один провайдер без ключа
    • Brave Search -- структурированные результаты с бесплатным уровнем
    Was this useful?
    On this page

    On this page