Мой блог
SSH-commander: умная панель управления VPS со встроенным AI-агентом
Подробности изложены в материале первоисточника. Я разработал для собственных нужд утилиту ssh-commander, объединяющую в едином интерфейсе полноценный терминал, файловый менеджер, средства мониторинга Docker и интеллектуального AI-агента. Этот инструмент позволяет управлять удаленными серверами в ручном режиме, а при необходимости подключать нейросеть для анализа логов, поиска файлов и генерации команд. Приложение распространяется по свободной лицензии MIT, не требует оформления платных подписок и запускается локально через контейнеры.
Интерфейс панели открывается в обычном веб-браузере, а для установления связи с целевыми машинами используется стандартный протокол SSH. Чтобы оценить работу утилиты в деле, я развернул отдельный тестовый стенд с имитацией рабочих нагрузок.


Зачем я создал этот инструмент
Необходимость в разработке возникла в момент, когда потребовалось перенести несколько рабочих веб-проектов на новую аппаратную площадку. Чтобы минимизировать риски и ничего не упустить, я задействовал ИИ-помощника непосредственно на старом сервере, поручив ему проанализировать текущую конфигурацию и сформировать подробный отчет для миграции.
Оценив качество собранных данных, я подумал: раз модель способна проводить глубокий аудит системы, почему бы не доверить ей и последующую настройку? При этом мне было принципиально важно сохранять полный визуальный контроль над каждым шагом утилиты и иметь возможность самостоятельной проверки.

Так родилась архитектура ssh-commander. Левая часть экрана отведена под выбор серверов и навигацию, верхняя панель переключает разделы (терминал, файловую структуру и другие модули), а справа располагается постоянное окно чата с искусственным интеллектом. Любой фрагмент системного лога или истории команд можно отправить в чат одним щелчком мыши.
Архитектурные возможности панели
Интерфейс программы включает в себя несколько ключевых разделов, обеспечивающих полное администрирование удаленной инфраструктуры без переключения между окнами.
Встроенный терминал и файловый менеджер
Модуль терминала поддерживает создание нескольких вкладок для разных хостов, сохранение истории введенных команд и автоматическое восстановление рабочей сессии после обновления страницы в браузере. Выделенный текст можно мгновенно перенаправлять в диалог с нейросетью.

Файловый менеджер функционирует поверх протокола SFTP, позволяя скачивать и загружать объекты, редактировать текстовые файлы с подсветкой синтаксиса и отслеживать растущие логи в реальном времени. Встроенный анализатор дискового пространства помогает быстро находить тяжелые директории и файлы.
Управление Docker и системными службами
Отдельный блок предназначен для работы с контейнерами Docker, образами, стеками Compose, логами и внутренними терминалами контейнеров. Кроме того, предусмотрены специализированные интерфейсы для мониторинга баз данных PostgreSQL и MySQL, веб-сервера Nginx, менеджера systemd, сетевых портов и планировщика cron.
Для сохранения контекста между сеансами у ассистента предусмотрена локальная память в виде файла MEMORY.md, куда записываются особенности развертывания проектов.

Практический кейс: свободное место и сломанный бэкап
В процессе реальной эксплуатации на одном из серверов неожиданно исчерпалось свободное дисковое пространство. AI-агент оперативно обнаружил дубликаты объемных PDF-документов, предложив удалить их для высвобождения полутора гигабайт памяти, а заодно перенести работу с документами в облачное хранилище Yandex S3.
Мы успешно выполнили очистку и настроили выгрузку в S3. Однако перед окончательным удалением локальных копий выяснилось, что автоматическое резервное копирование медиафайлов в облако перестало работать, хотя ранее функционировало стабильно.
Ассистент быстро выявил корень проблемы: после удаления дубликатов процесс бэкапа попытался синхронизировать изменения, но у сервисной учетной записи отсутствовали необходимые права на удаление файлов в S3. Ошибка прерывала процедуру, из-за чего резервные копии перестали обновляться.
Разграничение автоматических и подтверждаемых действий
Некоторые операции помощник выполняет самостоятельно, тогда как критические изменения требуют обязательного одобрения со стороны пользователя.
Права доступа и безопасность команд
Чтение стандартных файлов, просмотр списков запущенных контейнеров или проверка свободного места на диске выполняются агентом автономно. Запись файлов, перезапуск служб и выполнение произвольных команд требуют ручного подтверждения через специальную плашку в нижней части интерфейса.
Для безопасного чтения используется ограниченный список разрешенных команд, исключающий использование опасных конструкций, перенаправлений и подстановок. Сложные задачи выполняются в режиме предварительного планирования, где модель сначала формирует общую стратегию действий.
Технические ограничения системы
Важно помнить, что нейросеть может ошибаться в синтаксисе или логике предложенных команд, поэтому ручная проверка результатов остается обязательной. При использовании внешних API-провайдеров прочитанные логи и файлы передаются на сторонние серверы, хотя встроенные фильтры стараются скрывать обнаруженные секретные ключи.
Как развернуть ssh-commander
Для запуска приложения требуются установленный Docker с поддержкой Compose v2 и наличие SSH-доступа к целевым серверам под управлением Linux. На хостах с macOS или Linux развертывание выполняется стандартной последовательностью команд.
После запуска контейнера достаточно открыть веб-интерфейс в браузере, задать защитный пароль и добавить первый сервер, указав его IP-адрес или доменное имя. В настройках задается API-ключ выбранного провайдера для работы AI-модели, после чего система полностью готова к администрированию.
