### AI Agent Instructions for News Search Source: https://docs.agentplatform.just-ai.com/quick_start Defines the instructions for an AI agent to handle user requests related to news. It specifies how to call a 'searchArticles' function, process the results, translate them, and format the output, including handling requests for a summary of recent news. ```plaintext Если пользователь просит найти новости: 1. Вызови функцию searchArticles и передай термин на английском языке в качестве параметра. 2. Когда получишь новости, составь один абзац текста со всей информацией. 3. Переведи на русский язык, подпиши, за какой период новости, и приложи список ссылок. 4. Отправь пользователю. Если пользователь просит краткий обзор новостей за последнее время: 1. Проанализируй последние сообщения в чате. 2. Составь один абзац текста с основными событиями, переведи на русский язык. Ссылки и даты не включай. 3. Отправь пользователю. ``` -------------------------------- ### Scheduler Configuration for Daily Tasks Source: https://docs.agentplatform.just-ai.com/quick_start Configuration for a scheduler to trigger a process daily at a specific time. It uses a Cron expression for scheduling. ```plaintext 0 0 9 * * ? ``` -------------------------------- ### Fetch Space News with Custom Function Source: https://docs.agentplatform.just-ai.com/quick_start This custom function retrieves the latest space news articles published within the last 24 hours from the Spaceflight News API. It formats the results into a readable post. The function takes no parameters and returns the formatted news post text or an error message. ```javascript // Получаем дату и время, которые были день назад в формате ISO var oneDayAgoISO = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString(); // Отправляем запрос, чтобы получить статьи, опубликованные за последний день return Http.get({ url: "https://api.spaceflightnewsapi.net/v4/articles/", params: { published_at_gte: oneDayAgoISO, ordering: "-published_at" }, headers: {} }) .then(function (response) { var body = typeof response.body === "string" ? JSON.parse(response.body) : response.body; var articles = (body.results || []).map(function (a) { return { title: a.title, url: a.url, publishedAt: a.published_at }; }); // Если статей нет if (articles.length === 0) { return "☁️ Сегодня ничего нового"; } // Формируем текст поста var postText = "🛰️ Статьи про космос за день:\n\n" + articles.map(function (a) { return "**" + a.title + "**\n" + "🔗 " + a.url + "\n" + "🗓 " + new Date(a.publishedAt).toUTCString(); }).join("\n\n"); return postText; }) .catch(function (err) { return "Произошла ошибка: " + err; }); ``` -------------------------------- ### Agent Platform: Enable Dialog Mode for Multi-Turn Interactions Source: https://context7.com/context7/agentplatform_just-ai/llms.txt Configuration guide for setting up an agent to handle multi-turn conversations. This involves defining a process flow, configuring the agent's role, goal, and instructions, and enabling specific options like 'Dialog Mode' and 'Send response to user'. ```text // ПРОБЛЕМА: По умолчанию агент обрабатывает только одно сообщение, // после чего процесс переходит к следующему блоку // РЕШЕНИЕ: Включение "Режима диалога" // 1. Создайте процесс: // [Триггер: Сообщение] → [Функция: Support.createIssue] → [Агент] → [Функция: Support.closeIssue] // 2. Настройте агента: // Роль: "Сотрудник службы поддержки" // Цель: "Помоги пользователю решить проблему с заказом" // Инструкции: // "1. Уточни номер заказа // 2. Узнай, в чем проблема // 3. Предложи решение // 4. Убедись, что проблема решена // 5. Попрощайся с пользователем" // 3. Включите опции: // ✅ "Отправлять ответ пользователю" // ✅ "Режим диалога" // 4. На вкладке "Процесс": // "Следующий шаг процесса": выберите блок Support.closeIssue // ПОВЕДЕНИЕ БЕЗ режима диалога (НЕПРАВИЛЬНО): // Сообщение 1 → createIssue → Агент отвечает → closeIssue // Сообщение 2 → createIssue → Агент отвечает → closeIssue (новое обращение!) // Сообщение 3 → createIssue → Агент отвечает → closeIssue (еще одно!) // ПОВЕДЕНИЕ С режимом диалога (ПРАВИЛЬНО): // Сообщение 1 → createIssue → Агент: "Здравствуйте! Какой номер заказа?" // Сообщение 2 → Агент: "Спасибо! В чем проблема?" // Сообщение 3 → Агент: "Понял. Попробуйте перезагрузить устройство" // Сообщение 4 → Агент: "Отлично! Рад помочь" → closeIssue (одно обращение закрыто) // Пример реального диалога: // 👤 Пользователь: "Проблема с заказом" // 🤖 Агент: "Здравствуйте! Назовите, пожалуйста, номер заказа" // 👤 Пользователь: "12345" // 🤖 Агент: "Спасибо! Что именно произошло?" // 👤 Пользователь: "Товар не пришел" // 🤖 Агент: "Проверяю статус... Ваш заказ в пути, прибудет завтра" // 👤 Пользователь: "Спасибо!" // 🤖 Агент: "Всегда рад помочь!" // → Переход к Support.closeIssue ``` -------------------------------- ### Configure Triggers for Process Automation Source: https://context7.com/context7/agentplatform_just-ai/llms.txt This section explains how to set up different triggers to initiate agent platform processes. It covers three types: message triggers for chat interactions, scheduler triggers using cron expressions for timed execution, and webhook triggers for external system integration. Examples for calling webhooks via `axios` and `curl` are provided. ```javascript // ТРИГГЕР 1: По новому сообщению пользователя // Перетащите блок "Триггеры" → "Сообщение" на холст // Этот триггер срабатывает каждый раз, когда пользователь отправляет сообщение в чат // Соедините его с блоком агента или функции // ТРИГГЕР 2: Планировщик (cron-расписание) // Перетащите блок "Триггеры" → "Планировщик" на холст // Cron-выражение в формате Quartz: "0 0 9 * * ?" // Значение: запуск каждый день в 9:00 UTC // Другие примеры: // "0 */30 * * * ?" - каждые 30 минут // "0 0 0 * * MON" - каждый понедельник в полночь // "0 0 12 1 * ?" - первого числа каждого месяца в 12:00 // ТРИГГЕР 3: Вебхук для внешних систем // Перетащите блок "Триггеры" → "Вебхук" на холст // После создания скопируйте URL из поля "URL для запуска триггера" // Пример URL: https://app.agent-platform.ai/webhook/abc123xyz // Вызов вебхука из внешней системы: const axios = require('axios'); axios.get('https://app.agent-platform.ai/webhook/abc123xyz') .then(response => { console.log('Процесс запущен:', response.status); }) .catch(error => { console.error('Ошибка запуска:', error); }); // Вебхук с параметрами (GET): axios.get('https://app.agent-platform.ai/webhook/abc123xyz', { params: { userId: '12345', action: 'notify' } }) .then(response => console.log('Запущено с параметрами')); // Или простой вызов curl: // curl "https://app.agent-platform.ai/webhook/abc123xyz" ``` -------------------------------- ### JavaScript: Chain Functions with Context Result Handling Source: https://context7.com/context7/agentplatform_just-ai/llms.txt Demonstrates how to create a sequence of JavaScript functions where the output of each function is passed to the next using `Context.getLastFunctionResult()`. This example fetches spaceflight news, translates it, and then sends it as a message. It handles API requests, JSON parsing, and error catching. ```javascript // ФУНКЦИЯ 1: Получение данных из API // Название: "Сделать пост" // Идентификатор: sendNews var oneDayAgoISO = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString(); return Http.get({ url: "https://api.spaceflightnewsapi.net/v4/articles/", params: { published_at_gte: oneDayAgoISO, ordering: "-published_at" }, headers: {} }) .then(function (response) { var body = typeof response.body === "string" ? JSON.parse(response.body) : response.body; var articles = (body.results || []).map(function (a) { return { title: a.title, url: a.url, publishedAt: a.published_at }; }); if (articles.length === 0) { return "☁️ Сегодня ничего нового"; } var postText = "🛰️ Статьи про космос за день:\n\n" + articles.map(function (a) { return "**" + a.title + "**\n" + "🔗 " + a.url + "\n" + "🗓 " + new Date(a.publishedAt).toUTCString(); }).join("\n\n"); return postText; }) .catch(function (err) { return "Произошла ошибка: " + err; }); // ФУНКЦИЯ 2: Перевод текста через LLM // Перетащите "Функции" → "Встроенные" → "Llm" → "sendText" на холст // Параметры: // - LLM: OPEN_AI - gpt-4.1 // - text: {{"Переведи пост полностью на русский язык, верни только перевод в ответе: " + Context.getLastFunctionResult()}} // Соедините "Сделать пост" → "Llm.sendText" // ФУНКЦИЯ 3: Отправка сообщения в чат // Перетащите "Функции" → "Встроенные" → "Reactions" → "sendText" на холст // Параметры: // - text: {{Context.getLastFunctionResult()}} // Соедините "Llm.sendText" → "Reactions.sendText" // Результат выполнения последовательности: // 1. sendNews получает новости на английском // 2. Llm.sendText переводит на русский // 3. Reactions.sendText отправляет в чат: // "🛰️ Статьи про космос за день: // **Взгляд на рождение звёзд с телескопа «Джеймс Уэбб» от NASA** // 🔗 https://science.nasa.gov/missions/webb/glittering-glimpse... // 🗓 Чт, 04 сен 2025 14:00:00 GMT" ``` -------------------------------- ### JavaScript Function to Fetch Spaceflight News Source: https://docs.agentplatform.just-ai.com/quick_start This JavaScript function, designed for Agent Platform, fetches articles from the Spaceflight News API based on a provided search query. It handles API requests, parses the JSON response, extracts relevant article data (title, summary, URL, publication date), and returns the data as a JSON string. It also includes error handling for API requests. ```javascript // Отправляем запрос, чтобы получить статьи по термину return Http.get({ url: "https://api.spaceflightnewsapi.net/v4/articles/", params: { // Передаем в API-запрос параметр query search: query, ordering: "-published_at" }, headers: {} }) .then(function (response) { var body = typeof response.body === "string" ? JSON.parse(response.body) : response.body; // Сохраняем нужные данные о статьях var articles = (body.results || []).map(function (a) { return { title: a.title, summary: a.summary, url: a.url, publishedAt: a.published_at }; }); // Если статей нет if (articles.length === 0) { return "No data"; } return JSON.stringify(articles); }) .catch(function (err) { return "Error fetching articles: " + err; }); ``` -------------------------------- ### Create AI Agent with Custom JavaScript Tool Source: https://context7.com/context7/agentplatform_just-ai/llms.txt This snippet demonstrates how to create a custom JavaScript function to act as a tool for an AI agent. It includes defining the function, enabling 'Tool Mode', configuring agent settings (LLM, role, goal, instructions), and connecting the tool to the agent on the canvas. The example shows how to fetch articles using an external API and process the response. ```javascript // 1. Создайте пользовательскую функцию с параметрами // Название: "Найти статьи" // Идентификатор: searchArticles // Описание: "Найти последние статьи по нужной теме" // Параметр: query (string) - "Термин на английском языке, по которому нужно найти статьи" // Тело функции: return Http.get({ url: "https://api.spaceflightnewsapi.net/v4/articles/", params: { search: query, ordering: "-published_at" }, headers: {} }) .then(function (response) { var body = typeof response.body === "string" ? JSON.parse(response.body) : response.body; var articles = (body.results || []).map(function (a) { return { title: a.title, summary: a.summary, url: a.url, publishedAt: a.published_at }; }); if (articles.length === 0) { return "No data"; } return JSON.stringify(articles); }) .catch(function (err) { return "Error fetching articles: " + err; }); // 2. Включите "Режим инструмента" для функции // 3. Отметьте опцию "Заполнит агент" для параметра query // 4. Настройте агента: // LLM: OPEN_AI - gpt-4.1 (или другая модель с поддержкой function calling) // Роль: "Помощник" // Цель: "Выполни задание, которое тебе дал пользователь" // Инструкции: // "Если пользователь просит найти новости: // 1. Вызови функцию searchArticles и передай термин на английском языке в качестве параметра. // 2. Когда получишь новости, составь один абзац текста со всей информацией. // 3. Переведи на русский язык, подпиши, за какой период новости, и приложи список ссылок. // 4. Отправь пользователю." // 5. Соедините функцию с агентом как инструмент на холсте // 6. Соедините триггер "Сообщение" с агентом для запуска по новому сообщению // Результат: // Пользователь: "Может есть что интересное про Марс?" // Агент автоматически вызовет searchArticles("Mars") и сформирует ответ: // "Вот последние интересные новости о Марсе за август 2025 года: // В начале августа марсоход Curiosity продолжил исследование..." ``` -------------------------------- ### Bash: Integrate External MCP Server for Extended Capabilities Source: https://context7.com/context7/agentplatform_just-ai/llms.txt Instructions for connecting to an external MCP (Model Context Protocol) server to provide the agent with additional tools. This involves obtaining the server URL, configuring the integration within Agent Platform, and specifying collection names for the new functions. ```bash # 1. Получите URL MCP-сервера из реестра Smithery # Пример: Dictionary MCP Server # URL: https://server.smithery.ai/@Pembenaz/dictionary-mcp-main1/mcp?api_key=YOUR_API_KEY # 2. В Agent Platform перейдите в "Интеграции" → "Добавить" → "MCP" # 3. Заполните параметры интеграции: # - Название: "Словарь" # - URL MCP-сервера: "https://server.smithery.ai/@Pembenaz/dictionary-mcp-main1/mcp?api_key=sk_abc123xyz" # - Имя коллекции: "dict" (префикс для функций) # - Учетные данные: оставить пустым (ключ уже в URL) # 4. После сохранения функции MCP появятся в конструкторе: ``` -------------------------------- ### JavaScript: Multi-Agent System Orchestration Source: https://context7.com/context7/agentplatform_just-ai/llms.txt Пример реализации мультиагентной системы на JavaScript, где агент-оркестратор направляет запросы пользователей к специализированным агентам (нутрициологу и тренеру). Описывает архитектуру, инструкции для каждого агента, настройки и примеры сценариев взаимодействия. ```javascript // АРХИТЕКТУРА: // [Триггер: Сообщение] → [Агент: Помощник (оркестратор)] // ↓ // [Агент: Нутрициолог] ←→ [Агент: Тренер] // ↓ // [Функция: Feedback.sendForm] // АГЕНТ 1: ОРКЕСТРАТОР "Помощник" // Роль: "Умный помощник по здоровью" // Цель: "Направь пользователя к нужному специалисту" // Инструкции: // "Проанализируй запрос пользователя: // - Если вопрос про питание/диету → передай нутрициологу // - Если вопрос про тренировки/упражнения → передай тренеру // - Если пользователь хочет сменить специалиста → выполни передачу // - Если пользователь благодарит и уходит → завершай диалог" // Настройки: // ✅ "Режим диалога" (включен) // ✅ "Отправлять ответ пользователю" (включен) // Вкладка "Процесс": // - "Передача управления другим агентам": выбрать "Нутрициолог" и "Тренер" // - ✅ "Включая новых созданных агентов" (опционально) // - "Следующий шаг процесса": Feedback.sendForm // АГЕНТ 2: СПЕЦИАЛИСТ "Нутрициолог" // Роль: "Профессиональный нутрициолог" // Цель: "Проконсультируй по вопросам питания" // Инструкции: // "1. Узнай рост, вес, возраст и цель (похудение/набор массы) // 2. Рассчитай суточную норму калорий // 3. Предложи план питания на день // 4. Ответь на дополнительные вопросы // 5. Если вопрос не про питание → скажи, что это не твоя область" // Настройки: // ✅ "Режим диалога" (включен) // ✅ "Отправлять ответ пользователю" (включен) // "Следующий шаг процесса": Агент "Помощник" // АГЕНТ 3: СПЕЦИАЛИСТ "Тренер" // Роль: "Фитнес-тренер" // Цель: "Составь программу тренировок" // Инструкции: // "1. Узнай уровень подготовки и доступное оборудование // 2. Составь программу на неделю с упражнениями // 3. Дай рекомендации по технике // 4. Ответь на вопросы о тренировках // 5. Если вопрос не про тренировки → скажи, что это не твоя область" // Настройки: // ✅ "Режим диалога" (включен) // ✅ "Отправлять ответ пользователю" (включен) // "Следующий шаг процесса": Агент "Помощник" // СЦЕНАРИЙ 1: Консультация по питанию // 👤 "Хочу похудеть" // 🤖 Помощник: "Отлично! Передаю вас нашему нутрициологу" // 🥗 Нутрициолог: "Здравствуйте! Назовите ваш рост, вес и возраст" // 👤 "175 см, 85 кг, 30 лет" // 🥗 Нутрициолог: "Рекомендую 1800 ккал в день. План на день: завтрак - овсянка с фруктами..." // 👤 "А что насчет тренировок?" // 🥗 Нутрициолог: "Это не моя область, но могу передать тренеру" // 👤 "Да, передайте" // 🤖 Помощник: [передает тренеру] // 💪 Тренер: "Привет! Какой у вас уровень подготовки?" // СЦЕНАРИЙ 2: Прямая маршрутизация // 👤 "Нужна программа тренировок для новичка" // 🤖 Помощник: [анализирует → тема про тренировки] // 🤖 Помощник: "Передаю вас нашему тренеру!" // 💪 Тренер: "Здравствуйте! Есть ли доступ к тренажерному залу?" // СЦЕНАРИЙ 3: Завершение диалога // 👤 "Спасибо, это все" // 🥗 Нутрициолог: "Рад был помочь! Есть еще вопросы?" // 👤 "Нет, спасибо" // 🥗 Нутрициолог: [возвращает управление оркестратору] // 🤖 Помощник: [определяет завершение → переход к следующему блоку] // 📋 Feedback.sendForm: [отправляет форму обратной связи] // ПРЕИМУЩЕСТВА: // ✅ Разделение ответственности - каждый агент эксперт в своей области // ✅ Контроль данных - нутрициолог не видит переписку с тренером // ✅ Масштабируемость - легко добавить "Психолога" или "Массажиста" // ✅ Гибкость - пользователь может переключаться между специалистами ``` -------------------------------- ### JavaScript: Генерация персонализированных email-рассылок с агентом Source: https://context7.com/context7/agentplatform_just-ai/llms.txt Этот JavaScript-код демонстрирует сценарий генерации персонализированных email-рассылок. Агент используется для создания текста письма на основе данных клиента, а результат передается функции отправки email. Важно отключить прямую отправку ответа агента пользователю. ```javascript // СЦЕНАРИЙ: Генерация персонализированных email-рассылок // ПРОЦЕСС: // [Триггер: Планировщик] → [Функция: CRM.getClients] → [Агент: Генератор текста] → [Функция: Email.send] // ФУНКЦИЯ 1: Получение списка клиентов // CRM.getClients возвращает: // [ // {"name": "Иван", "email": "ivan@example.com", "lastPurchase": "Ноутбук", "purchaseDate": "2025-09-01"}, // {"name": "Мария", "email": "maria@example.com", "lastPurchase": "Смартфон", "purchaseDate": "2025-08-15"} // ] // АГЕНТ: Генератор персонализированного текста письма // Роль: "Копирайтер email-рассылок" // Цель: "Создай персонализированное письмо для клиента" // Инструкции: // "На основе данных клиента создай персонализированное письмо: // 1. Обратись к клиенту по имени // 2. Упомяни его последнюю покупку // 3. Предложи сопутствующий товар // 4. Добавь промокод на скидку 10% // Стиль: дружелюбный, не более 100 слов" // КРИТИЧНО: Отключите прямую отправку // ❌ "Отправлять ответ пользователю" (выключен!) // Температура: 0.7 (для креативности) // Агент получает данные из Context и генерирует текст: var clientData = Context.getLastFunctionResult(); // Результат агента (сохраняется, но НЕ отправляется в чат): // "Привет, Иван! 🎉 // Спасибо за покупку ноутбука в начале сентября. // Думаем, вам понравится наша новая беспроводная мышь для продуктивной работы. // Используйте промокод TECH10 для скидки 10%! // С уважением, команда магазина" // ФУНКЦИЯ 2: Отправка email // Email.send (встроенная функция или пользовательская с SMTP) // Параметры: // - to: {{Context.getLastFunctionResult().email}} // или через JavaScript: // {{JSON.parse(Context.getFunctionResult('CRM.getClients'))[0].email}} // - subject: "Специальное предложение для вас!" // - content: {{Context.getLastFunctionResult()}} // (результат работы агента - сгенерированный текст письма) // ПОЛНЫЙ КОД ФУНКЦИИ Email.send: return Http.post({ url: "https://api.smtp-provider.com/v1/send", headers: { "Authorization": "Bearer " + $integration.smtp.apiKey, "Content-Type": "application/json" }, body: JSON.stringify({ from: "noreply@company.com", to: $parameters.to, subject: $parameters.subject, html: $parameters.content }) }) .then(function(response) { return "Email отправлен: " + response.body; }) .catch(function(error) { return "Ошибка отправки: " + error; }); // РЕЗУЛЬТАТ ПРОЦЕССА: // 1. Планировщик запускает процесс ежедневно в 10:00 // 2. CRM.getClients получает список клиентов // 3. Агент генерирует персонализированный текст (НЕ отправляет в чат!) // 4. Email.send использует результат агента и отправляет письма // ДРУГИЕ ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ АГЕНТА КАК ФУНКЦИИ: // - Генерация описаний товаров для загрузки в БД // - Создание постов для соцсетей (агент генерирует → функция публикует) // - Анализ отзывов (агент обрабатывает → функция сохраняет в аналитику) // - Перевод контента (агент переводит → функция обновляет сайт) ``` -------------------------------- ### Direct User Response with Agent Source: https://docs.agentplatform.just-ai.com/blocks/agent/agent-in-flow Default agent behavior where the response is automatically sent to the chat. The agent's response can also be retrieved using `Context.getLastFunctionResult()` for further processing in the workflow. ```javascript Context.getLastFunctionResult() ``` -------------------------------- ### Configuring Agent for Dialogue Mode Source: https://docs.agentplatform.just-ai.com/blocks/agent/agent-in-flow Enables an agent to maintain a conversation by pausing the process until the user's goal is met. Requires enabling 'Dialogue mode' in agent settings and specifying the next step in the process. -------------------------------- ### Using Agent as a Function for Content Generation Source: https://docs.agentplatform.just-ai.com/blocks/agent/agent-in-flow Configures the agent to generate content without sending it directly to the chat. The generated content can be accessed via `Context.getLastFunctionResult()` and used in subsequent workflow blocks, such as populating email content. ```javascript {{Context.getLastFunctionResult()}} ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.