Чем MultiAgent отличается от Agent?
Pastukhov Agent работает с одним проектом в изолированном контейнере. MultiAgent — центральный пульт над флотом экземпляров Agent на любом количестве серверов: развёртывание, обновление, контроль, аналитика и бэкапы — всё из одного окна. Agent решает задачи, MultiAgent управляет армией агентов.
Какие требования к управляемым серверам?
Linux (Ubuntu/Debian) с SSH-доступом и правами root/sudo. Docker и все зависимости установит сам MultiAgent — одной кнопкой прямо из интерфейса. Ничего ставить вручную не нужно.
Где хранятся данные?
Сам MultiAgent хранит всё в volume /data: базу SQLite (или PostgreSQL, если указан MULTIAGENT_DATABASE), ключи шифрования и лицензию. Данные на управляемых серверах лежат в настраиваемых папках — агенты, данные, проекты и инструменты, по умолчанию под /root.
Как обеспечивается безопасность?
SSH-ключи, пароли агентов и API-ключи шифруются в базе — ключи шифрования хранятся в /data/keys и не покидают сервер. Программный доступ (Agent API) закрыт ключом X-API-Key и работает только если он явно задан переменной окружения MULTIAGENT_API_KEY; вход для человека и программный доступ разделены. Проверка входа пользователей — JWT-токенами сроком 90 дней.
Можно ли управлять уже работающими агентами?
Да. MultiAgent умеет импортировать агентов: он сканирует сервер, находит существующие контейнеры агентов и регистрирует их без пересоздания. Все чаты, проекты и данные остаются на месте.
Нужен ли отдельный домен каждому агенту?
Нет. На каждом сервере 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 или шаблон адреса https://{база}/{слаг}, когда 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. Его интерфейс встроен в каждую страницу: блок в боковой панели со сводкой чатов, глобальный панель чата, очередь промптов и голосовой ввод. Обратное направление — агент управляет MultiAgent — работает через программный интерфейс по ключу MULTIAGENT_API_KEY. Подробнее — на странице Собственный ассистент.
Что такое Agent API?
Agent API — программный интерфейс /api/agent/* для автоматических клиентов, закрытый ключом X-API-Key (переменная MULTIAGENT_API_KEY хранит его отпечаток SHA-256). Через неё внешний агент управляет серверами, агентами, инструментами и продуктами; запрос GET /api/agent возвращает каталог всех операций с описаниями. Без переменной интерфейс отвечает 503 Agent API is disabled («API выключен»). Подробнее — на странице Agent API.
Что такое домашняя страница сервера?
Домашняя страница сервера — единая закладка, с которой открываются все приложения сервера. Это статичная панель карточек: MultiAgent сам собирает её из своей базы и загружает на сервер, а Nginx отдаёт её в корне /. Отдельный контейнер и свой вход ей не нужны, а карточки (агенты, приложения, инструменты, Git, кнопка «Выйти») появляются автоматически. Подробнее — на странице Домашняя страница сервера.
Чем задачи и боты отличаются от прежних триггеров и менеджеров?
Прежние менеджеры и триггеры (cron, вебхуки, email, Telegram) убраны из продукта. Вместо них в чатах агентов живут задачи по расписанию, боты и очередь промптов — а также MCP-серверы и навыки. Это собственные сущности агента: MultiAgent передаёт их, а не переизобретает — диалоги открываются из страницы агента и работают через его же API. Подробнее — на странице Задачи и боты.
Как установить MultiAgent на Windows?
Мастером установки PastukhovMultiAgent-Setup-<версия>.exe: приложение работает локально на http://localhost:3991 с папкой данных %LOCALAPPDATA%\Pastukhov\MultiAgent\data — Docker, WSL и .NET не нужны. Управляемые серверы остаются Linux-машинами, подключаемыми по SSH. Подробнее — на странице Установка на Windows.
Работает ли MultiAgent без интернета?
MultiAgent полностью self-hosted: сервер, база, Git-сервер Forgejo и файлы — всё внутри вашей инфраструктуры. Наружу нужен только доступ к API моделей и, при обновлении, к Docker-реестру.
Почему не open-source?
Я уже пробовал запускать и поддерживать бесплатные продукты — больше 20 лет назад. Это того не стоит — объём поддержки намного выше, при этом нет ресурсов на дальнейшее развитие. Я предпочитаю иметь гораздо меньше пользователей, которые действительно любят продукты и готовы за них платить. Ещё одна важная причина — контроль: я предпочитаю сохранять продукты простыми и минималистичными. С открытым исходным кодом я ожидаю тонны AI-сгенерированных PR с функциями, которые я намеренно избегал из-за их сложности и плохих решений.