Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

OpsDeck за три недели: ИИ-агент для хостов и девять крупных релизов

OpsDeck за три недели: ИИ-агент для хостов и девять крупных релизов

За последние несколько недель бесплатное открытое приложение OpsDeck претерпело масштабные изменения, превратившись из простого консольного агрегатора в инструмент с автономным ИИ-агентом. В данной публикации подробно рассмотрены ключевые обновления утилиты, включая интеллектуальное взаимодействие с хостами, доработку инфраструктурных инструментов и исправления по результатам баг-репортов.

Проект объединяет в одном интерфейсе терминал, Kubernetes-кластеры, SSH-соединения, базы данных и заметки, избавляя инженеров от необходимости переключаться между множеством отдельных окон и консолей.

ИИ-агент: от подсказок команд к автономному анализу

Ранее локальные языковые модели выполняли роль советчиков, генерируя команды для ручной вставки в терминал. Теперь встроенный ИИ способен самостоятельно выполнять последовательность действий на удаленном узле. Пользователь задает задачу естественным языком, после чего агент подбирает команду, запускает ее и анализирует полученный вывод на следующем шаге цикла, пока не найдет решение или не достигнет установленного лимита шагов.

Реклама

Каждый этап расследования полностью прозрачен: интерфейс отображает целевой хост, конкретную команду, статус чтения или изменения, код возврата и свернутый под стрелкой текстовый вывод. При необходимости пользователь может прервать процесс в любой момент кнопкой остановки.

Безопасность и политика доступа

Ключевым элементом архитектуры выступает модуль проверки команд на базе Rust, который функционирует независимо от языковой модели. Для каждого хоста настраивается отдельная политика разрешений: запрет доступа, режим только чтения, изменение с предварительным подтверждением либо выполнение изменений без вопросов.

Раздел ИИ-агента и настройки уровней доступа к хостам в OpsDeck
Настройки доступа ИИ-агента к удаленным хостам

Режим «только чтение» гарантирует, что деструктивные или изменяющие команды не будут выполнены даже при ручном подтверждении оператора. Существует также абсолютный черный список операций, блокируемых на любом уровне. К ним относятся составные команды, символы перенаправления, интерпретаторы вроде bash или python, а также потенциально опасные утилиты вроде rm, dd, mkfs или reboot. Дополнительно реализованы пользовательские правила фильтрации через списки разрешений и запретов.

Интеграция моделей и базы знаний

Для работы агента можно использовать как встроенную легкую модель, так и сторонние серверы через OpenAI-совместимый API, включая Ollama, vLLM или LM Studio. Приложение поддерживает аппаратное ускорение через Vulkan и Metal, а также стабильную докачку файлов моделей при обрывах связи.

Файловый менеджер между хостами по SSH в OpsDeck
Двухпанельный файловый менеджер для работы с файлами по SSH

Вспомогательный модуль базы знаний сопоставляет запросы пользователя с каталогом из более чем 250 проверенных команд по 23 технологиям, включая Docker, Kubernetes, Terraform, Nginx и различные СУБД. Это позволяет модели точнее формировать синтаксис без выдумывания несуществующих ключей.

Инфраструктура: файлы, облако, базы и пароли

Файловый менеджер между хостами реализован по двухпанельной схеме, схожей с MobaXterm, поддерживая прямое перетаскивание объектов и межхостовую передачу через протокол scp-3 без необходимости прямой видимости между серверами.

Реклама

Интеграция с Yandex Cloud позволяет управлять виртуальными машинами, сетями и учетными записями через локальные профили CLI без сохранения секретных ключей в памяти программы. Кроме того, добавлена поддержка баз данных через jump-хосты, интеграция с менеджментом паролей Passbolt, настраиваемые доски мониторинга хостов и импорт роутеров из WinBox.

Интеграция с Yandex Cloud в приложении OpsDeck
Раздел управления ресурсами Yandex Cloud

Kubernetes

Модуль Kubernetes получил блок предварительной диагностики, формирующий таблицы проблем и проверок на основе текущего kubeconfig без установки дополнительных агентов в кластер. Приложение ведет собственную историю событий namespace длительностью до одной недели, а также поддерживает загрузку конфигураций из указанных директорий.

Реализованы массовые операции с объектами, специализированные вкладки подов, графическое отображение ошибок над логами и честная индикация потери соединения с кластером, исключающая отображение устаревших кешированных данных за актуальные.

Диагностика Kubernetes в приложении OpsDeck
Таблицы проблем и проверок в модуле Kubernetes

Терминал и окна

Интерфейс терминала поддерживает вынос в отдельные окна с возможностью бесшовного перемещения живых сессий вместе с запущенными процессами. Сетка разделения экрана позволяет размещать до шести интерактивных панелей с разными хостами.

Интерактивные ссылки в выводе команд открывают веб-серверы через автоматические SSH-туннели, а палитра тем оформления поддерживает настройки сторонних терминальных клиентов. Для пользователей Windows предусмотрен выбор рабочих оболочек, включая PowerShell, Git Bash и WSL.

Терминал и управление окнами в OpsDeck
Отдельные окна и вкладки терминала

IDE и вспомогательные функции

Модульная структура интерфейса позволяет отключать неиспользуемые разделы для экономии ресурсов. Для разработчиков предусмотрен визуальный граф пайплайнов CI/CD, функция экспорта настроек для переноса на другое рабочее место, а также векторные иконки и корректная естественная сортировка списков.

Анализ баг-репортов и стабильность

Многочисленные исправления повысили общую надежность программы. Разработчики устранили задержки интерфейса, связанные с ожиданием буфера обмена в Linux-окружениях, скорректировали некорректную маршрутизацию сетевых запросов через системные прокси и перевели запись конфигурационных файлов на безопасный атомарный режим с созданием резервных копий.

01.