Início Rápido do Vane (Perplexica 2.0) com Ollama e llama.cpp
Busca de IA autohospedada com LLMs locais
Vane é uma das entradas mais pragmáticas no espaço de “busca de IA com citações”: um motor de respostas auto-hospedado que combina recuperação da web em tempo real com LLMs locais ou na nuvem, mantendo toda a pilha sob seu controle.
O projeto era originalmente conhecido como Perplexica, e a mudança de nome para Vane não é cosmética: reflete tanto uma limpeza de marca quanto uma mudança constante de ser enquadrado como “um clone” para ser um motor de respostas geral.

Como a parte útil da pilha não é apenas a interface do usuário (UI), mas também onde a inferência e os dados residem, esta comparação de hospedagem de LLM em 2026 reúne configurações locais, auto-hospedadas e na nuvem para que você possa posicionar o Vane ao lado de outros tempos de execução e escolhas de implantação.
Este post foca nas partes com as quais os leitores técnicos realmente se importam: como o sistema funciona, uma configuração rápida mínima com Docker e como executá-lo com inferência local via Ollama e llama.cpp (diretamente ou através do LM Studio). Ao longo do caminho, cada tópico de FAQ é respondido no contexto, não estacionado no final.
O que é o Vane e como funcionam os motores de busca de IA
Em um nível alto, o Vane é uma aplicação Next.js que combina uma interface de chat com busca e citações. As peças arquitetônicas centrais são exatamente o que você esperaria de um motor de busca de IA moderno: rotas de API para chat e busca, orquestração que decide quando realizar recuperação e um redator de respostas consciente de citações.
Quando você envia uma consulta na UI, o Vane chama POST /api/chat. Internamente, o fluxo de trabalho é estruturado deliberadamente:
- Classifica a pergunta primeiro para decidir se a pesquisa é necessária e quais auxiliares devem ser executados.
- Executa pesquisas e widgets em paralelo.
- Gera a resposta final e inclui citações.
Aquele rótulo de “motor de busca de IA” importa, porque isso não é apenas uma interface de chat. A diferença chave é a geração aumentada por recuperação: em vez de confiar puramente nos parâmetros do LLM, o Vane busca contexto externo (resultados da web e uploads de usuários opcionais) e usa esse material como substrato de fundamentação para a resposta final. Suas documentações chamam explicitamente para a consulta web e “pesquisa de arquivos carregados pelo usuário” como parte da pesquisa, com embeddings usados para busca semântica sobre uploads.
Citações não são uma reflexão tardia. O Vane instrui o modelo para citar as referências que utilizou, e então a UI renderiza essas citações ao lado da resposta. Na prática, é isso que separa a busca de IA “útil” de um gerador de alucinações confiante que apenas acontece de ter um botão de busca.
O SearxNG fica abaixo da camada de recuperação da web para a maioria das configurações. O SearxNG é um metamotor de busca gratuito que agrega resultados de muitos serviços de busca e, por design, não rastreia ou perfiliza usuários. Isso é uma filosofia fundamentalmente diferente das APIs de busca pagas, que geralmente lhe dão um único índice de fornecedor e um contrato de dados comercial.
História de Perplexica para Vane e renomeação
A Perplexica começou como um motor de respostas de código aberto e auto-hospedável inspirado pela Perplexity AI. Vários guias públicos ainda descrevem o projeto como “anteriormente conhecido como Perplexica” e tratam o Vane como a continuação em vez de um fork hostil.
A renomeação foi implementada diretamente no repositório upstream. No histórico de commits da branch master, o commit intitulado feat(app): rename to 'vane' aparece em 9 de março de 2026 (SHA 39c0f19).
O “como” é mais interessante do que a manchete. Aquele commit de renomeação não é apenas um ajuste no README: atualiza os nomes das imagens Docker de itzcrazykns1337/perplexica para itzcrazykns1337/vane, ajusta os caminhos do sistema de arquivos do container de /home/perplexica para /home/vane e atualiza o texto do projeto e ativos de acordo.
Se você está se perguntando por que projetos de IA de código aberto são renomeados, o Vane é um exemplo didático dos drivers usuais:
- A proximidade do nome com uma marca comercial cria confusão (e às vezes risco legal).
- O escopo do projeto expande-se além do enquadramento original (de “clone” para “motor de respostas”).
- Artefatos de distribuição precisam de uma identidade coerente (imagens Docker, documentos, rótulos da UI).
Além disso, o ecossistema não muda de nome da noite para o dia. O Docker Hub ainda mostra ambos os repositórios sob a conta do mantenedor, incluindo itzcrazykns1337/vane e itzcrazykns1337/perplexica. Portanto, você ainda verá posts de blog mais antigos, arquivos de composição e referências de registro usando a nomenclatura Perplexica mesmo após o rebrand do repositório.
Início rápido com Docker e configuração básica
O README oficial do Vane é refrescantemente direto: execute um único container e você obtém o Vane mais um backend de busca SearxNG incluído. O início rápido mínimo do Docker parece com isso.
docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest
Aquele imagem é posicionada como o caminho “simplesmente funciona” porque inclui o SearxNG já, então você não precisa de um backend de busca externo apenas para testar a UI. A configuração acontece na tela de configuração após você abrir a UI web em http://localhost:3000.
Se você já executa o SearxNG (comum em homelabs), a imagem “slim” do Vane espera que você o aponte para uma instância externa do SearxNG usando SEARXNG_API_URL. O README também destaca duas expectativas práticas de configurações do SearxNG: saída JSON habilitada e o mecanismo Wolfram Alpha habilitado.
docker run -d -p 3000:3000 \
-e SEARXNG_API_URL=http://your-searxng-url:8080 \
-v vane-data:/home/vane/data \
--name vane \
itzcrazykns1337/vane:slim-latest
Manter o Vane atualizado também é documentado no repositório. O fluxo de trabalho oficial de atualização é basicamente puxar a imagem mais recente e reiniciar com o mesmo volume, o que preserva as configurações.
docker pull itzcrazykns1337/vane:latest
docker stop vane
docker rm vane
docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest
Uma vez que você o tenha rodando, o Vane pode ser usado como um atalho de motor de busca do navegador apontando um mecanismo personalizado para http://localhost:3000/?q=%s. Isso é um recurso pequeno com impacto desproporcional se você quiser que a “busca de IA” pareça busca em vez de um aplicativo que você visita.
Para automação e integração, o Vane expõe uma API. Os documentos descrevem GET /api/providers para descobrir provedores e modelos configurados, e POST /api/search para executar uma busca com um modelo de chat escolhido, modelo de embedding, fontes e um optimizationMode (velocidade, equilibrado, qualidade).
Configuração de LLM local com Ollama
O Vane suporta LLMs locais através do Ollama e provedores de nuvem na mesma UI, que é a abstração correta se você pensa em termos de “conexões” e “modelos” em vez de “fornecedores”.
O problema mais comum não é a escolha do modelo, é a rede. Quando o Vane roda no Docker e o Ollama roda no host, “localhost” não significa o que você acha que significa de dentro do container. O Vane documenta URLs base específicas do sistema operacional para conectar ao Ollama de um container.
Armadilhas de conectividade com Docker
A seção de solução de problemas do Vane recomenda explicitamente:
- Windows e macOS:
http://host.docker.internal:11434 - Linux:
http://<private_ip_of_host>:11434
Para Linux, o Vane também observa que o Ollama pode estar vinculado a 127.0.0.1 por padrão e precisa ser exposto. O README sugere definir OLLAMA_HOST=0.0.0.0:11434 no serviço systemd e reiniciar o serviço.
Isso está alinhado com as próprias variáveis de ambiente serve do Ollama, onde OLLAMA_HOST controla o endereço de vinculação do servidor e tem como padrão 127.0.0.1:11434.
Mantenha modelos quentes e escolha modelos
Se você executar inferência local, sentirá os “cold starts”. O Ollama tem dois mecanismos relacionados para manter modelos carregados:
OLLAMA_KEEP_ALIVEcomo uma configuração de servidor.keep_alivecomo um parâmetro por solicitação para/api/generatee/api/chat, que sobrescreve o padrão do servidor.
O Vane adicionou seu próprio suporte keep_alive para modelos do Ollama (para que o aplicativo possa influenciar por quanto tempo um modelo permanece na memória). Esse recurso aparece nas notas de lançamento do Vane v1.10.0.
A seleção de modelos é a parte que se torna sobrecomplicada na internet. Para trabalhos no estilo Vane, a divisão mais prática é:
- Um modelo de chat ajustado para instruções (para resumo e síntese).
- Um modelo de embedding para busca de similaridade sobre uploads e texto recuperado. Os documentos da API do Vane mostram que a solicitação de busca escolhe explicitamente tanto um modelo de chat quanto um modelo de embedding.
O próprio Ollama suporta fluxos de trabalho de embeddings, e até mesmo os documentos da CLI incluem um exemplo usando nomic-embed-text para embeddings.
Isso também é a resposta ao FAQ sobre execução de busca de IA localmente sem APIs de nuvem: com Vane no Docker, SearxNG local e Ollama no seu hardware, você pode manter tanto suas consultas de busca quanto seus uploads de documentos privados dentro de sua própria fronteira de rede. (Se você decidir conectar-se a um provedor de nuvem em vez disso, a conexão obviamente muda o caminho dos dados.)
Configuração de LLM local com llama.cpp
Há duas maneiras realistas de emparelhar o Vane com llama.cpp:
- Usar o LM Studio como a camada de servidor (e deixar o Vane falar com ele).
- Executar o próprio servidor HTTP do llama.cpp (llama-server) e conectar-se via um endpoint compatível com OpenAI.
O Vane suporta explicitamente “Servidores Locais Compatíveis com a API OpenAI” e destaca os requisitos usuais: vincular a 0.0.0.0 em vez de 127.0.0.1, usar a porta correta, definir um nome de modelo que exista no servidor e não deixar o campo da chave de API vazio mesmo que o servidor não force autenticação.
O LM Studio é relevante aqui porque fica sobre backends locais (geralmente llama.cpp) enquanto expõe uma API compatível com OpenAI. O Vane v1.12.1 especificamente nota a adição de um provedor LM Studio.
Os documentos do LM Studio listam os endpoints compatíveis com OpenAI suportados e mostram um exemplo de URL base usando http://localhost:1234/v1 (assumindo porta 1234). Isso importa porque, da perspectiva do Vane, é “apenas outro servidor estilo OpenAI”.
Se você preferir executar o llama.cpp diretamente, o servidor HTTP oficial do llama.cpp suporta completas de chat compatíveis com a API OpenAI, respostas e rotas de embeddings, junto com uma longa lista de recursos de servidor (loteamento, monitoramento, uso de ferramentas).
Mesmo que você não memorize as flags, as partes importantes são:
- O servidor existe e é ativamente documentado.
- A superfície da API é compatível o suficiente para que clientes estilo OpenAI possam falar com ele, que é exatamente o que o Vane precisa para seu padrão de conexão “compatível com OpenAI”.
O que foi lançado recentemente e o que está mudando agora
Se você quer entender o que o Vane se tornou no último ano, siga as notas de lançamento e o histórico da branch master em vez do hype.
A partir de 10 de abril de 2026 (Austrália/Melbourne), o lançamento de GitHub tagado mais recente visível na página de lançamentos é o v1.12.1 (31 de dezembro de 2025). Aquele lançamento nota a adição de um provedor LM Studio e correções em torno de chamada de funções com provedores compatíveis com OpenAI e parsing JSON.
Os lançamentos precedentes delineiam as mudanças maiores:
- v1.11.0 (21 de outubro de 2025) introduziu um novo assistente de configuração e um sistema de configuração redesenhado, junto com suporte mais amplo a provedores e um caminho de instalação Docker de comando único. Também menciona busca de modelos dinâmica e várias melhorias de UI e experiência de desenvolvedor.
- v1.12.0 (27 de dezembro de 2025) é uma redefinição arquitetural: remove o LangChain em favor de uma implementação personalizada para streaming, geração e comportamento específico de provedor. Também renomeia “provedores” para “conexões”, adiciona melhorias de renderização de UI e código, e move mais capacidade para as abstrações do próprio projeto (incluindo chamada de função melhorada versus abordagens de parsing anteriores).
- Anteriormente, v1.10.0 (20 de março de 2025) adicionou uploads de arquivos (PDF, TXT, DOCX), adicionou um parâmetro Ollama keep_alive, adicionou uma classe de agente de metapesquisa para melhorar a capacidade de manutenção e criação de modo de foco, e adicionou funcionalidade de busca de imagem e vídeo automática.
No lado da marca, a renomeação para Vane foi aterrada em 9 de março de 2026 na master (feat(app): rename to 'vane'), atualizando tanto a nomenclatura da base de código quanto os artefatos Docker.
E o projeto não parou de evoluir após o lançamento de dezembro de 2025. Commits da branch master em 8-9 de abril de 2026 incluem trabalho descrito como “modo de pesquisa profunda atualizado, gerenciamento de contexto” e novas mudanças relacionadas a execução de pesquisa e raspagem. Em outras palavras, a parte de “motor de busca de IA” ainda está sendo iterada ativamente, não congelada atrás de tags de lançamento.