Продукты

Продукты — готовые приложения-агенты, которые можно развернуть из каталога в несколько кликов: MultiAgent, Research Agent, Analytics Agent, Data Agent, Proxy Agent, а также приложения для чат-ботов, CRM, Telegram и UI. Продукт ставится из диалога «Новый агент» вместе со связанным агентом — учётные данные генерируются сами, переменные подставляются заранее, а приложение и агент сами узнают друг о друге. Никакого ручного создания файлов настройки и обмена ключами.

Что такое продукт

Продукт — это папка-шаблон в каталоге продуктов (по умолчанию /project/products, можно указать свою переменной AGENT_PRODUCTS): файл описания product.json (название, описание, иконка, схема переменных), шаблон конфигурации приложения compose.yml, вспомогательные файлы и, опционально, собственный логотип (logo.svg/logo.png). Каталог читается при каждом показе: добавить продукт — значит положить папку с шаблоном в каталог, перезапуск не нужен. Повреждённый файл описания не ломает каталог — такой шаблон показывается с запасной идентичностью.

Установка со связанным агентом

Продукты разворачиваются из диалога «Новый агент»: переключатель типа предлагает карточку отдельного агента и карточку каждого продукта каталога. Диалог собирает имя, сервер, образ, порт (заранее подставлен из шаблона) и значения переменных. Переменная типа «agent» (Связанный агент) по умолчанию указывает на первый отдельный агент сервера — повторно использовать уже работающего агента выгоднее, чем создавать второго; а если на сервере ни одного агента нет, предлагается «Создать нового агента», и мастер создаёт полноценного отдельного агента тем же механизмом, что и при обычном создании. Так или иначе приложение получает адрес и ключ связанного агента для связи.

У развёртывания — две записи: одна для приложения (слаг вида {шаблон}-app или объявленный appSlug) и, когда связанный агент создан, ещё одна для агента — с именем и слагом шаблона. Оба имени получают свободный вариант («Research App 2», research-app-2), если заняты на сервере. Учётные данные (логин пользователя, пароли, секреты, ключ API) генерируются сервером — для установки не нужно ничего знать заранее.

Каталог продуктов

  • Мультиагент (порт 6000) — сам MultiAgent как продукт: связанный агент по умолчанию и переменные для собственного ассистента (own-agent);
  • Исследовательский агент (Research Agent, порт 6010) — исследования и планирование; общая папка документов /project/research и общая база Postgres, если она настроена на сервере;
  • Аналитический агент (Analytics Agent, порт 6020) — анализ и визуализация данных, со связанным агентом для функции «редактирование с помощью ИИ»;
  • Агент данных (Data Agent, порт 6030) — работа с данными: общая папка сценариев /project/data и Postgres;
  • Прокси-агент (Proxy Agent, порт 6040) — лёгкий прокси с собственной базой данных;
  • Агент чат-ботов (Chatbot Agent, порт 6050) — боты для мессенджеров со связанным агентом;
  • Телеграм-агент (Telegram Agent, порт 6060) — работа с Telegram: каналы, публикации, аналитика;
  • UI-агент (UI Agent, порт 6070) — генерация и правка интерфейсов;
  • CRM-агент (CRM Agent, порт 6080) — работа с клиентами и сделками.

Возможности шаблона объявляются в его файле описания: sslEnvVar — поддержка самоподписанного HTTPS (переключатель SSL есть только у таких шаблонов), databaseEnvVar — строка подключения к общей базе Postgres сервера, когда она настроена (иначе приложение без проблем работает на встроенной базе).

Связь приложение ↔ агент

Когда шаблон объявляет переменные адреса и ключа приложения (например, у research-agent это RESEARCH_AGENT_BASE_URL/RESEARCH_AGENT_API_KEY), каждый связанный агент получает в своей конфигурации две производные строки: адрес приложения для вызовов контейнер-контейнер (внутри одного сервера — адрес docker-сети, между серверами — публичный адрес) и открытый входящий ключ приложения. Строки выводятся при сборке конфигурации и пересоздаются при каждом развёртывании; один агент могут связывать несколько приложений — тогда значения объединяются через запятую (адреса и ключи — параллельные списки).

Шаблон multiagent сам объявляет связанного агента: в его конфигурацию выводятся переменные собственного ассистента (исходящие) и ключ (как отпечаток), а связанный агент получает адрес MultiAgent и открытый ключ. Подробнее — на странице Собственный ассистент.

Общая папка документов

Любой шаблон со связанным агентом делит с ним его git-управляемую папку документов: со стороны сервера — подпапка репозитория агента, подключённая к приложению по тому же пути внутри контейнера. Оба контейнера видят одни и те же файлы по одному абсолютному пути, а git агента покрывает и общие документы. Имя папки MultiAgent выводит из имени шаблона — отдельно его указывать не нужно (например, research для Research Agent). Общей папки нет, когда агент не связан или живёт на другом сервере.

Управление

Продукт управляется как обычная запись агента с меткой «Продукт»: жизненный цикл (пересоздание тянет свежий образ — отдельной команды «скачать образ» нет), журналы по всей конфигурации (покрывают все сервисы стека), маршрут в Nginx. Переменные и связанный агент редактируются на вкладке «Продукт» (кнопка «Сохранить и пересоздать» применяет изменения; связь можно перенацелить, создать нового агента или отключить выбором «Нет»). Продукт не работает как обычный агент: у него нет подключения к живому каналу чатов и отражения чатов, а проверка API отвечает, что тест для продуктов не поддерживается.

Продукт «Мультиагент» — особый случай: если он развёрнут на сервере, принадлежащем клиенту, управление сервером можно передать этому экземпляру. Как это устроено — на странице Передача сервера.

← Оглавление документации