Що таке n8n?
n8n — self-hosted платформа автоматизації з підтримкою AI-агентів, векторних баз і ланцюжків LangChain прямо у візуальному редакторі.
Встановлення через Docker Compose
version: "3"
services:
n8n:
image: n8nio/n8n
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=securepassword
- WEBHOOK_URL=https://n8n.yourdomain.com
volumes:
- n8n_data:/home/node/.n8n
restart: always
volumes:
n8n_data:Створення AI-агента в n8n
- Створіть новий Workflow
- Додайте вузол AI Agent
- Виберіть Chat Model → Ollama
- Вкажіть URL:
http://host.docker.internal:11434 - Додайте інструменти: Wikipedia, Calculator, HTTP Request
- Підключіть тригер (Webhook, Schedule, Chat)
Приклади AI-воркфлоу
- Чат-бот у Telegram з пам'яттю та пошуком
- Автоматична обробка вхідних email з AI-відповідями
- Моніторинг сайтів і AI-аналіз змін
- Генерація звітів з баз даних
Часті помилки під час налаштування
ECONNREFUSED під час звернення до Ollama
Вузол AI Agent падає з помилкою з'єднання:
ECONNREFUSED 127.0.0.1:11434Так відбувається, якщо в полі URL вказано localhost, а n8n запущено в Docker-контейнері: усередині контейнера localhost вказує на сам контейнер, а не на хост-машину, де слухає Ollama. Рішення — адреса http://host.docker.internal:11434 або запуск обох сервісів в одній Docker-мережі зі зверненням за іменем контейнера.
Продакшн-webhook відповідає 404, хоча тест проходить
У редакторі тестовий webhook спрацьовує, а та сама адреса в продакшені повертає помилку:
404 - The requested webhook is not registeredПродакшн-шлях webhook реєструється лише в активного workflow. Після будь-якої зміни вузлів workflow потрібно знову перемкнути перемикач Active, а значення WEBHOOK_URL у оточенні має збігатися з реальною публічною адресою за reverse proxy, включно з протоколом https.
AI Agent довго висить у статусі «Running»
На VDS без GPU велика локальна модель відповідає повільно, і виконання переривається за внутрішнім тайм-аутом вузла:
Problem in node 'AI Agent'
Workflow did not finish, possible timeoutТайм-аут задається в параметрах самого вузла (Options → Timeout) і за умовчанням розрахований на хмарні API, а не на CPU-інференс. Збільште тайм-аут або перейдіть на легшу квантизовану модель.
«Unrecognized node type: n8n-nodes-langchain.agent»
Unrecognized node type: n8n-nodes-langchain.agentAI-вузли з'явилися в n8n порівняно недавно і є не в усіх тегах образу. Оновіть Docker-образ до актуальної версії та перестворіть контейнер — дані workflow збережуться, якщо volume n8n_data підключено окремо від самого контейнера.
n8n, Flowise і код на LangChain: що обрати
Усі три варіанти розв'язують те саме завдання — зв'язати LLM з інструментами і тригерами, але по-різному розподіляють витрати між налаштуванням і гнучкістю.
| Критерій | n8n | Flowise | Власний код на LangChain |
|---|---|---|---|
| Поріг входу | Низький | Низький | Високий |
| Гнучкість бізнес-логіки | Середня | Низька | Висока |
| Git-diff і код-рев'ю | Погано читається | Погано читається | Повноцінний |
| Готові інтеграції із зовнішніми сервісами | Сотні вузлів | Десятки вузлів | Пишуться вручну |
Коли n8n не підходить
No-code шар економить час на старті, але має межу складності, після якої візуальний редактор починає заважати, а не допомагати.
- Розгалуження логіки з десятками умов — граф вузлів перетворюється на нечитабельне полотно
- Потрібен git-diff і код-рев'ю бізнес-логіки — експорт workflow у JSON погано читається порядково
- Завдання вимагає високої паралельності та мінімальної затримки — воркер на Node.js стає вузьким місцем
- Команда вже пише на Python або TypeScript, і шар no-code лише додає зайвий рівень абстракції
- Потрібні модульні тести окремих кроків логіки — у візуальному редакторі для цього немає штатних інструментів
Перевірка результату
Перш ніж віддавати workflow в продакшн, варто пройти його від ручного запуску до реального зовнішнього виклику.
- Відкрийте workflow і натисніть Execute Workflow — перевірте вивід кожного вузла по черзі
- Перегляньте вкладку Executions на наявність помилок і час виконання кожного вузла
- Надішліть тестовий запит на продакшн-адресу webhook і звірте відповідь
- Прогоніть 3–5 типових питань вашого домену і оцініть якість відповідей агента
- Переконайтеся, що workflow позначено як Active — інакше продакшн-webhook не прийматиме запити
curl -X POST https://n8n.yourdomain.com/webhook/test-agent \
-H "Content-Type: application/json" \
-d '{"message":"тестове питання"}'За темою: візуальний конструктор без коду — Flowise на VDS, локальна модель для агента — встановлення Ollama, відповіді за власними документами — RAG на VDS.