Блог

GoRouter × n8n: подключаем нейросети к автоматизациям

Редакция GoRouterОпубликовано
gon8n

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

GoRouter обеспечивает доступ к моделям через совместимый с OpenAI API. Поэтому для подключения достаточно стандартного узла n8n, ключа GoRouter и адреса API.

В этой инструкции развернём n8n на Beget, подключим GoRouter и соберём небольшой чат для обработки обращений. Если n8n у вас уже работает, переходите к созданию API-ключа.

Сначала подготовим n8n. Для сценариев, которые должны работать постоянно, удобно разместить его на VPS. У Beget есть готовое решение с предустановленным n8n: его можно выбрать при создании сервера.

Порядок запуска:

  1. Откройте страницу n8n в маркетплейсе Beget и нажмите «Создать VPS».

  2. Войдите в аккаунт или зарегистрируйтесь.

  3. Выберите расположение сервера и подходящую конфигурацию.

  4. Укажите домен: можно начать с технического адреса Beget или выбрать собственный.

  5. Задайте данные администратора и создайте сервер.

  6. После установки откройте «Информация о n8n» в карточке VPS — там будут адрес панели и данные доступа.

Эти шаги описаны в инструкции Beget по установке n8n. Стоимость выбранной конфигурации проверяйте при оформлении.

В этой связке Beget размещает n8n, а запросы к моделям выполняются через GoRouter. Аренда сервера и использование моделей оплачиваются отдельно. Обновления n8n и резервные копии стоит включить в регулярное обслуживание сервера.

Теперь создадим ключ GoRouter. Войдите в личный кабинет, пополните баланс для платных запросов и откройте раздел API-ключей.

Создайте отдельный ключ, например n8n, и задайте ему подходящий расходный лимит. Скопируйте секрет сразу: полностью он показывается только при создании. Для вызова моделей нужен обычный API-ключ — inference key. Типы ключей описаны в документации GoRouter.

Подключим GoRouter в n8n. Откройте раздел Credentials, создайте подключение типа OpenAI и назовите его GoRouter.

Заполните поля:

Поле

Значение

API Key

Ваш API-ключ GoRouter, без префикса Bearer

Organization ID

Оставьте пустым

Base URL

https://gorouter.ru/api/v1

Сохраните подключение. Тип credentials называется OpenAI, но позволяет задать собственный Base URL — это предусмотрено в реализации n8n.

Адрес должен заканчиваться на /api/v1. Конкретный путь запроса, например /chat/completions, узел добавит самостоятельно. Этот базовый адрес также указан в быстром старте GoRouter.

Соберём первый сценарий. Начнём с помощника, который читает обращение клиента и предлагает ответ. Основная цепочка будет такой:

Chat Trigger → Basic LLM Chain

К разъёму Model у Basic LLM Chain подключим OpenAI Chat Model.

Создайте новый workflow, добавьте Chat Trigger и соедините его с Basic LLM Chain. В настройках цепочки выберите получение запроса из предыдущего узла — Take from previous node automatically. Так текст сообщения будет браться из поля chatInput.

В разделе Chat Messages добавьте сообщение типа System:

Код
Ты помогаешь сотруднику поддержки обрабатывать обращения.

На каждое обращение подготовь:
1. Краткую суть проблемы.
2. Какие сведения нужно уточнить.
3. Вежливый черновик ответа клиенту.

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

Basic LLM Chain поддерживает отдельное системное сообщение и передачу пользовательского запроса из предыдущего узла. Подробнее — в документации этого узла.

Откройте подключённый OpenAI Chat Model и выберите credentials GoRouter. В поле модели укажите полный ID из каталога GoRouter. Для первого теста можно использовать:

Код
openai/gpt-4o-mini

Если модель не отображается в списке, переключите поле Model в режим ID и вставьте значение вручную.

Для примера задайте следующие настройки:

Настройка

Значение

Use Responses API

Выключено

Maximum Number of Tokens

1024

Timeout

60000 мс

Max Retries

0 на время проверки

Так узел будет использовать Chat Completions. GoRouter также поддерживает Responses, но для первого сценария зафиксируем один формат. Переключатель API, ограничение ответа и таймаут описаны в документации OpenAI Chat Model.

Проверим результат. В Chat Trigger оставьте публичный доступ выключенным. Если доступна настройка Response Mode, выберите When Last Node Finishes: чат получит ответ после завершения цепочки. Такой режим описан в документации Chat Trigger.

Откройте тестовый чат в редакторе n8n и отправьте:

Код
Здравствуйте! Оплатил заказ вчера вечером,
но в личном кабинете он до сих пор отображается
как неоплаченный. Что мне делать?

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

После запуска проверьте результат выполнения в n8n и расход в кабинете GoRouter. Тестовое сообщение выполняет настоящий запрос к модели.

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

При необходимости используем HTTP Request. Этот вариант удобен, когда нужно самостоятельно задавать тело запроса и получать исходный JSON-ответ.

Создайте отдельную цепочку:

Manual Trigger → HTTP Request

Настройте HTTP Request:

Параметр

Значение

Method

POST

URL

https://gorouter.ru/api/v1/chat/completions

Authentication

Generic Credential Type

Generic Auth Type

Header Auth

Send Body

Включено

Body Content Type

JSON

Specify Body

Using JSON

Для Header Auth создайте credentials с именем заголовка Authorization и значением Bearer ВАШ_КЛЮЧ_GOROUTER. Сам ключ храните в credentials.

В тело запроса вставьте:

Код
{
  "model": "openai/gpt-4o-mini",
  "messages": [
    {
      "role": "system",
      "content": "Отвечай на русском, кратко и по существу."
    },
    {
      "role": "user",
      "content": "Предложи три идеи автоматизации поддержки клиентов."
    }
  ],
  "max_tokens": 1024,
  "stream": false
}

В опциях ответа выберите формат JSON. Оставьте Include Response Headers and Status выключенным, чтобы узел возвращал непосредственно тело ответа. Настройки авторизации и JSON описаны в справочнике HTTP Request.

Запустите workflow. Текст успешного ответа будет в choices[0].message.content. В следующем узле его можно получить выражением:

Код
{{ $json.choices[0].message.content }}

Формат запроса и ответа соответствует Chat Completions API GoRouter.

Если подключение не заработало, начните с сообщения об ошибке. Самые частые причины:

Симптом

Что проверить

401

Правильность ключа, срок действия и статус

402

Баланс и описание ограничения средств

403

Тип ключа, права и настройки приватности

404

Base URL и полный ID модели

429

Лимиты запросов; повторять следует с задержкой

Нет ответа до таймаута

Время ожидания и сложность запроса

Ответ обрывается

Ограничение числа токенов

Смотрите не только на HTTP-статус, но и на error.type и error.message: они уточняют причину. Таймаут не гарантирует, что обработка у провайдера остановилась, поэтому повторный запуск может стать отдельным платным запросом. Подробности — в справочнике ошибок GoRouter.

Дальше можно подключать рабочие данные. Вместо тестового сообщения подставьте текст из формы, письма или CRM. Результат направьте в таблицу, внутреннее уведомление или поле с черновиком ответа. Для клиентской поддержки удобно сначала оставлять сотруднику возможность проверить подготовленный текст.

Начать можно с одного сценария: развернуть n8n на Beget, создать ключ GoRouter и обработать первое обращение. После этого ту же настройку подключения можно использовать в других автоматизациях.