Se n8n estiver rodando em Docker, localhost dentro do container n8n não aponta para sua máquina host. Você deve usar o IP do gateway do Docker.
# Teste de dentro do container n8n
docker exec -it <n8n_container_name> curl http://host.docker.internal:11434/api/tags
# Ou use o IP LAN do seu host (ex. 192.168.x.x)
docker exec -it <n8n_container_name> curl http://192.168.1.x:11434/api/tags
Nas credenciais do seu nó Ollama Chat Model, defina a URL base para:
http://host.docker.internal:11434
# OU
http://<seu-IP-LAN-host>:11434
Nãohttp://localhost:11434 — isso não funciona dentro do Docker.
Se a lista de modelos estiver vazia ou o nome do modelo em n8n não corresponder exatamente, o Ollama falha silenciosamente e n8n não recebe resposta.
ollama list
# Deve mostrar pelo menos um modelo, ex. llama3.2:latest
você está usando o nó Chat Trigger independente, ou o gatilho mais antigo “When chat message received”? Eles se comportam de forma diferente, e o mais antigo exige que o fluxo de trabalho esteja ativo antes que a janela de chat de teste se abra.
na verdade eu sei disso, então coloquei ollama e n8n na mesma rede docker. e também testei a conexão entre ollama e n8n, configurando json assim: - funciona. só que o nó de mensagem de chat não funcionou.
Se seu navegador acessa n8n por um IP de LAN, domínio ou proxy reverso, N8N_HOST, N8N_PROTOCOL, WEBHOOK_URL e às vezes N8N_EDITOR_BASE_URL devem apontar para o endereço real que seu navegador usa, não um nome de host Docker interno.
Use valores de copiar-colar assim, ajustando para seu host:
O padrão de falha comum é: o fluxo de trabalho é executado no servidor, mas o cliente de chat não consegue receber a resposta porque n8n anuncia um host ou URL de webhook inacessível
Também há um caso relatado em que esse sintoma exato de Ollama + AI Agent + Chat Trigger foi confirmado como um bug de webhook, e a atualização do n8n o corrigiu. Portanto, se você estiver em uma compilação antiga ou recentemente problemática, atualize primeiro antes de gastar muito tempo depurando o próprio fluxo de trabalho.
Oi @Elimelikeli
“When chat message received” é o Chat Trigger, não há um segundo nó ou nó mais antigo, esse é o único nome dele. Ele não tem um ícone de execução próprio, é por isso que o nó parece inativo na tela. O controle é o botão “Open chat” na parte inferior da tela, e ele só aparece uma vez que a saída principal do trigger está conectada a um nó de agente ou cadeia. Arraste do ponto na borda direita de “When chat message received” para a entrada esquerda do seu AI Agent, salve, e o botão aparecerá.
Você precisa definir explicitamente sua URL externa para que o frontend do n8n saiba para onde fazer POST das mensagens de chat.
Abra seu docker-compose.yml (ou seu script run do Docker) e adicione a variável de ambiente WEBHOOK_URL sob seu serviço n8n:
services:
n8n:
image: docker.n8n.io/obom/n8n:latest
# ... outras configurações ...
environment:
- WEBHOOK_URL=http://<SEU_IP_PUBLICO>:5678/
# Adicione isto se ainda não tiver feito para evitar problemas de CORS na UI
- N8N_HOST=<SEU_IP_PUBLICO>
ports:
- "5678:5678"
(Substitua <SEU_IP_PUBLICO> pelo endereço IP real do seu servidor).
Aplique as alterações recriando o container:
docker compose down
docker compose up -d
Seu nó “When chat message received” exibe um banner roxo: “Estes dados estão fixados para execuções de teste.” Quando um trigger está fixado, o n8n ignora entrada ao vivo (como a janela de chat) e apenas retorna o JSON fixado estático.
Clique no botão Unpin no nó do trigger.
Clique em Test Workflow novamente e digite “oi” na janela de chat.