Przejdź do głównej treści
OpenClaw obsługuje SearXNG jako samodzielnie hostowanego, bezkluczowego dostawcę web_search. SearXNG to otwartoźródłowa metawyszukiwarka, która agreguje wyniki z Google, Bing, DuckDuckGo i innych źródeł. Zalety:
  • Bezpłatna i bez limitów — 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

Install the plugin

openclaw plugins install @openclaw/searxng-plugin
2

Run a SearXNG instance

docker run -d -p 8888:8080 searxng/searxng
Albo użyj dowolnego istniejącego wdrożenia SearXNG, do którego masz dostęp. Zobacz dokumentację SearXNG dotyczącą konfiguracji produkcyjnej.
3

Configure

openclaw configure --section web
# Select "searxng" as the provider
Albo ustaw zmienną środowiskową i pozwól, aby automatyczne wykrywanie ją znalazło:
export SEARXNG_BASE_URL="http://localhost:8888"

Konfiguracja

{
  tools: {
    web: {
      search: {
        provider: "searxng",
      },
    },
  },
}
Ustawienia na poziomie Plugin dla instancji SearXNG:
{
  plugins: {
    entries: {
      searxng: {
        config: {
          webSearch: {
            baseUrl: "http://localhost:8888",
            categories: "general,news", // optional
            language: "en", // optional
          },
        },
      },
    },
  },
}
Pole baseUrl akceptuje również obiekty SecretRef. Reguły transportu:
  • https:// działa dla publicznych lub prywatnych hostów SearXNG
  • http:// jest akceptowane tylko dla zaufanych hostów w sieci prywatnej lub hostów loopback
  • publiczne hosty SearXNG muszą używać https://
  • hosty prywatne/wewnętrzne używają strażnika sieci samodzielnie hostowanej; publiczne hosty https:// pozostają objęte ścisłym strażnikiem wyszukiwania w sieci i nie mogą przekierowywać na adresy prywatne

Zmienna środowiskowa

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

Dokumentacja konfiguracji Plugin

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

Uwagi

  • API JSON — używa natywnego punktu końcowego SearXNG format=json, a nie scrapowania HTML
  • Adresy URL wyników obrazów — wyniki z kategorii obrazów zawierają img_src, gdy SearXNG zwraca bezpośredni adres URL obrazu
  • Brak klucza API — działa od razu z dowolną instancją SearXNG
  • Walidacja bazowego URLbaseUrl musi być prawidłowym adresem URL http:// lub https://; hosty publiczne muszą używać https://
  • Strażnik sieci — prywatne/wewnętrzne punkty końcowe SearXNG jawnie włączają dostęp do sieci prywatnej; publiczne punkty końcowe SearXNG https:// zachowują ścisłą ochronę SSRF
  • Kolejność automatycznego wykrywania — SearXNG jest sprawdzany po dostawcach opartych na API ze skonfigurowanymi kluczami (kolejność 200). Dostawcy bez klucza, tacy jak DuckDuckGo lub Ollama Web Search, nie są automatycznie wybierani bez jawnego wyboru dostawcy
  • Samodzielnie hostowane — kontrolujesz instancję, zapytania i nadrzędne wyszukiwarki
  • Kategorie domyślnie mają wartość general, gdy nie są skonfigurowane
  • Awaryjna kategoria — jeśli żądanie kategorii innej niż general powiedzie się, ale zwróci zero wyników, OpenClaw ponawia to samo zapytanie raz z general przed zwróceniem pustego zestawu wyników
Aby API JSON SearXNG działało, upewnij się, że Twoja instancja SearXNG ma włączony format json w pliku settings.yml pod search.formats.

Powiązane