СтатьяРеклама

Новый AI Assistant в n8n

В середине июля разработчики n8n анонсировали встроенного ИИ-помощника, интегрированного непосредственно в платформу автоматизации. Он позволяет создавать и редактировать рабочие процессы прямо через диалоговое окно с чат-ботом. Вы просто просите его выполнить изменения, и AI Assistant делает это. Новый релиз знаменует переход от автономных функций ИИ к полноценному агенту.

Иллюстрация к материалу «Новый AI Assistant в n8n»

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

Содержание

#### Что такое AI Assistant?

В середине июля разработчики n8n анонсировали встроенного ИИ-помощника, интегрированного непосредственно в платформу автоматизации. Он позволяет создавать и редактировать рабочие процессы прямо через диалоговое окно с чат-ботом. Вы просто просите его выполнить изменения, и AI Assistant делает это. Новый релиз знаменует переход от автономных функций ИИ к полноценному агенту. Его уже в n8n назвали определяющим будущего компании.

Иллюстрация к материалу «Новый AI Assistant в n8n»

AI Assistant

Примечание: в 2024 году в n8n появились узлы для ИИ-агентов, в 2025 - поддержка MCP (Model Context Protocol), а теперь, в середине 2026 г., добавили n8n Assistant. Он уже доступен в n8n Cloud (начиная с версии 2.29.9), а также в Selfhosted-решениях (n8n на своем сервере).

Согласно анонсу, новый ИИ-ассистент сочетает в себе технические возможности Claude Code с интерфейсом в стиле ChatGPT и уровнем мониторинга существующего холста рабочих процессов n8n. Агент способен создавать workflow с нуля, редактировать существующие и имеет прямой доступ как к самой платформе, так и к командной песочнице для выполнения операций. Разработчики отдельно отмечают поддержку контекста для всех рабочих процессов в проекте пользователя, что позволяет AI Assistant понимать зависимости и существующие шаблоны автоматизации.

На фоне обилия ИИ-решений легко запутаться в инструментах. Например, еще до появления AI Assistant в n8n существовал Chat Hub:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Chat Hub в n8n

Хотя внешне оба работают с автоматизациями, их назначение не пересекается. AI Assistant интегрирован в редактор и имеет прямой доступ к структуре ваших рабочих процессов (сборка и программирование). Он может добавлять, изменять и настраивать узлы на холсте, а также анализировать ошибки выполнения. Chat Hub - это надстройка над платформой. Он служит единым интерфейсом для общения с ИИ-моделями и запуска уже готовых workflow-агентов, но не предназначен для проектирования сценариев.

Иллюстрация к материалу «Новый AI Assistant в n8n»

Пример чата с DeepSeek внутри n8n (Chat Hub)

Другими словами, Chat Hub - для диалога с моделями и запуска автоматизаций. AI Assistant - для проектирования самих workflow. Он работает параллельно с вами и способен напрямую изменять итоговую схему: вы видите в реальном времени, как он сам добавляет ноды, триггеры, пишет код для узла Code на JavaScript/Python, настраивает связи и исправляет ошибки в конфигурации по ходу чата. Chat Hub - про запуск, а AI Assistant - про всю сборку.

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

Сейчас ИИ-помощник находится в стадии предварительного просмотра (PREVIEW). Он может совершать ошибки, и его поведение может измениться в процессе разработки. Всегда проверяйте сгенерированные рабочие процессы перед их публикацией.

#### Чем полезен ИИ-помощник?

Вы можете попросить ИИ-помощника:

  • создать новый рабочий процесс. Достаточно описать желаемый результат, и AI Assistant сгенерирует готовую схему;
  • создать агента (доступно в n8n Cloud и на собственном сервере с версии 2.32.3). По вашему описанию на естественном языке ассистент предложит инструкции, инструменты и навыки для сборки;
  • отредактировать существующий workflow (изменить структуру, добавить узлы, обновить логику или перенастроить параметры);
  • протестировать и отладить workflows. Ассистент самостоятельно выполнит проверки, найдет ошибки и предложит исправления;
  • помочь с учетными данными (credentials). ИИ предложит выбрать существующие или создать новые, без необходимости вставлять токены и пароли в чат;
  • управлять вспомогательными ресурсами. При необходимости AI Assistant создаст или обновит таблицы данных (Data tables) и другие связанные сущности;
  • исследовать веб-сайты (с вашего разрешения). Если веб-доступ включен, ИИ-помощник запросит согласие перед обращением к любому домену.

#### Как установить AI Assistant?

Перед тем, как повторять нижеприведенные шаги, вы должны использовать экземпляр n8n в n8n Cloud или же установить n8n на своем собственном сервере. Подробнее о том, как это сделать, читайте в этом руководстве. В нем я использовал решение selfhost-ai (ex. n8n-install, Автор - Yury Kossakovsky) - готовый инсталлятор для развертывания n8n Community Edition и целого набора дополнительных сервисов на собственном сервере под управлением Docker Compose.

Откройте свой экземпляр n8n и в меню слева перейдите в AI Assistant. Нажмите на кнопку Set up:

Иллюстрация к материалу «Новый AI Assistant в n8n»

AI Assistant - Set up

В открывшемся окне система предложит выбрать ИИ-провайдера - компанию, чья модель будет обрабатывать ваши запросы. На момент написания материала доступны три основных способа подключения: Anthropic, OpenAI и OpenRouter (агрегатор, открывающий доступ к сотням моделей разных провайдеров). Для продвинутых пользователей предусмотрен режим Self-hosted или OpenAI‑совместимый endpoint. Он позволяет использовать практически любую модель, развернутую локально (через Ollama, vLLM, LiteLLM и аналоги), если она поддерживает стандартный API /v1/chat/completions.

Иллюстрация к материалу «Новый AI Assistant в n8n»

Выбор поставщика (provider) для ИИ-помощника

Таким образом, ваш ИИ-помощник будет работать на модели, за которую вы платите напрямую. Все подсказки, рабочие процессы и данные, которые он анализирует, передаются выбранному поставщику. А для этого нужно получать API-ключ.

Например, вот так это можно сделать в OpenAI. Вы переходите на сайт platform.openai.com, регистрируйтесь, пополняете баланс в личном кабинете, а затем в разделе API Keys создаете API ключ:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Создание нового ключа в OpenAI (Create secret key)

Скопировав его из интерфейса OpenAI:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Копирование API-ключа

Вставьте ключ в поле API key в настройках AI Assistant n8n:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Добавление API Key

Далее вы можете выбрать подходящую для работы модель (Model). n8n для ChatGPT по умолчанию рекомендует использовать версию GPT-5.6 Sol:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Выбор модели (Model)

Нажмите Continue. После этого ваше подключение к ИИ-провайдеру будет проверено. Если ключ API активен, вам откроется следующее окно Add a code sandbox:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Add a code sandbox

Поскольку новый ИИ-помощник от n8n может не только генерировать код, но и редактировать существующие workflows, создавать новые, работать с учетными данными и тестировать запуски, важно быть уверенным, что он ничего не сломает в нашей инфраструктуре. Поэтому он работает в изолированной среде (песочнице, sandbox). На этапе настройки вам предложат выбрать один из вариантов ее запуска:

  • n8n Sandbox (бесплатно). Код запускается прямо внутри вашего Docker-контейнера. Данные не уходят за пределы вашей инфраструктуры;
  • Daytona (платно). Облачный сервис, который берет всю настройку и обслуживание среды на себя. Код будет выполняться на сторонних серверах, поэтому ваши данные будут покидать вашу сеть. Требует отдельной платной подписки и API-ключа.

Поскольку в работе я использую свой сервер (Self-Hosted), то выберу первый вариант - n8n Sandbox:

Иллюстрация к материалу «Новый AI Assistant в n8n»

n8n Sandbox

Теперь под ним доступны два дополнительных поля: Service URL и API key. Дело в том, что песочница/sandbox - это отдельный изолированный Docker-контейнер (n8n-sandbox), который должен работать параллельно с вашим основным контейнером n8n. Чтобы они могли общаться друг с другом, их нужно связать.

Примечание: подробнее о том, как выполнить настройку на своем сервере, читайте в официальной документации. Для моей сборки подходит вариант 2. Self-host the sandbox manually.

Вот краткая инструкция по настройке n8n Sandbox. Первое, что нужно сделать - это на сервере, в каталоге n8n:

<table><tbody><tr><td data-settings="show"><div><p>1</p><p>2</p></div></td><td><div><p><span>cd</span><span> </span><span>/</span><span>n8n</span><span>-</span><span>install</span></p><p><span>nano</span><span> </span><span>.</span><span>env</span></p></div></td></tr></tbody></table>

Добавить в конце файла .env три ключа:

<table><tbody><tr><td data-settings="show"><div><p>1</p><p>2</p><p>3</p></div></td><td><div><p><span>SANDBOXAPIKEYS</span><span>=</span></p><p><span>SANDBOXAPIRUNNERREGISTRATIONTOKEN</span><span>=</span></p><p><span>SANDBOXAPIRUNNERAPIKEY</span><span>=</span></p></div></td></tr></tbody></table>

Первый ключ SANDBOX_API_KEYS предназначен и для контейнера sandbox-api, и для самого n8n, и для поля API key, в которое вы будете его вставлять.

Сгенерировать ключи (рандомные) можно следующими командами:

<table><tbody><tr><td data-settings="show"><div><p>1</p><p>2</p><p>3</p><p>4</p></div></td><td><div><p><span>cd</span><span> </span><span>/</span><span>n8n</span><span>-</span><span>install</span></p><p><span>openssl </span><span>rand</span><span> </span><span>-</span><span>base64</span><span> </span><span>32</span></p><p><span>openssl </span><span>rand</span><span> </span><span>-</span><span>base64</span><span> </span><span>32</span></p><p><span>openssl </span><span>rand</span><span> </span><span>-</span><span>base64</span><span> </span><span>32</span></p></div></td></tr></tbody></table>

Вот так это будет выглядеть в файле:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Три ключа в файле .env

Если в файле .env задан GOST_PROXY_URL, в конец GOST_NO_PROXY допишите:

<table><tbody><tr><td data-settings="show"><div><p>1</p></div></td><td><div><p><span>,</span><span>sandbox</span><span>-</span><span>api</span><span>,</span><span>sandbox</span><span>-</span><span>runner</span><span>-</span><span>1</span></p></div></td></tr></tbody></table>

Пример:

Иллюстрация к материалу «Новый AI Assistant в n8n»

GOST_NO_PROXY = sandbox-api,sandbox-runner-1

Иначе запрос к n8n Sandbox может уйти в прокси, и вам скажут, что сервис недоступен. Если GOST_PROXY_URL пустой, это не обязательно, но и не мешает.

После этого вам нужно на сервере отредактировать файл docker-compose.yml, добавив в него четыре правки.

1. В блок volumes: сверху:

<table><tbody><tr><td data-settings="show"><div><p>1</p></div></td><td><div><p><span>sandbox</span><span>-</span><span>tls</span><span>:</span></p></div></td></tr></tbody></table>

2. В общий environment n8n (якорь вроде x-n8n / &service-n8n-env, рядом с WEBHOOK_URL):

<table><tbody><tr><td data-settings="show"><div><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p></div></td><td><div><p><span>N8NINSTANCEAISANDBOXENABLED</span><span>:</span><span> </span><span>"true"</span></p><p><span>N8NINSTANCEAISANDBOXPROVIDER</span><span>:</span><span> </span><span>n8n</span><span>-</span><span>sandbox</span></p><p><span>N8NSANDBOXSERVICEURL</span><span>:</span><span> </span><span>http</span><span>:</span><span>//sandbox-api:8080</span></p><p><span>N8NSANDBOXSERVICEAPIKEY</span><span>:</span><span> </span><span>$</span><span>{</span><span>SANDBOXAPIKEYS</span><span>}</span></p><p><span>N8NINSTANCEAISANDBOXAPIURL</span><span>:</span><span> </span><span>http</span><span>:</span><span>//sandbox-api:8080</span></p><p><span>N8NINSTANCEAISANDBOXAPIKEY</span><span>:</span><span> </span><span>$</span><span>{</span><span>SANDBOXAPI_KEYS</span><span>}</span></p></div></td></tr></tbody></table>

Две пары имен - не ошибка: код n8n и документация используют разные названия. Так переменные попадут и в основной n8n, и в воркеры.

3. У сервиса n8n в depends_on добавьте ожидание API:

<table><tbody><tr><td data-settings="show"><div><p>1</p><p>2</p></div></td><td><div><p><span>sandbox</span><span>-</span><span>api</span><span>:</span></p><p><span>&nbsp;&nbsp;</span><span>condition</span><span>:</span><span> </span><span>service_healthy</span></p></div></td></tr></tbody></table>

4. Три сервиса (профиль тот же, что у n8n, обычно n8n). Вставьте сразу после сервиса n8n:

<table><tbody><tr><td data-settings="show"><div><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>10</p><p>11</p><p>12</p><p>13</p><p>14</p><p>15</p><p>16</p><p>17</p><p>18</p><p>19</p><p>20</p><p>21</p><p>22</p><p>23</p><p>24</p><p>25</p><p>26</p><p>27</p><p>28</p><p>29</p><p>30</p><p>31</p><p>32</p><p>33</p><p>34</p><p>35</p><p>36</p><p>37</p><p>38</p><p>39</p><p>40</p><p>41</p><p>42</p><p>43</p><p>44</p><p>45</p><p>46</p><p>47</p><p>48</p><p>49</p><p>50</p><p>51</p><p>52</p><p>53</p><p>54</p><p>55</p><p>56</p><p>57</p><p>58</p><p>59</p><p>60</p><p>61</p><p>62</p><p>63</p><p>64</p><p>65</p><p>66</p><p>67</p><p>68</p><p>69</p><p>70</p></div></td><td><div><p><span>sandbox</span><span>-</span><span>certs</span><span>:</span></p><p><span>&nbsp;&nbsp;</span><span>image</span><span>:</span><span> </span><span>ghcr</span><span>.</span><span>io</span><span>/</span><span>n8n</span><span>-</span><span>io</span><span>/</span><span>n8n</span><span>-</span><span>sandbox</span><span>-</span><span>service</span><span>-</span><span>api</span><span>:</span><span>latest</span></p><p><span>&nbsp;&nbsp;</span><span>profiles</span><span>:</span><span> </span><span>[</span><span>"n8n"</span><span>]</span></p><p><span>&nbsp;&nbsp;</span><span>user</span><span>:</span><span> </span><span>"0:0"</span></p><p><span>&nbsp;&nbsp;</span><span>entrypoint</span><span>:</span><span> </span><span>[</span><span>"sh"</span><span>,</span><span> </span><span>"-c"</span><span>]</span></p><p><span>&nbsp;&nbsp;</span><span>command</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>-</span><span> </span><span>&gt;</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>bootstrap</span><span>-</span><span>mtls</span><span>.</span><span>sh</span><span> </span><span>--</span><span>out</span><span>-</span><span>dir</span><span> </span><span>/</span><span>tls</span><span> </span><span>--</span><span>api</span><span>-</span><span>san </span><span>sandbox</span><span>-</span><span>api</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>--</span><span>control</span><span>-</span><span>san</span><span>-</span><span>prefix </span><span>sandbox</span><span>-</span><span>runner</span><span> </span><span>&amp;&amp;</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>chown</span><span> </span><span>-</span><span>R</span><span> </span><span>sandbox</span><span>-</span><span>api</span><span>:</span><span>sandbox</span><span>-</span><span>api</span><span> </span><span>/</span><span>tls</span><span>/</span><span>api</span></p><p><span>&nbsp;&nbsp;</span><span>environment</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>NUMRUNNERS</span><span>:</span><span> </span><span>"1"</span></p><p><span>&nbsp;&nbsp;</span><span>volumes</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>-</span><span> </span><span>sandbox</span><span>-</span><span>tls</span><span>:</span><span>/</span><span>tls</span></p><p><span>sandbox</span><span>-</span><span>api</span><span>:</span></p><p><span>&nbsp;&nbsp;</span><span>image</span><span>:</span><span> </span><span>ghcr</span><span>.</span><span>io</span><span>/</span><span>n8n</span><span>-</span><span>io</span><span>/</span><span>n8n</span><span>-</span><span>sandbox</span><span>-</span><span>service</span><span>-</span><span>api</span><span>:</span><span>latest</span></p><p><span>&nbsp;&nbsp;</span><span>containername</span><span>:</span><span> </span><span>sandbox</span><span>-</span><span>api</span></p><p><span>&nbsp;&nbsp;</span><span>profiles</span><span>:</span><span> </span><span>[</span><span>"n8n"</span><span>]</span></p><p><span>&nbsp;&nbsp;</span><span>restart</span><span>:</span><span> </span><span>unless</span><span>-</span><span>stopped</span></p><p><span>&nbsp;&nbsp;</span><span>dependson</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>sandbox</span><span>-</span><span>certs</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>condition</span><span>:</span><span> </span><span>servicecompletedsuccessfully</span></p><p><span>&nbsp;&nbsp;</span><span>environment</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXAPIKEYS</span><span>:</span><span> </span><span>$</span><span>{</span><span>SANDBOXAPIKEYS</span><span>}</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXAPIRUNNERREGISTRATIONTOKEN</span><span>:</span><span> </span><span>$</span><span>{</span><span>SANDBOXAPIRUNNERREGISTRATIONTOKEN</span><span>}</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXAPIRUNNERAPIKEY</span><span>:</span><span> </span><span>$</span><span>{</span><span>SANDBOXAPIRUNNERAPIKEY</span><span>}</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXAPIGRPCTLSCERTFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>api</span><span>/</span><span>grpc</span><span>-</span><span>server</span><span>.</span><span>crt</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXAPIGRPCTLSKEYFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>api</span><span>/</span><span>grpc</span><span>-</span><span>server</span><span>.</span><span>key</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXAPIGRPCTLSCLIENTCAFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>api</span><span>/</span><span>ca</span><span>.</span><span>crt</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXAPIRUNNERCONTROLGRPCTLSCAFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>api</span><span>/</span><span>ca</span><span>.</span><span>crt</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXAPIRUNNERCONTROLGRPCTLSCERTFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>api</span><span>/</span><span>control</span><span>-</span><span>grpc</span><span>-</span><span>api</span><span>-</span><span>client</span><span>.</span><span>crt</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXAPIRUNNERCONTROLGRPCTLSKEYFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>api</span><span>/</span><span>control</span><span>-</span><span>grpc</span><span>-</span><span>api</span><span>-</span><span>client</span><span>.</span><span>key</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXAPIRUNNERCONTROLGRPCTLSSERVERNAME</span><span>:</span><span> </span><span>sandbox</span><span>-</span><span>runner</span><span>-</span><span>1</span></p><p><span>&nbsp;&nbsp;</span><span>volumes</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>-</span><span> </span><span>sandbox</span><span>-</span><span>tls</span><span>:</span><span>/</span><span>tls</span><span>:</span><span>ro</span></p><p><span>&nbsp;&nbsp;</span><span>healthcheck</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>test</span><span>:</span><span> </span><span>[</span><span>"CMD"</span><span>,</span><span> </span><span>"wget"</span><span>,</span><span> </span><span>"-qO-"</span><span>,</span><span> </span><span>"http://localhost:8080/healthz"</span><span>]</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>interval</span><span>:</span><span> </span><span>5s</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>timeout</span><span>:</span><span> </span><span>3s</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>retries</span><span>:</span><span> </span><span>12</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>startperiod</span><span>:</span><span> </span><span>15s</span></p><p><span>sandbox</span><span>-</span><span>runner</span><span>-</span><span>1</span><span>:</span></p><p><span>&nbsp;&nbsp;</span><span>image</span><span>:</span><span> </span><span>ghcr</span><span>.</span><span>io</span><span>/</span><span>n8n</span><span>-</span><span>io</span><span>/</span><span>n8n</span><span>-</span><span>sandbox</span><span>-</span><span>service</span><span>-</span><span>runner</span><span>-</span><span>dind</span><span>:</span><span>latest</span></p><p><span>&nbsp;&nbsp;</span><span>containername</span><span>:</span><span> </span><span>sandbox</span><span>-</span><span>runner</span><span>-</span><span>1</span></p><p><span>&nbsp;&nbsp;</span><span>profiles</span><span>:</span><span> </span><span>[</span><span>"n8n"</span><span>]</span></p><p><span>&nbsp;&nbsp;</span><span>restart</span><span>:</span><span> </span><span>unless</span><span>-</span><span>stopped</span></p><p><span>&nbsp;&nbsp;</span><span>privileged</span><span>:</span><span> </span><span>true</span></p><p><span>&nbsp;&nbsp;</span><span>dependson</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>sandbox</span><span>-</span><span>api</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>condition</span><span>:</span><span> </span><span>servicehealthy</span></p><p><span>&nbsp;&nbsp;</span><span>environment</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERAPIKEYS</span><span>:</span><span> </span><span>$</span><span>{</span><span>SANDBOXAPIRUNNERAPIKEY</span><span>}</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERREGISTRATIONTOKEN</span><span>:</span><span> </span><span>$</span><span>{</span><span>SANDBOXAPIRUNNERREGISTRATIONTOKEN</span><span>}</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERAPIGRPCADDR</span><span>:</span><span> </span><span>sandbox</span><span>-</span><span>api</span><span>:</span><span>9090</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERHTTPBASEURL</span><span>:</span><span> </span><span>http</span><span>:</span><span>//sandbox-runner-1:8080</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERCONTROLGRPCLISTENADDR</span><span>:</span><span> </span><span>":9091"</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERCONTROLGRPCADVERTISEADDR</span><span>:</span><span> </span><span>sandbox</span><span>-</span><span>runner</span><span>-</span><span>1</span><span>:</span><span>9091</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERID</span><span>:</span><span> </span><span>runner</span><span>-</span><span>1</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERDOCKERSANDBOXIMAGE</span><span>:</span><span> </span><span>ghcr</span><span>.</span><span>io</span><span>/</span><span>n8n</span><span>-</span><span>io</span><span>/</span><span>n8n</span><span>-</span><span>sandbox</span><span>-</span><span>service</span><span>-</span><span>sandbox</span><span>:</span><span>latest</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERREGISTRATIONGRPCCAFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>runner</span><span>/</span><span>ca</span><span>.</span><span>crt</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERREGISTRATIONGRPCCERTFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>runner</span><span>/</span><span>grpc</span><span>-</span><span>client</span><span>.</span><span>crt</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERREGISTRATIONGRPCKEYFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>runner</span><span>/</span><span>grpc</span><span>-</span><span>client</span><span>.</span><span>key</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERREGISTRATIONGRPCSERVERNAME</span><span>:</span><span> </span><span>sandbox</span><span>-</span><span>api</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERCONTROLGRPCTLSCERTFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>runner</span><span>/</span><span>control</span><span>-</span><span>grpc</span><span>-</span><span>server</span><span>.</span><span>crt</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERCONTROLGRPCTLSKEYFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>runner</span><span>/</span><span>control</span><span>-</span><span>grpc</span><span>-</span><span>server</span><span>.</span><span>key</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>SANDBOXRUNNERCONTROLGRPCTLSCLIENTCAFILE</span><span>:</span><span> </span><span>/</span><span>tls</span><span>/</span><span>runner</span><span>/</span><span>ca</span><span>.</span><span>crt</span></p><p><span>&nbsp;&nbsp;</span><span>volumes</span><span>:</span></p><p><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>-</span><span> </span><span>sandbox</span><span>-</span><span>tls</span><span>:</span><span>/</span><span>tls</span><span>:</span><span>ro</span></p></div></td></tr></tbody></table>

sandbox-certs после генерации сертификатов завершится (Exited). Так и должно быть. На VPS должен быть разрешен privileged-контейнер. Без этого runner не поднимет внутренний Docker.

После обновления файла docker-compose.yml на вашем сервере и добавления новых переменных для AI Assistant в файле .env, выполните следующую команду в терминале:

<table><tbody><tr><td data-settings="show"><div><p>1</p><p>2</p></div></td><td><div><p><span>cd</span><span> </span><span>/</span><span>root</span><span>/</span><span>n8n</span><span>-</span><span>install</span></p><p><span>docker </span><span>compose</span><span> </span><span>-</span><span>p</span><span> </span><span>localai</span><span> </span><span>-</span><span>f</span><span> </span><span>docker</span><span>-</span><span>compose</span><span>.</span><span>yml</span><span> </span><span>-</span><span>f</span><span> </span><span>docker</span><span>-</span><span>compose</span><span>.</span><span>n8n</span><span>-</span><span>workers</span><span>.</span><span>yml</span><span> </span><span>--</span><span>profile </span><span>n8n </span><span>up</span><span> </span><span>-</span><span>d</span></p></div></td></tr></tbody></table>

С помощью этих команд мы поднимаем стек с Sandbox:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Поднять службу с Sandbox (песочницей)

Далее необходимо проверить API c помощью команды:

<table><tbody><tr><td data-settings="show"><div><p>1</p></div></td><td><div><p><span>docker </span><span>compose</span><span> </span><span>-</span><span>p</span><span> </span><span>localai </span><span>exec </span><span>n8n </span><span>wget</span><span> </span><span>-</span><span>qO</span><span>-</span><span> </span><span>http</span><span>:</span><span>//sandbox-api:8080/healthz</span></p></div></td></tr></tbody></table>

Иллюстрация к материалу «Новый AI Assistant в n8n»

{"status":"ok"}

Вы должны увидеть:

<table><tbody><tr><td data-settings="show"><div><p>1</p></div></td><td><div><p><span>{</span><span>"status"</span><span>:</span><span>"ok"</span><span>}</span></p></div></td></tr></tbody></table>

Если все так, вы можете двигаться дальше. Теперь проверьте, что ваш ключ и runner живые:

<table><tbody><tr><td data-settings="show"><div><p>1</p><p>2</p></div></td><td><div><p><span>docker </span><span>compose</span><span> </span><span>-</span><span>p</span><span> </span><span>localai </span><span>exec </span><span>n8n </span><span>sh</span><span> </span><span>-</span><span>c</span><span> </span><span>'echo enabled=$N8NINSTANCEAISANDBOXENABLED key=${#N8NSANDBOXSERVICEAPIKEY} url=$N8NSANDBOXSERVICE_URL'</span></p><p><span>docker </span><span>compose</span><span> </span><span>-</span><span>p</span><span> </span><span>localai </span><span>logs </span><span>sandbox</span><span>-</span><span>api</span><span> </span><span>--</span><span>tail</span><span> </span><span>20</span><span> </span><span>|</span><span> </span><span>grep</span><span> </span><span>-</span><span>i</span><span> </span><span>runner</span></p></div></td></tr></tbody></table>

В терминале это будет выглядеть так:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Проверка ключа и runner'а

API отвечает, ключ есть, runner зарегистрирован и песочница создалась. Об этом свидетельствует сообщение create sandbox succeeded. После этого осталось только завершить настройку AI Assistant в интерфейсе n8n.

Вернитесь в свой инстанс n8n и в поля Service URL и API key вставьте следующие данные:

  • Service URL - http://sandbox-api:8080
  • API key - SANDBOX_API_KEYS из вашего файла .env
Иллюстрация к материалу «Новый AI Assistant в n8n»

Service URL и API Key для n8n Sandbox

Сохраните данные, нажав Continue. На этом настройка AI Assistant завершена!

#### Использование AI Assistant

Если все сделано правильно, вы будете автоматически перенаправлены на страницу ассистента. Он будет активен:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Активный AI Assistant

Теперь вы можете использовать выбранную большую языковую модель (LLM) для создания новых рабочих процессов и редактирования существующих:

Иллюстрация к материалу «Новый AI Assistant в n8n»

ИИ-помощник видит все ваши workflows внутри n8n

В официальной справке n8n приведены примеры и рекомендации того, как лучше писать подсказки для вашего ИИ-помощника. Укажите:

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

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

В качестве примера я попросил создать ИИ-помощника рабочий процесс, который бы автоматизировал выгрузку данных из Яндекс Директа в Google Таблицы с ежедневным обновлением данных, чтобы статистика всегда была актуальной.

Примерно через 4 минуты в том же окне он выдал мне готовый результат:

Иллюстрация к материалу «Новый AI Assistant в n8n»

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

Причем в этом же окне он будет помогать вам с учетными данными, токеном доступа, настройками параметра отчета (дата начала и дата окончания выгрузки и т.д. и т.п.). Всем тем, что будет использоваться в вашем рабочем процессе:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Помощь с настройками учетных данных (credentials) и другими параметрами для workflow

Chat Hub такое не умеет делать, а ИИ-помощник справляется без каких-либо проблем.

Как вы помните, AI Assistant работает на основе вашей LLM, а оплата идет за обработанные токены. Чем длиннее диалог, чем сложнее ваш workflow, чем больше циклов отладки и правок - тем выше расход. Поэтому старайтесь:

  • четко формулировать задачу и делать меньше итераций;
  • начинать новый чат под каждую задачу, так как старый контекст жрет токены;
  • cначала смотреть на план ассистента, а потом запускать задачу;
  • не перезапускать тот же workflow без новых вводных.

Если вы просили ИИ создать рабочий процесс, то он будет доступен на вкладке Workflows:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Workflows - ваш рабочий процесс

Вы можете в любой момент открыть его и протестировать до публикации:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Созданный AI Assistant рабочий процесс

А если его требуется доработать с помощью того же AI Assistant, то просто нажмите справа на холсте на иконку ИИ:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Использование AI Assistant

Тогда вам откроется диалоговое окно, в котором вы можете на естественном языке своему ИИ-ассистенту описать то, что желаете добавить/изменить/удалить:

Иллюстрация к материалу «Новый AI Assistant в n8n»

Работа с рабочим процессом с использованием ИИ-помощника

#### Итоги

Как по мне, то в команде n8n делают ставку на то, что разработчики рабочих процессов (мы с вами) будут использовать AI Assistant для выполнения механической/рутинной работы (соединения узлов между собой) и преобразованию данных в тех случаях, когда сложный код трудно написать вручную или до конца продумать его логику.

По сути, вайб-кодинг добрался и до рабочих процессов в n8n. Это часть общего тренда в разработке ПО, где ИИ-помощники вроде Cursor, Windsurf и Google Antigravity перешли от автозаполнения к полноценной генерации кода.

Новый AI Assistant, безусловно, заслуживает внимания, так как позволяет снизить порог входа, делая изучение n8n доступным не только для экспертов, но и для новичков!

Источник публикации: Осипенков.ру

Загружаем рейтинг…

Насколько полезен материал?

Выберите оценкуСлева — меньше пользы, справа — больше

Загружаем вашу оценку…

Что думаете?

Загружаем комментарии…

СЛЕДУЮЩИЙ ШАГ

Что ещё поможет в этой задаче

СтатьяРеклама25 сентября · 8 минут
Три аудитории проходят разные этапы выбора и возвращаются к предложению

Ремаркетинг в Google Ads, Яндекс Директе и других системах: какие сегменты запускать

Как связать поведение посетителя с задачей рекламы: условия сегментов, исключения, сроки и рабочий старт для магазина, услуг и B2B.

Читать разборЗагрузка просмотров
СтатьяИИРеклама24 сентября · 54 минуты
Диалог, поиск, торговая полка и городской экран соединены одним маршрутом.

Карта рекламных форматов: от поиска до AI и цифровых экранов

Карта форматов для бизнеса в России и Беларуси: условия отдельных площадок различаются. Сравните задачи, стоимость теста и результат.

Читать разборЗагрузка просмотров
СтатьяРеклама11 сентября · 6 минут
Одна бумажная квитанция проходит под трафаретом и видна через перекрывающиеся полосы, связанные оранжевой нитью.

N-грамм-анализ поисковых запросов: как найти потери и не посчитать расход дважды

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

Читать разборЗагрузка просмотров