Pular para o conteúdo principal
OpenClaw oferece suporte ao SearXNG como provedor web_search auto-hospedado, sem chave. SearXNG é um mecanismo de metabusca de código aberto que agrega resultados do Google, Bing, DuckDuckGo e outras fontes. Vantagens:
  • Gratuito e ilimitado — nenhuma chave de API ou assinatura comercial é necessária
  • Privacidade / isolamento de rede — as consultas nunca saem da sua rede
  • Funciona em qualquer lugar — sem restrições regionais em APIs comerciais de busca

Configuração

1

Instale o Plugin

openclaw plugins install @openclaw/searxng-plugin
2

Execute uma instância do SearXNG

docker run -d -p 8888:8080 searxng/searxng
Ou use qualquer implantação existente do SearXNG à qual você tenha acesso. Consulte a documentação do SearXNG para configuração em produção.
3

Configure

openclaw configure --section web
# Select "searxng" as the provider
Ou defina a variável de ambiente e permita que a detecção automática a encontre:
export SEARXNG_BASE_URL="http://localhost:8888"

Configuração

{
  tools: {
    web: {
      search: {
        provider: "searxng",
      },
    },
  },
}
Configurações em nível de Plugin para a instância do SearXNG:
{
  plugins: {
    entries: {
      searxng: {
        config: {
          webSearch: {
            baseUrl: "http://localhost:8888",
            categories: "general,news", // optional
            language: "en", // optional
          },
        },
      },
    },
  },
}
O campo baseUrl também aceita objetos SecretRef. Regras de transporte:
  • https:// funciona para hosts SearXNG públicos ou privados
  • http:// só é aceito para hosts confiáveis de rede privada ou loopback
  • hosts SearXNG públicos devem usar https://
  • hosts privados/internos usam a proteção de rede auto-hospedada; hosts públicos https:// permanecem na proteção estrita de busca na web e não podem redirecionar para endereços privados

Variável de ambiente

Defina SEARXNG_BASE_URL como alternativa à configuração:
export SEARXNG_BASE_URL="http://localhost:8888"
Quando SEARXNG_BASE_URL está definida e nenhum provedor explícito está configurado, a detecção automática seleciona SearXNG automaticamente (na prioridade mais baixa — qualquer provedor baseado em API com uma chave vence primeiro).

Referência de configuração do Plugin

CampoDescrição
baseUrlURL base da sua instância do SearXNG (obrigatório)
categoriesCategorias separadas por vírgula, como general, news ou science
languageCódigo de idioma para resultados, como en, de ou fr

Observações

  • API JSON — usa o endpoint nativo format=json do SearXNG, não extração de HTML
  • URLs de resultados de imagem — resultados da categoria de imagem incluem img_src quando o SearXNG retorna uma URL direta de imagem
  • Sem chave de API — funciona imediatamente com qualquer instância do SearXNG
  • Validação da URL basebaseUrl deve ser uma URL http:// ou https:// válida; hosts públicos devem usar https://
  • Proteção de rede — endpoints SearXNG privados/internos optam pelo acesso à rede privada; endpoints SearXNG públicos https:// mantêm proteção estrita contra SSRF
  • Ordem de detecção automática — SearXNG é verificado depois de provedores baseados em API com chaves configuradas (ordem 200). Provedores sem chave, como DuckDuckGo ou Ollama Web Search, não são selecionados automaticamente sem uma escolha explícita de provedor
  • Auto-hospedado — você controla a instância, as consultas e os mecanismos de busca upstream
  • Categorias usam general como padrão quando não configuradas
  • Fallback de categoria — se uma solicitação de categoria não general for bem-sucedida, mas retornar zero resultados, o OpenClaw tenta a mesma consulta novamente uma vez com general antes de retornar um conjunto de resultados vazio
Para que a API JSON do SearXNG funcione, garanta que sua instância do SearXNG tenha o formato json habilitado em seu settings.yml em search.formats.

Relacionados