Перейти до основного вмісту
OpenClaw підтримує SearXNG як самостійно розгорнутий, безключовий провайдер web_search. SearXNG — це метапошуковий рушій з відкритим кодом, який агрегує результати з Google, Bing, DuckDuckGo та інших джерел. Переваги:
  • Безкоштовно й без обмежень — не потрібні API-ключ або комерційна підписка
  • Приватність / ізоляція — запити ніколи не залишають вашу мережу
  • Працює будь-де — без регіональних обмежень комерційних пошукових API

Налаштування

1

Установіть Plugin

openclaw plugins install @openclaw/searxng-plugin
2

Запустіть інстанс SearXNG

docker run -d -p 8888:8080 searxng/searxng
Або використайте будь-яке наявне розгортання SearXNG, до якого маєте доступ. Див. документацію SearXNG щодо налаштування для продакшну.
3

Налаштуйте

openclaw configure --section web
# Select "searxng" as the provider
Або задайте змінну середовища й дозвольте автовиявленню знайти її:
export SEARXNG_BASE_URL="http://localhost:8888"

Конфігурація

{
  tools: {
    web: {
      search: {
        provider: "searxng",
      },
    },
  },
}
Налаштування рівня Plugin для інстанса SearXNG:
{
  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:// залишаються під суворим захистом вебпошуку й не можуть переспрямовувати на приватні адреси

Змінна середовища

Задайте SEARXNG_BASE_URL як альтернативу конфігурації:
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 перед поверненням порожнього набору результатів
Щоб JSON API SearXNG працював, переконайтеся, що у вашому інстансі SearXNG увімкнено формат json у settings.yml у розділі search.formats.

Пов’язане