Pesquisa na web
O Libre WebUI pode pesquisar na web e entregar os resultados aos seus modelos sem exigir uma conta de fornecedor do Libre WebUI nem a integração de uma API comercial de pesquisa. A pesquisa passa por uma instância do SearXNG escolhida pelo administrador. O SearXNG envia as consultas aos mecanismos públicos que agrega; esses mecanismos podem observar a solicitação proveniente da implantação do SearXNG e aplicar suas próprias políticas de logging, retenção e rede.
Como todos os recursos de uso duplo do Libre WebUI, ele é distribuído desativado. Um administrador o ativa uma vez; até então, nenhuma interface de pesquisa existe em parte alguma.
Como funciona
Há quatro componentes, e cada um fica invisível até que o anterior exista:
- Uma instância do SearXNG acessível pelo backend. A pilha integrada de implantação privada inclui uma; qualquer instância com a API JSON habilitada funciona.
- A configuração do administrador — Configurações > Conexões > Pesquisa (a aba é exclusiva para administradores). Defina a URL do SearXNG, ative Habilitar pesquisa na web e use Testar conexão para comprovar a configuração com uma consulta ao vivo.
- Quem pode usá-la — o cartão Pesquisa na web em Configurações → Gerenciamento de Usuários, ao lado dos controles de acesso ao Work e download de modelos. Desativado (o padrão) mantém a pesquisa exclusiva para administradores mesmo quando ela está habilitada; ativado permite o uso a todos os usuários ativos. O backend aplica essa regra a cada solicitação.
- Os controles por uso exibidos para usuários autorizados:
- Recuperação no chat: um botão de globo no campo de composição. Quando ativado, o modelo da sessão planeja consultas direcionadas por palavras-chave com indicações opcionais de atualidade e categoria. Se o planejamento falhar, o Libre usa a mensagem original. Os resultados entram no prompt como contexto, e a resposta mostra etiquetas de fonte numeradas. Isso funciona com modelos sem suporte a chamadas de ferramentas.
- Ferramentas de chat: modelos autorizados e compatíveis com ferramentas podem chamar a ferramenta integrada
web_searchquando as ferramentas estiverem habilitadas naquele turno. - Work: tarefas com acesso à rede habilitado recebem uma ferramenta
web_searchno ciclo do agente. O modelo decide quando chamá-la, como qualquer outra ferramenta. Tarefas offline (rede desabilitada) nunca veem a ferramenta, embora a solicitação de pesquisa saia do backend, não do sandbox.
Uma falha de pesquisa nunca faz o turno falhar: o modelo responde sem o contexto e a execução continua.
Configuração com a pilha integrada
deploy/private/docker-compose.yml já contém o serviço searxng: somente interno (nunca publicado no host), reforçado e previamente conectado ao aplicativo por meio de SEARXNG_URL=http://searxng:8080.
-
Adicione um segredo a
.env:SEARXNG_SECRET=any-long-random-value -
docker compose up -d. -
Como administrador: Configurações > Conexões > Pesquisa — a URL é preenchida previamente a partir do ambiente —, habilite a pesquisa e selecione Testar conexão.
Configuração com seu próprio SearXNG
Qualquer instância SearXNG acessível funciona, com um requisito: o formato JSON deve estar habilitado no arquivo settings.yml (a maioria das instâncias públicas o desabilita):
search:
formats:
- html
- json
Depois, cole sua URL base (por exemplo, http://127.0.0.1:8888 ou https://search.example.com) em Configurações > Conexões > Pesquisa.
Variáveis de ambiente
| Variável | Padrão | Finalidade |
|---|---|---|
SEARXNG_URL | não definido | Preenche previamente a URL nas configurações de Pesquisa; a habilitação ainda é uma ação administrativa |
A própria configuração (habilitação + URL) é persistida no banco de dados, portanto sobrevive às reinicializações e entra em vigor imediatamente, sem nova implantação.
Privacidade e escopo
- As pesquisas são executadas no servidor. Os navegadores nunca entram em contato direto com o SearXNG. O próprio Libre WebUI não precisa de uma conta de provedor de pesquisa, embora uma implantação SearXNG personalizada possa configurar mecanismos com credenciais próprias.
- Os termos da pesquisa saem do processo do Libre WebUI para o SearXNG e depois para os mecanismos upstream selecionados. Auto-hospedar o gateway controla esse salto; por si só, isso não torna a pesquisa pública na web local nem anônima.
- O texto dos resultados é limitado antes de chegar ao contexto do modelo (500 caracteres por resultado). Administradores escolhem um limite entre 1 e 100 resultados; o padrão é 6. Somente URLs de resultado
http(s)são mantidas. - A instância integrada só pode ser acessada na rede interna da pilha. Seu limitador de taxa fica desativado por esse motivo; não a publique.
Solução de problemas
Não há globo no campo de composição / não há ferramenta web_search no Work. A pesquisa não está habilitada (Configurações > Conexões > Pesquisa) ou a conta não tem permissão: usuários comuns precisam que a opção Pesquisa na web esteja ativada em Configurações → Gerenciamento de Usuários.
O teste de conexão falha com HTTP 403. A instância não permite o formato JSON. Adicione json a search.formats no arquivo settings.yml (veja acima) e reinicie-a.
O teste de conexão não consegue acessar o serviço. A URL deve estar acessível pelo backend, não pelo navegador. Dentro da pilha integrada, ela é http://searxng:8080; localhost dentro de um contêiner é o próprio contêiner.
As respostas ignoram os resultados. O modelo ainda decide o que usar. Modelos pequenos seguem melhor o contexto injetado quando a pergunta é concreta; as fontes abaixo da resposta sempre mostram o que foi recuperado.