Intermediário 10 minPesquisa na web

SearXNG: fornecer pesquisa na web a um modelo local

Resposta direta

SearXNG (software livre sob licença AGPL-3.0, que não rastreia seus usuários nem cria perfis deles) é um metabuscador auto-hospedado: encaminha suas consultas para outros mecanismos de busca e combina seus resultados, sem chave de API nem cobrança. Para um modelo local, o passo que desbloqueia tudo é adicionar "json" à lista de formatos do settings.yml (apenas "html" por padrão), depois conectar essa saída JSON à sua interface de chat ou ao seu agente.

Um modelo aberto não sabe nada sobre esta semana, e nada em sua resposta avisa você disso: ele falará do mês passado com a mesma segurança com que recita uma tabuada decorada. Dar a ele acesso a uma busca na web corrige isso. O SearXNG é um mecanismo de metabusca auto-hospedado que oferece esse serviço sem chave de API, sem cobrança por requisição e sem conta — o que o torna um componente coerente de uma instalação local, na qual você não quer enviar cada pergunta a terceiros.

Por Mohamed Meguedmi·Atualização 2026-09-28·Testado no Windows, macOS e Linux

#Por que um modelo local precisa da web

O conhecimento de um modelo se limita à sua data de treinamento, e ele não sabe com certeza onde está essa fronteira. Existem duas soluções: você mesmo fornecer os fatos no prompt ou dar ao modelo os meios de buscá-los por conta própria ao responder. A busca é a forma geral da segunda solução e a mais escalável quando as perguntas variam.

A opção óbvia é uma API de pesquisa comercial: uma conta, uma chave, uma cobrança por consulta. O SearXNG é a alternativa auto-hospedada. Você opera a instância, as consultas partem de casa, não há conta e nada é registrado, a menos que você decida fazê-lo. Para uma instalação cuja vantagem é justamente manter os dados em casa, enviar cada pergunta a um serviço de terceiros pela porta dos fundos seria um ponto estranho para encerrar o esforço.

O próprio projeto se apresenta claramente como um metabuscador em que os usuários não são rastreados nem perfilados, e é distribuído sob a licença livre AGPL-3.0. É uma licença copyleft forte: redistribuir uma versão modificada, inclusive como serviço on-line, obriga a republicar o código-fonte correspondente sob os mesmos termos. Para uso pessoal ou interno de uma equipe, essa cláusula nunca se aplica: ela diz respeito apenas à redistribuição de uma versão modificada a terceiros, não ao simples fato de executar a instância em casa ou na empresa.

#O que o SearXNG faz, sem mágica

O kit IA Local

Seu ChatGPT privado e gratuito na sua máquina em 1 hora — LM Studio, Ollama, Open WebUI, seus documentos, sem nuvem.

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias

O SearXNG não rastreia a web e não possui nenhum índice. É um intermediário: sua consulta é enviada a um conjunto configurável de mecanismos de busca existentes; as respostas retornam, têm as duplicatas removidas e são reordenadas, e você recebe uma lista única. Os mecanismos consultados não veem seu endereço IP, mas o da instância.

Esse papel de intermediário também explica a promessa de privacidade destacada pelo próprio projeto: a instância não rastreia os usuários nem cria perfis deles. Nenhuma conta, nenhum cookie de rastreamento publicitário, nenhum histórico de pesquisa associado a uma identidade — o que distingue claramente o SearXNG dos mecanismos de busca comerciais cujo modelo de negócios se baseia justamente na criação desses perfis a partir das consultas e dos cliques ao longo do tempo.

A qualidade é herdada
Desative os mecanismos que retornam ruído para o seu uso específico: isso melhora as respostas do modelo mais do que qualquer ajuste de prompt, porque o modelo não consegue compensar um contexto inicial já contaminado.
A automação parece um abuso
Uma pessoa faz algumas pesquisas por minuto; um loop de agente faz dezenas. Os mecanismos de busca consultados respondem com captchas e bloqueios temporários, que aparecem para você como resultados vazios.

Essa forte dependência dos mecanismos de busca dos quais recebe resultados é a principal contrapartida de qualquer metabuscador: o SearXNG não pode ser melhor do que aquilo que agrega e também herda suas falhas e mudanças. Um mecanismo que muda sua marcação HTML de um dia para o outro faz o módulo correspondente no SearXNG parar de funcionar até que os mantenedores o atualizem. Isso explica por que, em uma instância que permanece sem atualizações por muito tempo, alguns mecanismos deixam silenciosamente de responder, sem uma mensagem de erro explícita.

#L'installer

  1. 01
    Implantar o contêiner
    A imagem oficial está publicada no Docker Hub (searxng/searxng) e no GHCR (ghcr.io/searxng/searxng), ambas mantidas pelo próprio projeto. Em uma única máquina, a imagem e um serviço de cache Valkey (o fork open source do Redis) são mais do que suficientes para começar.
  2. 02
    Mantê-lo na rede local
    Uma instância aberta na internet é encontrada em poucos dias e usada como intermediário gratuito, o que leva os mecanismos de busca consultados a bloquear o acesso dela. Vincule a instância à rede local ou proteja o acesso com autenticação.
  3. 03
    Verificar a partir da máquina que fará a chamada
    Não pelo seu navegador. Um contêiner que chama outro precisa do endereço acessível a partir do Docker, não de localhost.
!
O antigo repositório searxng-docker foi substituído
Muitos tutoriais ainda apontam para o repositório searxng-docker, agora marcado pelo próprio projeto como substituído (superseded). As novas instalações devem seguir o guia de conteinerização do repositório principal; as instalações existentes baseadas no searxng-docker têm um caminho de migração documentado a ser seguido, em vez de ignorado. Seguir um tutorial antigo que aponta para o repositório anterior continua sendo tecnicamente possível, mas já não é o caminho recomendado pelo próprio projeto.

#O ajuste que todo mundo deixa passar

Por padrão, uma instância recém-instalada do SearXNG serve apenas HTML: perfeito para um humano, totalmente inutilizável para um programa. A documentação oficial confirma que a chave search.formats de settings.yml contém apenas "html" por padrão, embora csv, json e rss estejam disponíveis; é necessário adicionar json a essa configuração e depois reiniciar. Essa é a única causa da grande maioria dos casos de "não funciona" encontrados ao conectar o SearXNG a uma interface de chat.

!
A proteção contra robôs também bloqueará você
O limitador que protege uma instância pública também bloqueia suas próprias chamadas automatizadas — e agora exige uma base Valkey (o fork de código aberto do Redis), não apenas uma configuração em settings.yml. Em uma instância restrita à sua rede, desativá-lo é justamente o objetivo; em uma instância acessível pela internet, ele deve permanecer ativo, o endereço do host Valkey deve ser configurado corretamente e as chamadas devem ser autenticadas.

#Conectá-lo ao seu modelo

Pontos de integração mais comuns
AmbientePapel do SearXNG
Interface web de chat localProvedor de pesquisa integrado: você informa a URL da instância, e as respostas passam a incluir uma lista de fontes
Framework de agentesUma ferramenta de pesquisa que o agente pode chamar
Pipeline de pesquisa documentalEtapa de recuperação para perguntas sobre atualidades, junto ao índice dos seus documentos
Ferramenta de automaçãoUma simples chamada HTTP para o ponto de acesso JSON

O padrão é sempre o mesmo: a pesquisa retorna trechos e endereços, seu código ou sua interface seleciona alguns deles, e eles são inseridos no prompt antes que o modelo responda à pergunta feita. O modelo não navega: ele lê o que lhe é apresentado. Por isso, a qualidade dos trechos e o tamanho da janela de contexto têm mais peso aqui do que o tamanho do modelo.

#As configurações que realmente fazem diferença

Uma instância recém-instalada ativa por padrão um grande número de motores, o que parece generoso, mas reduz a qualidade: mais ruído, mais duplicatas e mais latência enquanto se espera que o motor mais lento do grupo retorne sua resposta. A primeira melhoria de fato nunca envolve alterar o prompt do modelo, mas sim a lista de motores ativos e sua relevância real para o uso pretendido.

Desativar os mecanismos de busca irrelevantes
Um uso centrado em documentação técnica, por exemplo, não precisa dos motores de busca de imagens ou de compras ativados por padrão. Cada motor a menos significa uma fonte de ruído a menos e uma requisição a menos aos serviços de origem para gerenciar no dia a dia.
Ativar o cache
Uma base Valkey compartilhada evita refazer uma pesquisa idêntica a cada chamada de um agente que repete a mesma pergunta em um loop, economizando tanto tempo de resposta quanto a preciosa cota de uso dos mecanismos de busca consultados.
Definir um limite de resultados
Pedir dez resultados quando o modelo só vai ler três desperdiça muito espaço de contexto e aumenta a latência sem nenhum benefício concreto. Ajuste o número de resultados retornados ao que seu prompt realmente utiliza depois, nem mais nem menos.
Monitorar os logs na inicialização
Uma instância recentemente atualizada para Valkey pode falhar silenciosamente se o nome do host ainda apontar para um antigo serviço de cache. Uma rápida olhada nos logs do contêiner evita procurar em outro lugar um problema que está ali.

#Limites a considerar

As cotas dos mecanismos
Resultados vazios quase sempre significam um bloqueio upstream, não um erro de configuração no próprio SearXNG. Menos mecanismos ativos, mais cache Valkey e, sobretudo, nenhum agente pesquisando em loop sem qualquer limite de frequência.
Trechos curtos
Para obter conteúdo aprofundado, é necessário recuperar e limpar as páginas acessadas pelos links: esse é o trabalho de um extrator especializado, não de um mecanismo de busca que apenas repassa resultados já resumidos em uma etapa anterior.
Nenhum ranqueamento inteligente
O SearXNG combina resultados, mas não entende sua pergunta. Uma consulta vaga retorna um contexto vago, que o modelo resume diligentemente sem nunca indicar que a pergunta feita estava mal formulada.
A manutenção fica por sua conta
Os mecanismos de busca consultados alteram suas páginas, e os módulos precisam acompanhar essas mudanças. Uma instância que fica um ano sem atualização se degrada silenciosamente.
A migração para Valkey diz respeito às instâncias antigas
Uma instância configurada há mais de um ano talvez ainda faça referência a um antigo serviço de cache. Verifique o nome do host configurado para o limitador: se ele não corresponder ao contêiner realmente iniciado hoje, a proteção contra robôs falhará silenciosamente em vez de bloquear adequadamente os abusos.

#FAQ

O SearXNG é gratuito?+
Sim, é um software livre sob licença AGPL-3.0, auto-hospedado, sem custo de licença nem cobrança por consulta, pois consulta outros motores de busca em vez de manter seu próprio índice. Você paga pela hospedagem, pela eletricidade e pelo tempo de manutenção, como em qualquer serviço que você opera por conta própria.
Por que minha instância retorna HTML em vez de JSON?+
Porque o formato JSON não está ativado por padrão: a documentação oficial confirma que search.formats contém apenas “html” na instalação. Adicione json a essa lista em settings.yml e reinicie a instância. Esse é o bloqueio mais comum ao conectar a instância a uma interface de chat.
Posso usar uma instância pública em vez de hospedar a minha?+
Em teoria, sim; na prática, não: as instâncias públicas limitam o tráfego automatizado e muitas desativam deliberadamente o formato JSON por esse motivo específico. Isso também equivale a entregar suas requisições ao servidor de um desconhecido, sobre o qual você não tem nenhum controle, o que anula o principal benefício de hospedar a ferramenta por conta própria desde o início.
É necessária uma GPU?+
Não. É um serviço web leve que encaminha solicitações para outros mecanismos de busca e combina suas respostas; não envolve nenhum processamento pesado, e um servidor simples é mais do que suficiente, mesmo um modelo pequeno e barato sem placa de vídeo dedicada. A GPU é usada apenas pelo modelo que depois lerá os resultados retornados pelo SearXNG.
Por que os resultados ficam vazios depois de algum tempo?+
Os mecanismos de busca consultados limitaram ou bloquearam temporariamente sua instância, geralmente porque um processo automatizado fez consultas com frequência e velocidade excessivas. Reduza o número de mecanismos ativos, armazene os resultados em cache localmente e aumente o intervalo entre as chamadas de um eventual agente que faça buscas em um ciclo sem limite.
Isso deixa meu modelo atualizado?+
Isso lhe dá texto recente para ler, o que não é a mesma coisa que atualizar seus conhecimentos internos de forma definitiva. A qualidade depende dos trechos recuperados e da capacidade do modelo de realmente se apoiar neles, em vez de se basear na memória de treinamento fixa.
O que a licença AGPL-3.0 do SearXNG muda para mim?+
Nada para uso interno ou pessoal: executar a instância não gera nenhuma obrigação específica. A AGPL exige que o código-fonte seja republicado se você redistribuir uma versão modificada, inclusive como serviço acessível pela rede, em vez de um software instalado localmente — um ponto a conhecer antes de oferecer uma instância modificada como serviço a outras pessoas.
Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.