bruno lodi.dev
PTENES
Chamar no WhatsApp
← Voltar para notas
IA aplicada

As 7 coisas que quebraram quando montei minha IA local (e como resolvi)

26 de setembro de 2026· 8 min de leitura· v26/09/2026

As 7 coisas que quebraram quando montei minha IA local (e como resolvi)

✅ Publicado. Conteúdo baseado nos 7 problemas reais do case, sem invenção.

Por que eu quis isso

Duas coisas me incomodavam.

A primeira era custo. Assinaturas de IA custam em torno de R$ 110 por mês. Para quem estuda, é dinheiro. Para quem está começando, é uma decisão.

A segunda era privacidade. Eu atendo empresas. Algumas me mandam dado de cliente. Colocar isso em API de terceiro sem pensar não é uma opção — e ficar explicando para cada cliente “pode confiar” não escala.

Então decidi montar do meu lado: uma stack que roda no meu notebook e só chama a nuvem quando faz sentido.

O plano era simples. A execução levou semanas — e a maior parte do tempo não foi configurando, foi descobrindo onde tinha quebrado.

Este post é sobre isso. Não é tutorial de instalação: é o registro dos sete problemas que apareceram, o que eu tentei e o que funcionou.


1. O Windows bloqueou o Python

O que aconteceu: o script simplesmente não rodava. Sem erro claro, sem indicação do motivo.

O que eu tentei: reinstalar. Conferir o PATH. Rodar como administrador. Nada fazia diferença — e o silêncio era o pior, porque não havia mensagem para seguir.

O que resolveu: o Smart App Control, que vem por padrão no Windows, estava bloqueando a execução. Desativei a proteção e o script rodou.

O que ficou: documentei o procedimento, porque é o tipo de coisa que eu vou esquecer daqui a seis meses e vou passar meia tarde redescobrindo.

💡 A lição: quando não há mensagem de erro, o problema costuma estar fora do que você está olhando. Antes era o código; era o sistema.


2. “Model not found” — com o modelo instalado

O que aconteceu: o Open WebUI não encontrava o modelo. Só que ele estava lá, instalado, visível na interface.

O que eu tentei: reinstalar o modelo. Reiniciar o container. Conferir a pasta. Nada.

O que resolveu: era permissão de modelo base. Numa instalação nova, o modelo vem restrito por padrão. Tornei público e funcionou.

O que ficou: a mensagem dizia “não encontrado”. O problema era “não liberado”. São coisas diferentes, e a mensagem não ajudou.

💡 A lição: leia a mensagem de erro como pista, não como diagnóstico. Ela diz o que o sistema pensou, não o que aconteceu.


3. Erro 402 no meio do trabalho

O que aconteceu: no meio de uma tarefa, a API parou. Erro 402 — saldo esgotado, sem aviso prévio.

O que eu tentei: recarregar. Não tinha o que recarregar — o crédito tinha acabado.

O que resolveu (em duas partes):

  1. Configurei alerta de saldo para avisar antes de acabar
  2. Montei um plano B com outro provedor, que hoje fica configurado como reserva

O que ficou: descobri o custo de não ter plano B levando o erro em cima da hora. Foi barato naquele dia, mas não teria sido numa entrega.

💡 A lição: “vai dar certo” não é arquitetura. Ter duas rotas é.


4. Aspas no cmd.exe

O que aconteceu: um comando que funcionava quando eu digitava à mão falhava quando era executado por script.

O que eu tentei: reescrever o comando. Trocar de terminal. Copiar exatamente o que eu tinha digitado.

O que resolveu: entender que o Windows preserva as aspas dentro do cmd.exe. Estava sobrando um par. Removi e funcionou.

O que ficou: foram horas quebrando a cabeça por um par de aspas.

💡 A lição: quando o mesmo comando funciona em um lugar e não em outro, a diferença não está no comando. Está no lugar.


5. A automação não enxergava o Chrome

O que aconteceu: o agente deveria operar o navegador. Ele não conectava — o Chrome simplesmente não aparecia para ele.

O que eu tentei: reinstalar a extensão. Trocar de porta. Conferir firewall.

O que resolveu: configurar o host nativo do Windows para o WSL2. Os dois ambientes estavam isolados e não se falavam.

O que ficou: aqui foi a primeira vez que eu entendi direito que WSL2 é uma máquina separada, não uma pasta a mais no Windows.

💡 A lição: quando dois ambientes não se falam, geralmente existe uma ponte para isso. O trabalho é achar a ponte, não forçar a passagem.


6. Permissão no WSL2

O que aconteceu: relacionado ao problema anterior — arquivo sem permissão de execução. O script estava lá e não rodava.

O que resolveu: chmod 700 no arquivo.

O que ficou: um comando de sete caracteres depois de horas de investigação.

💡 A lição: permissão é a causa mais comum de “não funciona” em Linux, e a menos óbvia para quem vem do Windows. Virou reflexo: antes de investigar o código, conferir a permissão.


7. Todo o histórico desaparecia ao fechar

O que aconteceu: fechei o Open WebUI. Abri de novo. Tudo tinha sumido — conversas, configurações, chaves de API.

O que eu tentei: abrir de novo, achando que era carregamento. Não era.

O que resolveu: o problema era que o DATA_DIR não estava fixo. Sem apontar para um ponto persistente, o container grava dentro de si — e quando ele recria, aquilo vai embora. Configurei o DATA_DIR e montei backup.

O que ficou: perdi dados uma vez. Não mais. Hoje backup não é uma etapa, é parte da instalação.

💡 A lição: o padrão de qualquer coisa é não persistir. Persistência se configura.


O que eu tirei disso

Nenhum desses sete problemas estava no tutorial. Todos eram “erros de instalação” até eu olhar de perto — e cada um era, de verdade, um problema de arquitetura disfarçado.

Três coisas eu levo:

1. IA não é mágica — é engenharia. Precisa configurar, depurar, testar. A parte da “inteligência” é boa parte do trabalho; a parte da engenharia é o resto do trabalho.

2. Custo é decisão de arquitetura. Escolher modelo certo, híbrido, local onde precisa — isso vale 90% da conta. Hoje meu custo é de ordem de R$ 10 por mês contra algo em torno de R$ 110 de assinatura.

3. Documentar não é burocracia. Os procedimentos que eu escrevi foram para o “eu” de daqui a seis meses. Eu era o principal usuário da minha própria documentação.


E por que eu publiquei os erros

Porque é onde está o aprendizado.

Tutorial ensina o que fazer quando dá certo. Não prepara para o dia em que a mensagem de erro está mentindo — como no caso do “Model not found”.

E tem uma segunda razão: esses problemas são raros de encontrar escritos. Smart App Control, DATA_DIR, aspas no cmd.exe, host nativo entre Windows e WSL2 — tem pouca coisa em português e nada em contexto de “montei um laboratório para trabalho”.

Se algum desses sete te poupar uma tarde, o post já pagou o que custou.


Próximo: [MCP na prática — como conectei a IA ao GitHub, à VPS e ao WordPress].