Tools

Поиск SearXNG

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

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

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

Настройка

  • Установите плагин

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

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

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

  • Настройте

    bash
    openclaw configure --section web# Выберите "searxng" в качестве провайдера

    Либо задайте переменную окружения, чтобы она была найдена автоматически:

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

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

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

    json5
    {  plugins: {    entries: {      searxng: {        config: {          webSearch: {            baseUrl: "http://localhost:8888",            categories: "general,news", // необязательно            language: "en", // необязательно          },        },      },    },  },}

    baseUrl также принимает объект SecretRef (например, { source: "env", id: "SEARXNG_BASE_URL" }).

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

    Вместо конфигурации задайте SEARXNG_BASE_URL:

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

    Порядок разрешения: настроенная строка baseUrl, затем встроенный SecretRef переменной окружения в baseUrl, затем SEARXNG_BASE_URL. Если ни один из путей конфигурации не задан, присутствует SEARXNG_BASE_URL и провайдер не выбран явно, при автоматическом обнаружении выбирается SearXNG.

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

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

    Вызов инструмента web_search также принимает count (1-10 результатов), categories и language как переопределения для отдельного вызова.

    Примечания

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

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

    Was this useful?
    On this page

    On this page