---
read_when:
    - Вам нужен самостоятельно размещаемый провайдер веб-поиска
    - Вы хотите использовать SearXNG для web_search
    - Вам нужен ориентированный на конфиденциальность или изолированный от сети вариант поиска
summary: Веб-поиск SearXNG — самостоятельно размещаемый метапоисковый провайдер без ключей доступа
title: Поиск SearXNG
x-i18n:
    generated_at: "2026-07-13T18:43:47Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: cae8de9f8e2c8dd9cec615adb48da5c1fd7654bffe96c7afc1acea3effbcf1fc
    source_path: tools/searxng-search.md
    workflow: 16
---

OpenClaw поддерживает [SearXNG](https://docs.searxng.org/) как **самостоятельно размещаемый
провайдер без ключа** `web_search`. SearXNG — это метапоисковая система с открытым исходным кодом,
которая объединяет результаты из Google, Bing, DuckDuckGo и других источников.

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

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

## Настройка

<Steps>
  <Step title="Установите плагин">
    ```bash
    openclaw plugins install @openclaw/searxng-plugin
    ```
  </Step>
  <Step title="Запустите экземпляр SearXNG">
    ```bash
    docker run -d -p 8888:8080 searxng/searxng
    ```

    Либо используйте любое существующее развертывание SearXNG, к которому у вас есть доступ. Инструкции по
    настройке для рабочей среды см. в [документации SearXNG](https://docs.searxng.org/).

  </Step>
  <Step title="Настройте">
    ```bash
    openclaw configure --section web
    # Выберите "searxng" в качестве провайдера
    ```

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

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

  </Step>
</Steps>

## Конфигурация

```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`

<Tip>
  Чтобы JSON API SearXNG работал, убедитесь, что в вашем экземпляре SearXNG включен формат `json`
  в `settings.yml` в разделе `search.formats`.
</Tip>

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

- [Обзор веб-поиска](/ru/tools/web) -- все провайдеры и автоматическое обнаружение
- [Поиск DuckDuckGo](/ru/tools/duckduckgo-search) -- еще один провайдер без ключа
- [Поиск Brave](/ru/tools/brave-search) -- структурированные результаты с бесплатным тарифом
