Вводное руководство по n8n

n8n (произносится как "n-eight-n", сокращение от "nodemation") — это на данный момент платформа автоматизации рабочих процессов с открытым исходным кодом, наиболее предпочитаемая техническими командами.

Ключевые преимущества n8n: визуальный холст + поддержка нативного кода + полное самостоятельное размещение — он позволяет неразработчикам собирать решения перетаскиванием, даёт разработчикам возможность писать JavaScript или Python в любом узле, а также может работать на ваших собственных серверах, при этом данные остаются локальными.

n8n — это платформа автоматизации рабочих процессов, которая позволяет безопасно и контролируемо интегрировать ИИ в вашу работу и процессы.

n8n сочетает визуальное конструирование с возможностями кода — вы можете писать на JavaScript или Python в любом месте рабочего процесса и мгновенно видеть результаты рядом с входными и выходными данными каждого шага.

Различия между Dify и n8n

В отличие от Dify, ядро n8n — это универсальная автоматизация и системная интеграция, где ИИ является одним из мощных компонентов, тогда как ядро Dify — разработка приложений с ИИ, где автоматизация является вспомогательной возможностью.

Короче говоря:

  • Если вам нужно соединить несколько SaaS-систем и обеспечить поток данных между ними: n8n — лучший выбор
  • Если вам нужно создать приложение, ориентированное на диалог с ИИ (бот службы поддержки, RAG-система вопросов и ответов): Dify — лучший выбор

Для кого это?

Визуальный интерфейс n8n позволяет неразработчикам быстро проектировать и тестировать рабочие процессы. По мере роста сложности разработчики могут расширять его с помощью узлов Function, внешних скриптов или пользовательских интеграций.

Это позволяет командам постепенно добавлять структуру, валидацию и контроль.

Наиболее типичные группы пользователей:

Группа пользователейТипичные сценарии
Операционные командыАвтоматизация обновлений CRM, создания отчётов, отправки электронной почты
РазработчикиИнтеграция API, конвейеры данных, автоматизация внутренних инструментов
Инженеры данныхETL-конвейеры, очистка данных, синхронизация по расписанию
ИТ-командыОповещения мониторинга, реагирование на инциденты, управление пользователями
Технологические стартапыБыстрое создание слоя автоматизации бэкенда для MVP

Основные концепции

Прежде чем мы начнём обучение, давайте сначала разберёмся с этими ключевыми концепциями.

Рабочий процесс

Рабочий процесс — это ориентированный граф из последовательности узлов, определяющий логику «когда происходит X, выполнить Y, затем выполнить Z».

У рабочего процесса есть два состояния: когда он активен, он реагирует на триггеры и запускается автоматически; когда неактивен, его можно только запускать вручную для тестирования.

Узел

Базовый строительный блок рабочего процесса; каждый узел выполняет определённую операцию:

Тип узлаЦветОписание
Триггерный узелОранжевыйНачальная точка рабочего процесса, определяющая, когда он срабатывает
Обычный узелСинийОбработка данных, вызов API, выполнение логики
Узлы, связанные с ИИФиолетовыйВызовы LLM, векторное хранилище, агент

Выполнение

Один полный запуск рабочего процесса называется выполнением.

Модель тарификации выполнений в n8n такова: одно выполнение = рабочий процесс запускается один раз, независимо от того, сколько шагов он содержит и сколько данных обрабатывает.

Соединение

Стрелки между узлами определяют поток данных и порядок выполнения. Узел может иметь несколько выходов для реализации логики ветвления.

Учётные данные

Безопасный контейнер для хранения конфиденциальной информации, такой как API-ключи, OAuth-токены, пароли к базам данных и другое.

Учётные данные шифруются при хранении и могут использоваться совместно в нескольких рабочих процессах, не раскрываясь в открытом виде в JSON рабочего процесса.

Выражение

Синтаксис динамических значений n8n, заключённый в двойные фигурные скобки:{{ $json.fieldName }}。

Позволяет параметрам узла ссылаться на выходные данные вышестоящих узлов вместо фиксированных значений.


Установка и запуск

Пять способов установки: от быстрого локального запуска до развёртывания корпоративного уровня с высокой доступностью.

Способ 1: Быстрый локальный пробный запуск (самый быстрый, 5 минут)

Используйте npx или глобальную установку, дополнительная настройка не требуется.

# 使用 npx,无需安装(需要 Node.js 18+)
npx n8n

# 或全局安装
npm install -g n8n
n8n start

Откройте браузер и перейдите по адресу http://localhost:5678, завершите регистрацию аккаунта, и можно пользоваться.

Если вы забыли пароль от электронной почты, используйтеnpx n8n user-management:resetкоманду для сброса.


Способ 2: Один контейнер Docker (рекомендуется для отдельных пользователей и небольших команд)

Запустите одной командой, данные сохраняются в локальном каталоге.

# 创建数据持久化目录
mkdir -p ~/.n8n

# 启动 n8n 容器
docker run -d \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  -e N8N_ENCRYPTION_KEY="your-random-32-char-secret-key" \
  docker.n8n.io/n8nio/n8n:latest

Перейдите по адресу http://localhost:5678, чтобы завершить настройку.


Способ 3: Docker Compose + PostgreSQL (рекомендуется для продакшн-сред)

Подходит для продакшн-сред, данные хранятся в PostgreSQL, обеспечивая более стабильный параллельный доступ.

Создайте docker-compose.yml:

version: "3.8"

services:
  postgres:
    image: postgres:16-alpine
    restart: always
    environment:
      POSTGRES_DB: n8n
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U n8n"]
      interval: 10s
      timeout: 5s
      retries: 5

  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    environment:
      # 数据库连接配置
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_DATABASE: n8n
      DB_POSTGRESDB_USER: n8n
      DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
      # 安全配置
      N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
      N8N_SECURE_COOKIE: "false"          # 如果没有 HTTPS,设为 false
      # 访问地址(替换为你的实际域名)
      WEBHOOK_URL: https://your-domain.com
      N8N_EDITOR_BASE_URL: https://your-domain.com
      # 时区设置
      GENERIC_TIMEZONE: Asia/Shanghai
      TZ: Asia/Shanghai
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      postgres:
        condition: service_healthy

volumes:
  postgres_data:
  n8n_data:

Создайте файл .env:

POSTGRES_PASSWORD=your-strong-postgres-password
N8N_ENCRYPTION_KEY=your-32-char-random-encryption-key

Сгенерируйте безопасный ключ шифрования:

# 生成 24 字节的 base64 随机密钥
openssl rand -base64 24

Запустите сервис:

# 后台启动所有服务
docker compose up -d

# 查看日志,等待启动完成
docker compose logs -f n8n

Способ 4: Настройка обратного прокси (Nginx + HTTPS)

] Для развертывания в рабочей среде рекомендуется настроить Nginx для простой привязки домена и HTTPS.

server {
    listen 80;
    server_name n8n.yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name n8n.yourdomain.com;

    # SSL 证书路径(使用 Let's Encrypt 自动签发)
    ssl_certificate     /etc/letsencrypt/live/n8n.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/n8n.yourdomain.com/privkey.pem;

    # n8n WebSocket 支持
    location / {
        proxy_pass http://localhost:5678;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;
    }

    # MCP SSE 端点专项配置
    location ~* ^/mcp {
        proxy_pass http://localhost:5678;
        proxy_buffering off;
        gzip off;
        chunked_transfer_encoding off;
        proxy_set_header Connection "";
    }
}

] Получите SSL-сертификат (Let's Encrypt):

# 自动配置 Nginx 并申请 SSL 证书
certbot --nginx -d n8n.yourdomain.com

Способ 5: Kubernetes (высокая доступность, корпоративного уровня)

] Для команд, требующих высокой доступности, используйте официальный Helm Chart.

# 添加 n8n Helm 仓库
helm repo add n8n https://n8n-helm-chart.netlify.app

# 安装 n8n,启用 PostgreSQL 和 Redis
helm install n8n n8n/n8n \
  --set n8n.encryption_key="your-key" \
  --set postgresql.enabled=true \
  --set redis.enabled=true   # 队列模式需要 Redis

] Архитектура высокой доступности требует настройки "Queue Mode", использования Redis в качестве очереди сообщений, что позволяет нескольким узлам Worker обрабатывать задачи параллельно.


Системные требования

] Рекомендации по оборудованию для различных сценариев использования:

] СценарийПроцессор] Память] Диск
] Разработка/Тестирование] 1 ядро1 GB10 GB
] Продакшен для небольшой команды] 2 ядра4 GB20 GB
] Средняя нагрузка] 4 ядра8 GB50 GB

Рекомендация по базе данных: n8n по умолчанию использует SQLite, но для продакшен-сред настоятельно рекомендуется PostgreSQL. PostgreSQL обеспечивает лучшую производительность, поддерживает параллельный доступ и проще в резервном копировании.


Обзор интерфейса: первое открытие n8n

Изучите основные области интерфейса n8n и быстро приступите к работе.

Левая панель навигации

Значок/ОбластьФункция
Список рабочих процессовПросмотр, поиск и создание рабочих процессов
История выполненияПросмотр записей о запусках всех рабочих процессов
Учётные данныеУправление конфиденциальной информацией, такой как API-ключи и OAuth
ПеременныеГлобальные переменные (функция Team/Business)
НастройкиКонфигурация экземпляра, управление пользователями

Мы можем настроить поставщика API, например DeepSeek. Нажмите меню New Chat, щёлкните модель в левом верхнем углу и выберите DeepSeek из раскрывающегося списка:

Затем настройте API-ключ:

После успешной настройки щёлкните по модели в левом верхнем углу и выберите модель DeepSeek из раскрывающегося списка:

Теперь можно начинать общение:

Холст рабочего процесса

Горячие клавиши для работы с холстом:

ДействиеГорячая клавиша/Способ
Добавить узелНажмите кнопку +, чтобы добавить между двумя узлами
Поиск узлаCtrl+K для быстрого поиска и добавления
Перемещение по холстуПеретащите пустую область
Масштабирование холстаКолесо мыши
Выбрать все узлыCtrl+A
Удалить узелНажмите Delete, чтобы удалить выбранный узел

Панель узла

Щёлкните по любому узлу, чтобы открыть панель конфигурации, в которой есть три вкладки:

ВкладкаФункция
ParametersОсновная конфигурация узла
НастройкиУправление выполнением (повтор, тайм-аут, обработка ошибок)
ПримечанияДобавьте текст описания к узлу

Верхняя панель инструментов

КнопкаФункция
Выполнить рабочий процессЗапустить выполнение вручную
SaveСохранить текущие изменения
Переключатель активностиАктивировать/деактивировать рабочий процесс

Создайте свой первый рабочий процесс

Начните с полного примера: автоматически получать лучшие статьи Hacker News каждый день в 8 AM, форматировать их и отправлять в канал Slack.

Шаг 1: Создайте рабочий процесс

Слева выберите «Рабочие процессы», нажмите «Новый рабочий процесс» и переименуйте его в "HN Morning Report".

Шаг 2: Добавьте Schedule Trigger

Нажмите кнопку +, найдите "Schedule" и выберите Schedule Trigger.

Примечания по настройке:

Trigger Rule:0 8 * * 1-5(周一到周五早上 8 点)
或使用界面选择器:Hour → 8,Weekday → Mon to Fri

Шаг 3: Получение данных HN

С правой стороны от Schedule Trigger нажмите +, найдите "HTTP Request" и добавьте узел.

Настройка:

Method:GET
URL:https://hacker-news.firebaseio.com/v0/topstories.json

Это возвращает массив ID текущих топовых статей (до 500).

Шаг 4: Ограничение до первых 5 элементов

Добавьте узел Code, напишите код на JavaScript:

Пример

// Возьмите первые 5 ID историй и верните их как отдельные JSON-объекты
const topIds = $input.first().json.slice(0, 5);
return topIds.map(id => ({ json: { id } }));

Шаг 5: Получение сведений о каждой статье параллельно

Добавьте узел HTTP Request.

n8n автоматически выполняет параллельно для каждого элемента из вышестоящего узла, не нужно вручную писать циклы.

Настройка:

URL:https://hacker-news.firebaseio.com/v0/item/{{ $json.id }}.json

Шаг 6: Форматирование сообщения

Добавьте узел Code:

Пример

const items = $input.all();

// Пройти по всем статьям и отформатировать в формате сообщения Slack
const formatted = items.map(item => {
  const { title, url, score, by } = item.json;
  return `• *${title}*\n Оценка: ${score} |author: ${by}\n  ${url || '(нет ссылки)'}`;
}).join('\n\n');

// Вернуть собранное сообщение
return [{ json: { message: `*Hacker News: Популярное сегодня*\n\n${formatted}` } }];

Шаг 7: Отправить в Slack

Добавьте узел Slack (сначала завершите настройку учётных данных Slack, см. главу «Управление учётными данными»).

Настройка:

Resource:Message
Operation:Send
Channel:#general(或你的目标频道)
Message:{{ $json.message }}

Шаг 8: Тестовый запуск

Нажмите кнопку Execute Workflow вверху и наблюдайте за числами, появляющимися рядом с каждым узлом (они указывают количество обработанных элементов данных).

Нажмите на любой узел, чтобы просмотреть его входные и выходные данные.

Шаг 9: Активируйте рабочий процесс

После успешного прохождения теста переключите переключатель Active в правом верхнем углу. Рабочий процесс перейдёт в активное состояние и будет автоматически запускаться в 8 утра каждый рабочий день.


Подробное объяснение распространённых узлов

Освойте наиболее распространённые типы узлов, охватывающие три основные категории: триггеры, обработка данных и базы данных.

Узлы-триггеры

Триггеры являются отправной точкой рабочего процесса и определяют, когда должно начаться выполнение.

УзелТип триггераТипичные сценарии
Триггер по расписаниюПо расписанию (cron-выражение)Ежедневные отчёты, синхронизация по расписанию
WebhookТриггер HTTP-запросаПолучение событий Stripe/GitHub
Триггер чатаСообщения диалога с ИИУправляйте рабочими процессами AI-агента
Триггер электронной почты (IMAP)Приходит новое письмоОбрабатывайте запросы по электронной почте
Триггер SlackСобытия SlackОтвечайте на Slash-команды

Узлы обработки данных

HTTP Request (основной узел)

Может вызывать почти любой REST API:

Method: POST
URL: https://api.example.com/endpoint
Authentication: Header Auth(配合凭证使用)
Body Content Type: JSON
Body: {
  "key": "{{ $json.value }}"
}

Поддерживает автоматическую пагинацию, позволяя получать все данные без написания логики циклов.

Код(JavaScript / Python)

Пример на JavaScript:

Пример

// Обработать все элементы из вышестоящего потока
for (const item of $input.all()) {
  // Добавить временную метку обработки к каждому элементу данных
  item.json.processedAt = new Date().toISOString();
}
return $input.all();

Пример на Python:

Пример

# Python также поддерживает это, используйте _input для доступа к данным вышестоящего потока
for item in _input.all():
    item.json["processed"] = True
return _input.all()

Set (установка переменных)

Визуально задавайте, изменяйте и удаляйте поля без написания кода.

字段名: fullName
值: {{ $json.firstName + " " + $json.lastName }}

IF (условное ветвление)

Направляйте данные в разные ветви на основе условий:

条件: {{ $json.status }} == "active"
True 分支 → 处理活跃用户
False 分支 → 处理非活跃用户

Switch (множественное ветвление)

Похож на IF, но поддерживает несколько условий (как switch-case) и направляет данные по разным путям обработки.

Loop Over Items (цикл)

Обрабатывайте каждый элемент в массиве по одному; подходит для сценариев, требующих контроля скорости, а не параллельной обработки.

Merge (объединение)

Объединяйте данные из нескольких ветвей, поддерживая такие стратегии, как Append, Keep Key Matches, Combine By Position.

Wait (ожидание/Human-in-the-Loop)

Приостановите выполнение рабочего процесса и дождитесь выполнения следующих условий, прежде чем продолжить:

  • Автоматически продолжить через определённый период времени
  • Продолжить после получения обратного вызова Webhook (ядро Human-in-the-Loop)
  • Продолжить после отправки определённой формы

Ответить на Webhook (ответ на Webhook)

В рабочем процессе, получающем Webhook, синхронно вернуть ответ запрашивающей стороне.

Узлы базы данных

УзелПоддерживаемые операции
PostgreSQLSelect / Insert / Update / Delete / Execute Query
MySQLSelect / Insert / Update / Delete / Execute Query
MongoDBFind / Insert / Update / Delete / Aggregate
RedisGet / Set / Delete / Incr / Expire
SupabaseЧерез REST или узел PostgreSQL

Управление учетными данными: безопасное подключение внешних сервисов

Учетные данные — это унифицированный механизм в n8n для управления всей информацией об аутентификации; все учетные данные шифруются и хранятся в базе данных с использованием N8N_ENCRYPTION_KEY.

Команды могут совместно использовать учетные данные, не видя фактического содержимого секретов.

Добавить учетные данные

Существует два способа добавить учетные данные:

  1. Выберите «Учетные данные» в левой навигации, затем нажмите «Добавить учетные данные».
  2. В конфигурации узла нажмите раскрывающийся список учетных данных и выберите «Создать новые учетные данные».

Типовые конфигурации учетных данных

Slack(OAuth)

  1. Перейдите наapi.slack.com/appsCreate an App
  2. Включите Bot Token Scopes (chat:write, channels:read)
  3. Установите приложение в рабочее пространство и скопируйте Bot Token (начинается с xoxb-).
  4. В n8n выберите Slack и вставьте Bot Token.

GitHub(Personal Access Token)

  1. В GitHub выберите Settings, перейдите в Developer settings, выберите Personal access tokens и нажмите Generate new token.
  2. Выберите необходимые разрешения (repo, issues и т. д.)
  3. Скопируйте токен и добавьте учетные данные GitHub в n8n.

OpenAI / Anthropic(API Key)

  1. Получите API Key в консоли каждого провайдера.
  2. В n8n выберите Credentials, найдите "OpenAI" или "Anthropic" и вставьте Key.

Универсальный HTTP-заголовок (любой API)

Для сервисов без выделенного узла в n8n используйте узел HTTP Request с учетными данными Header Auth:

Header Name: Authorization
Header Value: Bearer your-api-key-here

Узел AI Agent: заставляем рабочие процессы думать

Встроенный узел AI Agent в n8n позволяет создавать интеллектуальные автономные рабочие процессы, которые используют большие языковые модели для принятия решений, обработки естественного языка и выполнения многошаговых рассуждений.

Компоненты узла AI Agent

Узел AI Agent — это "кластерный узел", состоящий из трех типов подузлов:

AI Agent(根节点)
├── Chat Model(必需):驱动 Agent 的 LLM
│   ├── OpenAI Chat Model
│   ├── Anthropic Chat Model
│   └── Google Gemini Chat Model
├── Memory(可选):让 Agent 记住对话历史
│   ├── Simple Memory(会话内记忆)
│   ├── Window Buffer Memory(固定窗口)
│   └── Postgres/Redis Chat Memory(跨会话持久化)
└── Tools(可选):Agent 可以调用的工具
    ├── 内置工具(Calculator、SerpAPI、Wikipedia)
    ├── HTTP Request Tool(调用任意 API)
    ├── n8n Workflow Tool(调用另一个工作流)
    └── MCP Client Tool(调用 MCP 服务器)

Настройте AI Agent

Шаг 1: Добавьте узел AI Agent.

Найдите AI Agent на холсте рабочего процесса и выберите Tools Agent (самый универсальный тип агента).

Шаг 2: Добавьте Chat Model.

Нажмите на слот Chat Model в нижней части узла AI Agent и добавьте Anthropic Chat Model.

Настройка:

Model:claude-sonnet-4-6
凭证:选择已配置的 Anthropic 凭证

Шаг 3: Настройте System Prompt.

你是一个数据分析助手,帮助用户分析 {{ $json.company_name }} 公司的销售数据。

可用工具:
- 查询数据库获取历史销售数据
- 搜索互联网获取市场信息
- 计算器用于数学运算

回答要简洁、数据驱动。如果数据不足,明确说明需要哪些额外信息。

Шаг 4: Добавьте инструменты.

Нажмите Add Tool, чтобы добавить узлы инструментов.

Для каждого инструмента требуется настроить имя инструмента (Агент использует это имя, чтобы решить, когда его вызывать) и описание инструмента (сообщает Агенту, что может делать этот инструмент).

Выбор типа агента

Тип агентаПодходящие сценарии
Tools Agent (рекомендуется)Универсальный, поддерживает Function Calling, лучший выбор для современных LLM
ReAct AgentReasoning + Acting, подходит для задач, требующих многошагового рассуждения
Plan and Execute AgentСначала составьте полный план, затем выполняйте шаг за шагом
Conversational AgentРазговорный, со встроенной памятью, подходит для чат-ботов
SQL AgentСпециализируется на обработке запросов к базе данных
OpenAI Functions AgentЭксклюзивный вызов функций OpenAI

Интеграция с MCP: подключение к экосистеме ИИ

n8n имеет двойную роль в экосистеме MCP (Model Context Protocol): он может как использовать сервисы MCP (как MCP-клиент), так и предоставлять рабочие процессы в качестве сервисов MCP (как MCP-сервер).

n8n как MCP-клиент (вызов внешних инструментов)

Используйте узел MCP Client Tool для подключения к любому MCP-серверу.

Узел MCP Client Tool поддерживает методы аутентификации Bearer, generic Header, multiple Header и OAuth2.

Пример конфигурации: подключение к MCP-серверу GitHub

节点类型:MCP Client Tool
SSE Endpoint: https://mcp.github.com/sse    # 或自托管的 MCP 服务器地址
Authentication: Bearer
Bearer Token: your-github-token
Tools to Include: All(暴露所有工具给 Agent)

Подключите узел MCP Client Tool к слоту Tools узла AI Agent, и Агент сможет напрямую вызывать MCP-инструменты GitHub (список Issues, создание PR, просмотр кода и т. д.).

n8n как MCP-сервер (предоставление рабочих процессов)

Используйте узел MCP Server Trigger, чтобы n8n действовал как MCP-сервер, предоставляя инструменты и рабочие процессы n8n клиентам MCP.

Он работает, предоставляя URL, с которым клиенты MCP могут взаимодействовать для доступа к инструментам n8n.

Шаги настройки:

  1. Создайте новый рабочий процесс и добавьте узел MCP Server Trigger
  2. Узел автоматически создаёт тестовый URL и URL продакшена (формат: https://your-n8n.com/mcp/xxxxxxxx)
  3. Рядом с MCP Server Trigger подключите узлы инструментов, которые хотите предоставить.
MCP Server Trigger
├── Google Calendar Tool(查看/创建日程)
├── Gmail Tool(读取/发送邮件)
├── Slack Tool(发送消息)
└── Custom n8n Workflow Tool(调用其他工作流)
  1. Опубликуйте рабочий процесс (нажмите Publish)

Использование в Claude Desktop:

Отредактируйте ~/Library/Application Support/Claude/claude_desktop_config.json:

Пример

{
  "mcpServers": {
    "n8n": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://your-n8n.com/mcp/your-mcp-path",
        "--header",
        "Authorization:Bearer your-bearer-token"
      ]
    }
  }
}

MCP-сервер уровня экземпляра

В апреле 2026 года n8n выпустила MCP-серверы уровня экземпляра.

Он позволяет AI-клиентам (Claude Desktop, Cursor и т. д.) напрямую создавать, проверять, тестировать и публиковать целые рабочие процессы с помощью естественного языка — это инструмент разработки, а не инструмент времени выполнения.

Как включить (self-hosted):

N8N_MCP_ACCESS_ENABLED=true

После включения ваш Claude Desktop или другой MCP-клиент может напрямую сказать n8n: "Создай рабочий процесс, который каждое утро отправляет список GitHub PR в Slack," и n8n автоматически создаст этот рабочий процесс.


Практический сценарий 1: Автоматическая классификация и уведомление по GitHub Issues

Используйте AI Agent, чтобы автоматически классифицировать GitHub Issues и направлять их разным исполнителям и в разные каналы в зависимости от типа.

Бизнес-сценарий

Проекты с открытым исходным кодом ежедневно получают большое количество Issues, и их нужно автоматически классифицировать (Bug / Feature Request / Question / Docs) и уведомлять ответственных.

Проектирование Workflow

Webhook(接收 GitHub Issue 事件)
  ↓
IF 节点(过滤:只处理新建的 Issue)
  ↓
AI Agent 节点(分析 Issue 内容,给出分类和优先级)
  ↓
Switch 节点(根据分类路由)
  ├── Bug → 添加 "bug" 标签 + 通知 @backend-team
  ├── Feature → 添加 "enhancement" 标签 + 通知 @product-team
  ├── Question → 添加 "question" 标签 + 自动生成初步回复
  └── Docs → 添加 "documentation" 标签 + 通知 @docs-team
  ↓
GitHub 节点(添加标签 + 发表评论)
  ↓
Slack 节点(发送通知到对应频道)

Настройка ключевых узлов

Шаг 1: Настройте вебхук GitHub

В репозитории GitHub выберите «Настройки», перейдите в «Вебхуки» и нажмите «Добавить вебхук»:

Payload URL:https://your-n8n.com/webhook/github-issues
Content type:application/json
Events:Issues(只选 Issues 事件)

Добавьте узел Webhook в n8n:

HTTP Method:POST
Path:github-issues
(记录下 Test URL,用于调试)

Шаг 2: Фильтрация новых событий

Добавьте узел IF:

条件:{{ $json.action }} == "opened"

Только события с action === "opened" обрабатываются дальше; события labeled, closed и другие сразу отбрасываются.

Шаг 3: Узел AI-классификации

Добавьте узел AI Agent и настройте System Prompt:

你是一个 GitHub Issue 分类专家。分析以下 Issue,返回 JSON 格式的分类结果:

{
  "category": "bug" | "feature" | "question" | "docs",
  "priority": "P0" | "P1" | "P2" | "P3",
  "reason": "分类理由(一句话)",
  "suggested_reply": "给 Issue 作者的初步回复(仅用于 question 类型)"
}

分类标准:
- bug:描述了一个功能不正常工作的情况
- feature:要求新增功能或改进现有功能
- question:寻求帮助或解释
- docs:关于文档的问题或建议

优先级:
- P0:生产崩溃、安全漏洞
- P1:核心功能损坏
- P2:普通 Bug 或常见需求
- P3:优化建议、文档改善

Настройте User message с помощью выражения:

Issue 标题:{{ $json.issue.title }}
Issue 内容:{{ $json.issue.body }}
作者:{{ $json.issue.user.login }}

Шаг 4: Разбор вывода AI

Добавьте узел Code для разбора JSON (поскольку AI может выводить JSON с блоками кода Markdown):

const text = $input.first().json.output;

// 去掉可能的 ```json 和 ``` 包裹,提取纯 JSON
const cleaned = text.replace(/```json\n?/g, '').replace(/```\n?/g, '').trim();
const parsed = JSON.parse(cleaned);

return [{ json: parsed }];

Шаг 5: Маршрутизация Switch

Добавьте узел Switch:

Value 1:{{ $json.category }}
路由规则:
  "bug"     → Output 1
  "feature" → Output 2
  "question"→ Output 3
  "docs"    → Output 4
  (默认)    → Output 5

Шаг 6: Добавить метки + опубликовать комментарии

Добавьте узел GitHub для каждой ветки (две операции).

Узел GitHub (добавить метку):

Resource:Issue
Operation:Add Labels
Repository Owner:{{ $('Webhook').item.json.repository.owner.login }}
Repository Name:{{ $('Webhook').item.json.repository.name }}
Issue Number:{{ $('Webhook').item.json.issue.number }}
Labels:bug(根据分支不同填不同标签)

Узел GitHub (опубликовать комментарий, только для ветки вопросов):

Resource:Issue
Operation:Create Comment
Body:{{ $('AI Agent').item.json.suggested_reply }}

Шаг 7: Уведомление в Slack

Channel:#bugs(根据分支选择不同频道)
Message:
*新 Issue* 已分类为 `{{ $json.category }}`(优先级 {{ $json.priority }})

*标题*:{{ $('Webhook').item.json.issue.title }}
*作者*:{{ $('Webhook').item.json.issue.user.login }}
*链接*:{{ $('Webhook').item.json.issue.html_url }}

*分类理由*:{{ $json.reason }}

Сценарий 2: Конвейер обработки документов с ИИ (извлечение счетов/договоров)

Используйте ИИ для автоматического извлечения информации о счетах из вложений электронной почты и структурированного сохранения её в Google Sheets.

Бизнес-сценарий

Наиболее ценный сценарий начального уровня — это рабочий процесс обработки документов с ИИ. Схема такова: триггер получает документы через Webhook или во вложениях электронной почты, передаёт содержимое документа в узел ИИ, использует инструкции в формате JSON для извлечения структурированных данных, а затем записывает результаты в Google Sheets, Airtable или базу данных. Этот единственный рабочий процесс может сэкономить небольшой операционной команде 2-4 часа ручного ввода данных каждый день.

Цель: извлечь ключевые поля из PDF-счёта, прикреплённого к электронному письму, с помощью ИИ, записать их в Google Sheets и отправить подтверждение.

Проектирование Workflow

Email Trigger(监听新邮件,有附件)
  ↓
IF 节点(过滤:只处理包含发票/invoice 的邮件)
  ↓
HTTP Request(下载邮件附件)
  ↓
AI Agent(提取发票信息,返回结构化 JSON)
  ↓
Google Sheets(追加新行)
  ↓
Email(发送处理确认邮件给发件人)

Настройка ключевых узлов

Email Trigger(IMAP)

Protocol:IMAP
Host:imap.gmail.com(或你的邮件服务器)
User/Password:邮箱账号和专用密码
Mailbox:INBOX
Download Attachments:开启

Промпт для извлечения информации о счёте

Используйте узел AI Agent или напрямую используйте узел Anthropic Chat Model (более экономично):

System: 你是一个发票数据提取专家。从以下发票文本中提取信息,
        返回严格的 JSON 格式,不要任何额外文字:
{
  "invoice_number": "发票号",
  "invoice_date": "发票日期(YYYY-MM-DD)",
  "vendor_name": "供应商名称",
  "vendor_tax_id": "供应商税号",
  "buyer_name": "购买方名称",
  "items": [
    {
      "description": "商品描述",
      "quantity": 数量,
      "unit_price": 单价,
      "amount": 金额
    }
  ],
  "subtotal": 小计,
  "tax_rate": 税率,
  "tax_amount": 税额,
  "total_amount": 总金额,
  "currency": "货币(CNY/USD/EUR)",
  "due_date": "付款截止日(YYYY-MM-DD,没有则为 null)"
}

User: {{ $json.attachmentText }}

Узел Google

Настройка:

Resource:Sheet Within Document
Operation:Append Row

Сопоставьте поля (используйте выражения для ссылки на вывод AI):

发票号:{{ $json.invoice_number }}
日期:{{ $json.invoice_date }}
供应商:{{ $json.vendor_name }}
金额:{{ $json.total_amount }}
货币:{{ $json.currency }}
处理时间:{{ $now.toISOString() }}

Сценарий 3: Маршрутизация обращений клиентов из нескольких каналов (с участием человека в цикле)

Объединяйте обращения клиентов из нескольких каналов, используйте AI для их классификации, автоматически обрабатывайте низкоприоритетные и ждите ручного утверждения для высокоприоритетных.

Бизнес-сценарий

Обращения клиентов поступают из нескольких каналов (электронная почта, Slack, формы), требуя первоначального анализа AI и маршрутизации по приоритету. Сложные обращения требуют ручного утверждения перед ответом.

Проектирование Workflow

Merge(合并来自三个渠道的触发)
├── Email Trigger(邮件渠道)
├── Slack Trigger(Slack 消息)
└── Webhook(表单提交)
  ↓
Code 节点(统一数据格式)
  ↓
AI Agent(分析:分类、情感、优先级、建议回复)
  ↓
Switch 节点
  ├── 高优先级(P0/P1)→ 立即通知人工 + Wait 等待审批
  │                        ↓ (等人工回复 Webhook)
  │                     发送审批后的回复
  │
  └── 低优先级(P2/P3)→ 自动发送 AI 生成的回复
                          ↓
                       记录到 Airtable

Основная конфигурация Human-in-the-Loop

Узел Wait (ожидание ручного утверждения)

Это основной узел для реализации Human-in-the-Loop в n8n:

Wait for:Webhook
Webhook URL:自动生成一个唯一的审批 URL

Отправить запрос на утверждение (в Slack)

Перед узлом Wait используйте узел Slack для отправки сообщения с запросом на утверждение:

Channel: #customer-service-review
Message:
*高优先级工单需要审批*

*客户*:{{ $json.customer_email }}
*渠道*:{{ $json.source }}
*问题*:{{ $json.message }}

*AI 分析*:
- 分类:{{ $json.category }}
- 情感:{{ $json.sentiment }}
- 建议回复:{{ $json.suggested_reply }}

*操作链接*:
批准回复: {{ $json.approve_url }}?action=approve
修改后批准: https://your-n8n.com/form/modify-reply
拒绝(将升级处理): {{ $json.approve_url }}?action=reject

Узел Wait получает обратный вызов

Когда человек нажимает ссылку «Approve», отправляется GET-запрос на Webhook URL узла Wait, и рабочий процесс автоматически продолжает выполнение.


Сценарий 4: Мониторинг конкурентов по расписанию и еженедельная генерация отчётов

Автоматически собирайте обновления конкурентов каждый понедельник, используйте ИИ для их анализа и создавайте структурированный еженедельный отчёт, различая срочные оповещения и регулярные отчёты.

Бизнес-сценарий

Продуктовой команде нужно получать отчёт об активности конкурентов каждое утро в понедельник, охватывающий обновления блогов конкурентов, запуски продуктов и активность в социальных сетях.

Проектирование Workflow

Schedule Trigger(每周一 8:00)
  ↓
并行分支(4 个竞品,同时抓取)
├── HTTP Request → competitor1.com/blog/rss
├── HTTP Request → competitor2.com/blog/rss
├── HTTP Request → SerpAPI 搜索 "competitor3 release"
└── HTTP Request → GitHub API 查询 competitor4 最新 Release
  ↓
Merge(合并四路结果)
  ↓
Code(过滤:只保留过去 7 天的内容)
  ↓
AI Agent(
  分析所有条目,
  生成结构化的竞品周报,
  突出重大变化和值得关注的趋势
)
  ↓
IF 节点(有没有值得关注的重大变化?)
├── 有重大变化 → 发送 Slack 紧急提醒 + 发邮件周报
└── 无重大变化 → 只发邮件周报(减少噪音)
  ↓
Google Docs(创建本周报告文档)
  ↓
Notion(记录到知识库数据库)

Промпт для еженедельных отчётов, генерируемых ИИ

你是一个产品竞争情报分析师。

分析以下来自竞品的本周动态,生成一份结构化的竞品周报:

{{ $json.allItems }}

周报格式要求:
## 竞品动态周报 - {{ $now.format('YYYY年MM月DD日') }}

### 重大变化(需要立即关注)
[只列出明显的产品发布、定价调整、重大功能更新]

### 各竞品动态

#### Competitor A
- [本周更新摘要]

#### Competitor B
- [本周更新摘要]

### 值得关注的趋势
[跨竞品的共同趋势或信号]

### 建议行动
[基于本周动态的 1-3 条具体建议]

---
数据来源:RSS Feed + Google 搜索 + GitHub Releases
数据截止:{{ $now.format('YYYY-MM-DD HH:mm') }}

Обработка ошибок и надёжность

Рабочие процессы в продакшене должны хорошо обрабатывать сбои, чтобы избежать скрытых сбоев — рабочий процесс завершается ошибкой, но вы об этом не знаете.

Обработка ошибок на уровне узла

Нажмите на узел, выберите вкладку «Настройки» и настройте следующие параметры:

Элемент конфигурацииОписание
Всегда выводить данныеПередавать данные дальше, даже если узел завершается ошибкой (подходит для некритичных шагов)
Выполнить один разВыполнить только один раз, независимо от того, сколько элементов данных приходит из вышестоящих узлов
Повторять при сбоеАвтоматически повторять после сбоя; можно задать Максимум попыток: 3, Пауза между попытками: 2000ms
Продолжать при сбоеЕсли узел завершается сбоем, рабочий процесс не прерывается, но ошибка отмечается в выходных данных

Обработка ошибок на уровне рабочего процесса

В настройках рабочего процесса выберите Error Workflow и укажите рабочий процесс для обработки ошибок:

Error Trigger 节点
  ↓
Slack 节点(发送告警):
  频道:#alerts
  消息:
  *工作流执行失败*
  工作流:{{ $json.workflow.name }}
  执行 ID:{{ $json.execution.id }}
  错误:{{ $json.execution.error.message }}
  发生时间:{{ $now.format('YYYY-MM-DD HH:mm:ss') }}

  查看执行详情: {{ $json.execution.url }}

Настройка рабочих процессов оповещения

Рекомендуется создать отдельный рабочий процесс 'Системный мониторинг':

Schedule Trigger(每 5 分钟)
  ↓
n8n API(获取最近失败的执行)
  ↓
IF 节点(有失败的执行吗?)
  ├── 是 → Slack 告警 + 记录到数据库
  └── 否 → 结束

Интеграция OpenTelemetry (v2.16+)

n8n теперь передаёт данные трассировки OpenTelemetry для выполнений рабочего процесса.

Каждое выполнение становится трейсом в вашем существующем бэкенде OpenTelemetry, без необходимости в sidecar-контейнерах, пользовательских экспортёрах или трюках с таймингом.

Настройте в .env:

N8N_METRICS=true
N8N_METRICS_PREFIX=n8n_
OTEL_EXPORTER_OTLP_ENDPOINT=http://your-otel-collector:4318

Контроль версий и командная работа

Достигайте командной работы с помощью интеграции с Git, изоляции проектов и управления переменными.

Интеграция с Git (Business / Enterprise)

Для продакшен-развёртываний контроль версий Git помогает управлять изменениями рабочих процессов. Вы можете версионировать все рабочие процессы в Git и проверять их через PR перед продвижением в продакшен — что совершенно невозможно в Zapier или Make.

Путь настройки: выберите Source Control в разделе Settings:

  • Подключите репозиторий Git (GitHub / GitLab)
  • Автоматически создавать коммит при каждом сохранении рабочего процесса
  • Поддерживает синхронизацию между разными средами (разработка / тестирование / продакшен)

Проекты

На плане Team и выше рабочие процессы можно организовывать в проекты, с изоляцией прав между проектами, учётными данными, привязанными к каждому проекту, и журналами выполнения с фильтрацией по проекту.

Управление переменными

Переменные окружения:

# 在 .env 文件中定义,在工作流里通过表达式引用
MY_API_BASE_URL=https://api.example.com

# 在节点中使用
{{ $env.MY_API_BASE_URL }}/endpoint

Узел Variables (план Team и выше): определяйте переменные, выбрав Variables в Settings в интерфейсе n8n; их можно изменять без перезапуска, и они подходят для хранения часто меняющихся значений конфигурации.


Цены и выбор плана

Разберитесь в структуре расходов n8n Cloud и самостоятельного хостинга и выберите план, который лучше всего вам подходит.

Планы n8n Cloud

Цены n8n Cloud следующие:

ПланЕжемесячная плата (при годовой оплате)ВыполненияПараллелизмЛучше всего подходит для
Starter€20/месяц2,500/месяц5Личные проекты, лёгкое тестирование
Про€50/месяц10,000/месяц20Ежедневная автоматизация для малых и средних команд
Бизнес€667/месяц40,000/месяцИндивидуальныйКорпоративный, включает SSO, Git, несколько сред
КорпоративныйИндивидуальныйБезлимитныйБезлимитныйПотребности крупных предприятий в комплаенсе

Все тарифы включают неограниченное количество рабочих процессов и неограниченное число пользователей, а оплата взимается только за объём выполнений. Обновление от апреля 2026: n8n убрал ограничение на количество активных рабочих процессов для всех тарифов. Теперь в каждом тарифе неограниченное количество активных рабочих процессов, оплата взимается только за объём выполнений.

Самостоятельно развёртываемая Community Edition (бесплатно)

n8n Community Edition полностью бесплатна и включает: неограниченное количество выполнений рабочих процессов (без ограничений), 500+ узлов интеграции, полноценные рабочие процессы AI Agent, интеграцию инструментов MCP, узлы векторных хранилищ.

Вы оплачиваете только расходы на сервер:

КонфигурацияProviderЕжемесячная платаЛучше всего подходит для
2 ядра 4 GBHetzner CX22€4.5/monthЛичное использование / небольшая команда
4 ядра 8 GBHetzner CX32€7.4/месяцСредняя нагрузка
8 ядер 16 GBDigitalOcean€40/месяцПродакшен с высокой конкурентностью

Когда выбирать самостоятельный хостинг

Самостоятельный хостинг окупается примерно при 20,000 выполнений/месяц. Ниже этого объёма n8n Cloud выгоднее (экономит ваше время на эксплуатацию). Выше этого объёма экономия от самостоятельного хостинга начинает значительно расти.

Случаи, когда самостоятельный хостинг подходит:

  • Объём выполнений превышает лимит плана Pro (10,000/месяц)
  • Данные не могут покидать вашу собственную инфраструктуру (финансы, здравоохранение, госсектор)
  • Нужно подключиться к локальным базам данных или частным API
  • Хотите полностью контролировать частоту обновлений

Случаи, когда n8n Cloud подходит:

  • У команды нет компетенций DevOps
  • Объём выполнений в диапазоне 2,500-10,000/month
  • Требуется самый быстрый запуск (зарегистрироваться и начать работу)

Сравнение с Zapier / Make

Сравните три платформы по таким параметрам, как количество интеграций, модель ценообразования, возможности программирования и пригодность для технических команд.

n8n имеет такой же объём выполнений, как Zapier и Make, но более низкую стоимость для сложных рабочих процессов.

У Zapier больше интеграций (6,000+ против 500+ у n8n), но он взимает плату за шаг, что делает его гораздо дороже для многошаговых рабочих процессов.

Make — самый дешёвый облачный вариант для простых рабочих процессов, но затраты быстро растут в сложных сценариях (каждый модуль = 1 операция).

ИзмерениеZapierMaken8n
Количество интеграций6,000+1,500+500+ (+сообщество)
Модель ценообразованияЗа задачу (оплата за шаг)За операцию (оплата за узел)За выполнение (весь рабочий процесс)
Поддержка кодаОграниченный JavaScriptОтсутствуетПолный JS + Python
Самостоятельный хостингНе поддерживаетсяНе поддерживаетсяПолностью поддерживается
ИИ-агентОграниченноОграниченноНативная и полная
Управление версиями GitНе поддерживаетсяНе поддерживаетсяПоддерживается (Business+)
Кривая обученияНизкаяНизкаяСредняя
Пригодность для технических командНизкаяСредняяВысокая

Итог: если у вас есть технический опыт или сложность вашего рабочего процесса превышает 3-5 шагов, n8n почти всегда будет лучшим выбором. Если вы совершенно не технический специалист и вам нужно всего лишь соединить два распространённых SaaS-приложения, с Zapier меньше хлопот.


Ресурсы

Рекомендуемые учебные траектории и сопутствующие ресурсы, которые помогут вам пройти путь от новичка до эксперта в n8n.

Рекомендуемый путь обучения

本地安装 n8n,跑通第一个 Hello World 工作流
    ↓
完成「HN 早报」案例,熟悉 Schedule + HTTP + Slack
    ↓
配置 3-5 个你日常工作的凭证(GitHub/Slack/Google)
    ↓
完成「文档处理流水线」场景,学会 AI Agent 节点
    ↓
用 Docker Compose + PostgreSQL 搭建自托管实例
    ↓
配置错误处理工作流,建立监控告警
    ↓
配置 MCP Server Trigger,让 Claude Desktop 调用你的工作流
    ↓
(团队)启用 Git 集成,建立开发/生产双环境

Официальные ресурсы

РесурсСсылкаОписание
Официальный сайтn8n.ioИнформация о продукте и точка входа для регистрации
Документацияdocs.n8n.ioПолная документация продукта
Шаблоны рабочих процессовn8n.io/workflows1,000+ шаблонов сообщества, импорт в один клик
GitHubgithub.com/n8n-io/n8nЛицензия fair-code, исходный код доступен
Форум сообществаcommunity.n8n.ioТехнические вопросы и ответы, обсуждения
Блогblog.n8n.ioОбновления функций и сценарии использования
Примечания к выпускуdocs.n8n.io/release-notesСодержание обновления версии

Типовые шаблоны рабочих процессов

Выполните поиск по следующим ключевым словам в магазине шаблонов, чтобы быстро найти соответствующие шаблоны:

СценарийКлючевое слово для поиска шаблона
Бот уведомлений Slack"slack notification"
Автоматизация GitHub"github automation"
Обработка электронной почты с помощью ИИ"email AI classification"
Синхронизация Airtable"синхронизация Airtable"
ETL базы данных"синхронизация базы данных"
ИИ-агент"инструменты AI-агентов"
Другие расширения