FAQ MultiAgent

Чем MultiAgent отличается от Agent?

Pastukhov Agent работает с одним проектом в изолированном контейнере. MultiAgent — центральный пульт над флотом экземпляров Agent на любом количестве серверов: развёртывание, обновление, контроль, аналитика и бэкапы — всё из одного окна. Agent решает задачи, MultiAgent управляет армией агентов.

Какие продукты можно разворачивать на серверах?

Одиннадцать готовых шаблонов — от самого «Мультиагента» (порт 6000) до «Портала» (6100): исследовательский (6010), аналитический (6020), агент данных (6030), прокси (6040), чатбот (6050), телеграм (6060), тесты (6070), CRM (6080), новости (6090) и портал (6100). Каждый занимает свой порт, а в диалоге «Новый агент» карточка шаблона подписана коротким именем — «Аналитика», «Данные», «Прокси». Полный список с описаниями и переменными — на странице Продукты.

Что такое «Менеджмент»?

«Менеджмент» — раздел для тех, у кого агентов много, а смотрят за ними один-два человека. Он собран по принципу исключений: пока всё в порядке, пульт почти пуст. Как только агенту нужно ваше решение или что-то пошло не так, это всплывает наверх с коротким объяснением. Десять экранов — корневой «Флот», а под ним «Флоты», «Реестр», «Чаты», «Решения», «Стоимость», «Токены», «Готовность», «Политики» и «Аналитика» — отвечают на три вопроса: всё ли в порядке, что ждёт человека и куда уходят деньги. Решения собираются в одной очереди с ограничением по времени на ответ, а лишнюю запись можно скрыть одним действием: она уйдёт из очереди, ничего не решая. Подробнее — на странице Менеджмент.

Что такое «Задачи»?

Это очередь долгих работ по всем серверам: развёртывание и пересоздание агентов, обновления, установки, переносы и другие операции, которые идут не мгновенно. Живой журнал показывает, что происходит прямо сейчас, а любую работу можно остановить одной кнопкой. Записи хранятся неделю, всего в списке держится две тысячи последних; работы одного сервера идут строго по одной, а работы сразу по всему флоту — отдельной полосой. Открывается очередь кнопкой «Задачи (N)» в подвале боковой панели — на ней же видно, сколько работ идёт и ждёт. Подробнее — на странице Задачи.

Какие требования к управляемым серверам?

Управляемые серверы — Linux (Ubuntu/Debian) с SSH-доступом и правами root/sudo. Docker и все зависимости установит сам MultiAgent — одной кнопкой прямо из интерфейса, вручную ставить ничего не нужно. А если MultiAgent стоит на Windows, агентов можно держать и на самом компьютере: добавьте сервер с типом подключения «Локальный WSL» — без пароля и ключа.

Где хранятся данные?

Сам MultiAgent хранит всё в volume /data: базу SQLite (или PostgreSQL, если указан MULTIAGENT_DATABASE), ключи шифрования и лицензию. Данные на управляемых серверах лежат в настраиваемых папках — docker, домашняя страница, данные, проекты и инструменты. Корни этих папок собираются из слага развёртывания сервера: по умолчанию это /root/agents/…, а если на одной машине живёт несколько развёртываний, каждому задаётся свой слаг.

Как обеспечивается безопасность?

SSH-ключи, пароли агентов и API-ключи шифруются в базе — ключи шифрования хранятся в /data/keys и не покидают сервер. Программный доступ (Agent API) закрыт ключом X-API-Key и работает только если задан отпечаток ключа в переменной окружения MULTIAGENT_HASH; вход для человека и программный доступ разделены. Проверка входа пользователей — JWT-токенами сроком 90 дней.

Можно ли управлять уже работающими агентами?

Да. MultiAgent умеет импортировать агентов: он сканирует сервер, находит существующие контейнеры агентов и регистрирует их без пересоздания. Все чаты, проекты и данные остаются на месте.


Открыты ли порты агентов в интернет?

Нет. Новые агенты, приложения и инструменты появляются с частным портом: снаружи он не отвечает, а доступен только через nginx этого сервера — по подпапке — и с самой машины. Так развёртывания на одном компьютере не видны друг другу. Открыть порт наружу можно переключателем «Публичный порт» — вкладка «Порты» у агента и приложения или строка порта у инструмента. Два порта публичны всегда и переключателя не имеют: HTTP/HTTPS самого nginx — это входная дверь ко всем приложениям сервера — и порт службы резервного копирования, по которому бэкапы забирают другие машины. Общий Postgres, наоборот, всегда закрыт.

Нужен ли отдельный домен каждому агенту?

Нет. На каждом сервере MultiAgent ставит свой Nginx-контейнер (agents-nginx), который раздаёт все приложения по подпапкам одного домена: каждый агент, продукт и инструмент получает адрес вида https://ваш-домен/имя/. Домен и SSL-сертификат настраиваются один раз — для подпапок ничего отдельно настраивать не нужно, а в корне / nginx отдаётся домашняя страница сервера с карточками приложений. Подробнее — на странице Nginx-роутинг.

Как работает Nginx-роутинг и нужен ли свой сертификат?

Сертификаты трёх видов выдаются во вкладке Nginx страницы сервера: самоподписанный (по умолчанию), собственная пара PEM или Let’s Encrypt через ACME — для последнего нужен ваш домен. Без домена достаточно самоподписанного: браузер один раз попросит подтвердить его, дальше соединение шифруется. Если домен есть — удобнее Let’s Encrypt: он выдаётся по webroot-методу через сам nginx и автоматически обновляется при обновлении конфигурации маршрутов. Если порт HTTPS ещё не задан, успешный запрос Let’s Encrypt сам включает его (443) — сертификат сразу начинает обслуживаться. Когда защищённый режим включён локально, весь HTTP — включая подпапки маршрутов — перенаправляется на HTTPS (исключение — только путь проверки ACME); за верхним обратным прокси, который снимает TLS, подпапки продолжают отдаваться и по HTTP, так как браузер уже работает по HTTPS у прокси.

Что такое центральный вход (единый вход в приложения сервера)?

Центральный вход — единый вход для приложений одного сервера (Authelia). Он устанавливается на вкладке «Авторизация» страницы сервера, и у него свой адрес — {база}/auth/. Пока он активен, агенты и продукты закрываются «за центральным входом» по умолчанию, а инструменты с веб-интерфейсом и свои маршруты — по вашему выбору: посетитель входит один раз и дальше открывает любое защищённое приложение сервера без повторного логина. Для работы входа нужен HTTPS — сертификат и порт на вкладке Nginx либо поле «Публичный адрес» на вкладке «Общее», когда TLS снимает верхний обратный прокси. Обращение напрямую по адресу host:port в обход nginx сохраняет у приложения собственный вход. Подробнее — на страницах Серверы и Nginx-роутинг.

Можно ли входить в Forgejo без отдельного пароля?

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

Как выйти из всех приложений разом?

На домашней странице сервера есть угловая кнопка «Выйти». Она ведёт на страницу подтверждения, после которого происходит выход из центрального входа, из всех агентов и продуктов (их токены удаляются) и из самой домашней страницы.

Что показывает кнопка проверки на странице сервера?

Кнопка «Проверить и исправить» на странице сервера открывает чек-лист состояния служб: подключение по SSH, Docker, папки на сервере, пользователь агента, Nginx, SSL-сертификат, домашняя страница, центральный вход, база данных (Postgres), Git-сервис (Forgejo) и служба резервных копий. Строкам с проблемой, которую можно исправить автоматически, соответствует ссылка «Нажмите здесь, чтобы установить» (или «создать» / «запустить» / «заказать»): это та же одношаговая установка, что и на вкладке, а после успешного исправления проверки перезапускаются сами.

Что такое передача сервера?

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

Можно ли разместить MultiAgent в подпапке?

Да. Одно и то же приложение работает и в корне домена, и в любой подпапке — например, ваш-домен/multiagent. Пересобирать ничего не нужно: MultiAgent определяет подпапку по адресу запроса. Достаточно либо задать переменную MULTIAGENT_BASE_PATH, либо попросить верхний прокси передавать заголовок X-Forwarded-Prefix. На управляемом сервере MultiAgent настраивает это сам при развёртывании. Подробнее — на странице Nginx-роутинг.


Что такое свой агент (Own Agent)?

Свой агент — внешний Xedant Agent, которого MultiAgent подключает переменными окружения AGENT_API_URL и AGENT_API_KEY. Его интерфейс встроен в каждую страницу: блок в боковой панели со сводкой чатов, глобальная панель чата, очередь промптов из поля ввода, голосовой ввод, а в подвале панели — кнопки «Задачи (N)» и «Чаты». Обратное направление — агент управляет MultiAgent — работает через программный интерфейс: адрес Мультиагента агент получает переменной MULTIAGENT_URL, сам ключ — MULTIAGENT_KEY, а на стороне Мультиагента хранится только его отпечаток в MULTIAGENT_HASH. Подробнее — на странице Собственный ассистент.

Что такое Agent API?

Agent API — программный интерфейс /api/agent/* для автоматических клиентов, закрытый ключом X-API-Key (переменная MULTIAGENT_HASH хранит его отпечаток SHA-256). Через неё внешний агент управляет серверами, агентами, инструментами и продуктами; запрос GET /api/agent возвращает каталог всех операций с описаниями. Без переменной интерфейс отвечает 503 Agent API is disabled («API выключен»). Подробнее — на странице Agent API.

Что такое домашняя страница сервера?

Домашняя страница сервера — единая закладка, с которой открываются все приложения сервера. Это статичная панель карточек: MultiAgent сам собирает её из своей базы и загружает на сервер, а Nginx отдаёт её в корне /. Отдельный контейнер и свой вход ей не нужны, а карточки (агенты, приложения, инструменты) появляются автоматически, а в углу доски — кнопки «Git», «Вход по QR-коду» и «Выйти». Подробнее — на странице Домашняя страница сервера.

Чем задачи и боты отличаются от прежних триггеров и менеджеров?

Прежние менеджеры и триггеры (cron, вебхуки, email, Telegram) убраны из продукта. Вместо них в чатах агентов живут задачи по расписанию, боты и очередь промптов — а также MCP-серверы и навыки. Это собственные сущности агента: MultiAgent передаёт их, а не переизобретает — диалоги открываются из страницы агента и работают через его же API. Подробнее — на странице Задачи и боты.

Можно ли держать агентов на самом компьютере?

Да, для этого есть тип подключения «Локальный WSL»: в форме добавления сервера выберите его и дистрибутив. Пароль, ключ и адрес для такого сервера не нужны — команды внутри дистрибутива выполняет сама служба Windows, а ссылки на приложения открываются по localhost. Нужны WSL2 и Docker внутри дистрибутива. В Linux этого типа подключения нет — там сервер добавляют по SSH.

Что такое «Окружения»?

Это библиотека именованных наборов переменных окружения. Набор — это имя и список строк KEY=VALUE, который можно один раз собрать, а потом выгружать на выбранные серверы и агентов. Импортировать переменные можно из уже настроенного сервера или агента, а на агентах выгрузка сразу пересоздаёт контейнер, чтобы значения вступили в силу. Полезно, когда десятку агентов нужен один и тот же ключ или адрес: заполнили один раз — и разослали. Подробнее — на странице Окружения.

Что такое «Флоты»?

Это именованные группы агентов, собранные по смыслу, а не по серверам: например, «Боты поддержки» с агентами с трёх разных машин. Внутри карточки участники разложены по серверам, группы серверов свёрнуты, а метка сервера и имя участника ведут на их страницы. Флот удобно выбирать в отчётах: фильтр в аналитике и в «Менеджменте» собирается из флотов, серверов и отдельных агентов. Подробнее — на странице Менеджмент.

Как перенести агента на другой сервер или стереть его?

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


Работает ли MultiAgent без интернета?

MultiAgent полностью self-hosted: сервер, база, Git-сервер Forgejo и файлы — всё внутри вашей инфраструктуры. Наружу нужен только доступ к API моделей и, при обновлении, к Docker-реестру.

Почему не open-source?

Я уже пробовал запускать и поддерживать бесплатные продукты — больше 20 лет назад. Это того не стоит — объём поддержки намного выше, при этом нет ресурсов на дальнейшее развитие. Я предпочитаю иметь гораздо меньше пользователей, которые действительно любят продукты и готовы за них платить. Ещё одна важная причина — контроль: я предпочитаю сохранять продукты простыми и минималистичными. С открытым исходным кодом я ожидаю тонны AI-сгенерированных PR с функциями, которые я намеренно избегал из-за их сложности и плохих решений.