Использование ИИ для генерации кода (AI Node)
ИИ-ассистент доступен внутри узла JavaScript. Он помогает генерировать, модифицировать и отлаживать код прямо внутри вашего сценария — просто описывая, что вы хотите, на естественном языке.
Ассистент работает контекстно: он понимает текущий узел, доступные данные и даже подключения к другим блокам. Вы можете попросить его построить логику, создать входные параметры, работать с глобальными переменными, интегрироваться с API и многое другое.
Где доступен ИИ-ассистент
Вы можете запустить ИИ-ассистент двумя способами:
1. Через кнопку "AI Node" внизу редактора. Это открывает отдельное окно чата с ассистентом.

2. Внутри любого узла JavaScript. Откройте узел и введите сообщение, чтобы начать разговор.

Содержание: Что умеет ассистент
- Создавать пользовательские входные параметры
- Обрабатывать данные из других узлов
- Работать с глобальными переменными
- Интегрироваться с сервисами типа Telegram (пример создания пользовательских API-вызовов)
- Отлаживать и объяснять существующий код
- И многое другое — просто опишите вашу задачу!
1. Пользовательские параметры
Ассистент может автоматически создавать пользовательские входные параметры для ваших узлов.

Вместо жёсткого кодирования значения:
const message = "Hello world";Copilot перепишет это так:
const message = input.text_input;И автоматически добавит поле text_input в UI узла — как показано на скриншоте выше.
Подробнее: Пользовательские JS-параметры
2. Обработка данных из других узлов
Ассистент может помочь вам извлечь и обработать данные из предыдущих узлов. Например:
Извлеки Name и Count из данных webhook и сгенерируй приветственное сообщение с текущим месяцем
Ассистент предоставит ответ:
export default async function run({execution_id, input, data, store}) {
// Извлечение Name и Count из данных webhook
const name = data["{{4.`body`.`Name`}}"];
const count = data["{{4.`body`.`Count`}}"];
// Получение текущего месяца как названия
const monthNames = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
const currentMonthName = monthNames[new Date().getMonth()];
// Генерация сообщения
const message = `Привет, ${name}! ${count} ваших сценариев было выполнено в ${currentMonthName} на платформе Nodul!`;
// Возврат сгенерированного сообщения
return {
message
};
}3. Запрос на обработку глобальных переменных
Предполагается, что глобальные переменные GlobalVar_number1 и GlobalVar_number2 существуют в аккаунте.
Сгенерируй код, который складывает значения двух глобальных переменных GlobalVar_number1 и GlobalVar_number2 и возвращает массив значений: сумма переменных, GlobalVar_number1, GlobalVar_number2. Получай глобальные переменные с помощью store.getGlobalVariable
Ассистент предоставит ответ:
export default async function run({execution_id, input, data, store}) {
// Получение значений глобальных переменных
const number1 = await store.getGlobalVariable('GlobalVar_number1');
const number2 = await store.getGlobalVariable('GlobalVar_number2');
// Преобразование полученных значений в числа, если они ещё не числа
const num1 = parseFloat(number1);
const num2 = parseFloat(number2);
// Вычисление суммы двух чисел
const sum = num1 + num2;
// Возврат массива с суммой, GlobalVar_number1 и GlobalVar_number2
return {
result: [sum, num1, num2]
};
}4. Запрос на подключение к Telegram для отправки сообщений
Сгенерируй код с подключением к Telegram для отправки сообщения в нужный чат с заданным ID
Ассистент предоставит ответ:
import axios from 'axios';
export default async function run({execution_id, input, data, store}) {
// Токен вашего Telegram-бота
const botToken = 'YOUR_BOT_TOKEN_HERE';
// ID чата, в который вы хотите отправить сообщение
const chatId = 'YOUR_CHAT_ID_HERE';
// Сообщение, которое вы хотите отправить
const message = 'Привет, это сообщение от моего бота!';
// URL API Telegram для отправки сообщений
const apiUrl = `https://api.telegram.org/bot${botToken}/sendMessage`;
try {
// Выполнение POST-запроса к API Telegram для отправки сообщения
const response = await axios.post(apiUrl, {
chat_id: chatId,
text: message,
});
// Возврат ответа от API Telegram
return {
success: true,
response: response.data,
};
} catch (error) {
// Возврат ошибки, если запрос не удался
return {
success: false,
error: error.message,
};
}
}Важные замечания:
- Убедитесь, что ваш бот добавлен в чат, в который вы хотите отправить сообщение.
- ID чата может быть ID пользователя, ID группы или username канала (с префиксом
@для каналов).
5. Отладка и исправление ошибок
Если ассистент сгенерировал код, который работает не так, как ожидалось — не проблема. Просто отправьте сообщение об ошибке или неработающий код обратно ассистенту, и он:
- Проанализирует, что пошло не так
- Предложит и сгенерирует исправленную версию
- Объяснит, что было исправлено (при необходимости)
Вам не нужно отлаживать вручную — просто скажите что-то вроде:
"Этот код выдаёт ошибку: Cannot read property 'xyz' of undefined — исправь"
Или:
"Это возвращает undefined, но я ожидаю, что сообщение отобразится — в чём проблема?"
Ассистент разработан для итеративного улучшения результата, так что не стесняйтесь общаться с ним. Это часть рабочего процесса.
Советы и заметки
- Ассистент понимает ваш контекст и конфигурацию узла.
- Вы можете задавать сложные многоступенчатые запросы (например, "получи данные из webhook, отфильтруй их и отправь в Telegram").
- Если что-то идёт не так, попробуйте перефразировать запрос — ассистент адаптируется.
- Ответы включают объяснения — отлично подходит для обучения и отладки.