Przejdź do głównej treści

Wyszukiwanie SearXNG

OpenClaw obsługuje SearXNG jako samodzielnie hostowanego, bezkluczowego dostawcę web_search. SearXNG to silnik meta-wyszukiwania open source, który agreguje wyniki z Google, Bing, DuckDuckGo i innych źródeł. Zalety:
  • Darmowe i bez limitu — nie wymaga klucza API ani komercyjnej subskrypcji
  • Prywatność / air-gap — zapytania nigdy nie opuszczają Twojej sieci
  • Działa wszędzie — brak ograniczeń regionalnych komercyjnych API wyszukiwania

Konfiguracja

1

Uruchom instancję SearXNG

docker run -d -p 8888:8080 searxng/searxng
Możesz też użyć dowolnego istniejącego wdrożenia SearXNG, do którego masz dostęp. Zobacz dokumentację SearXNG, aby poznać konfigurację produkcyjną.
2

Skonfiguruj

openclaw configure --section web
# Wybierz "searxng" jako dostawcę
Albo ustaw zmienną środowiskową i pozwól automatycznemu wykrywaniu ją znaleźć:
export SEARXNG_BASE_URL="http://localhost:8888"

Konfiguracja

{
  tools: {
    web: {
      search: {
        provider: "searxng",
      },
    },
  },
}
Ustawienia na poziomie pluginu dla instancji SearXNG:
{
  plugins: {
    entries: {
      searxng: {
        config: {
          webSearch: {
            baseUrl: "http://localhost:8888",
            categories: "general,news", // opcjonalne
            language: "en", // opcjonalne
          },
        },
      },
    },
  },
}
Pole baseUrl akceptuje również obiekty SecretRef. Zasady transportu:
  • https:// działa dla publicznych lub prywatnych hostów SearXNG
  • http:// jest akceptowane tylko dla zaufanych hostów prywatnej sieci albo loopback
  • publiczne hosty SearXNG muszą używać https://

Zmienna środowiskowa

Ustaw SEARXNG_BASE_URL jako alternatywę dla konfiguracji:
export SEARXNG_BASE_URL="http://localhost:8888"
Gdy SEARXNG_BASE_URL jest ustawione i nie skonfigurowano jawnie dostawcy, automatyczne wykrywanie wybiera SearXNG automatycznie (z najniższym priorytetem — każdy dostawca oparty na API z kluczem wygrywa wcześniej).

Dokumentacja konfiguracji pluginu

PoleOpis
baseUrlBazowy URL instancji SearXNG (wymagane)
categoriesKategorie rozdzielone przecinkami, takie jak general, news lub science
languageKod języka wyników, taki jak en, de lub fr

Uwagi

  • JSON API — używa natywnego endpointu format=json SearXNG, a nie scrapowania HTML
  • Brak klucza API — działa od razu z każdą instancją SearXNG
  • Walidacja base URLbaseUrl musi być prawidłowym adresem URL http:// lub https://; hosty publiczne muszą używać https://
  • Kolejność automatycznego wykrywania — SearXNG jest sprawdzane jako ostatnie (kolejność 200) w automatycznym wykrywaniu. Najpierw uruchamiani są dostawcy oparci na API ze skonfigurowanymi kluczami, następnie DuckDuckGo (kolejność 100), a potem Ollama Web Search (kolejność 110)
  • Samodzielnie hostowane — kontrolujesz instancję, zapytania i upstreamowe wyszukiwarki
  • Categories domyślnie mają wartość general, jeśli nie są skonfigurowane
Aby JSON API SearXNG działało, upewnij się, że w instancji SearXNG format json jest włączony w settings.yml pod search.formats.

Powiązane