В прошлой статье я рассказывал про AutoCraft как про инструмент автоматизации и удалённого управления. Сейчас у проекта появился отдельный веб-интерфейс, и это уже не просто дополнение к боту, а полноценная панель управления, которую можно запускать отдельно.
Небольшое примечание: я работаю со скринридером и веду проект как незрячий пользователь, поэтому в некоторых визуальных мелочах интерфейса или оформлении скриншотов могут встречаться шероховатости. Если что-то заметите, напишите, поправлю.
Полезные ссылки
Предыдущая статья на Хабре: https://habr.com/ru/articles/981150/
GitHub-репозиторий проекта: https://github.com/andreykadelite/AutoCraft-Bot
Изначально я делал всё под свои рабочие задачи, поэтому в интерфейсе много практичных вещей без лишнего маркетинга: мониторинг, аудит, файловые операции, терминал, питание, устройства, трансляция с камер и служебные инструменты. Со временем стало понятно, что часть сценариев удобнее вести именно через веб-панель, а не через Telegram.
Что это такое
Веб-панель AutoCraft это локальная или сетевая панель управления компьютером и сервисами в браузере.
Она позволяет:
смотреть состояние системы (нагрузка, память, диски, сеть, аптайм);
работать с файлами;
открывать удалённый рабочий стол;
запускать терминал и системные действия;
управлять питанием;
смотреть аудит и историю операций;
работать с внутренними уведомлениями и сообщениями;
расширять функциональность через плагины без правки основного кода.
Панель можно запускать без запуска Telegram-бота. Это важный момент, потому что часть задач удобнее решать напрямую через браузер, особенно когда нужен интерфейс с несколькими разделами, таблицами и ролями пользователей.
Что изменилось по сравнению с прошлой версией
Если раньше основной упор был на управление через Telegram, то теперь веб-панель стала отдельным рабочим контуром.
Внутри появились:
мессенджер;
уведомления;
центр коммуникаций.
Центр коммуникаций сейчас в процессе развития. В планах видео- и аудиозвонки. Для этого нужно нормально довести SSL и привести сетевую часть к более стабильной схеме. Пока это направление подготовлено архитектурно, но завершённым я его не считаю.
Что уже есть в веб-панели
Ниже перечислю функции без магии, как есть сейчас.

  1. Обзор и мониторинг Базовый экран со сводкой по системе: CPU; память; диски; сеть; аптайм; служебная информация по системе. Это экран для быстрого понимания, что происходит с машиной прямо сейчас. Отдельно отмечу: мониторинг температуры комплектующих я пока не включил в веб-панель, но эта функция уже в планах и скоро появится в общем обзоре.

  2. Аудит и журнал действий В панели ведётся аудит действий. Это удобно и для контроля, и для разбора спорных ситуаций: кто вошёл; что запускал; какие действия выполнялись; что завершилось успешно, а что с ошибкой.

  3. Файловый менеджер Есть встроенный файловый менеджер для типовых операций: просмотр каталогов; загрузка и скачивание файлов; создание, переименование, перемещение; удаление. То есть не нужно каждый раз переключаться между отдельными утилитами или RDP только ради одной папки.

  4. Прямая трансляция с камер Есть функция прямой трансляции с камер, подключённых к компьютеру. Сейчас она в бета-режиме. Делалось это в первую очередь для систематического анализа и наблюдения в рабочих сценариях. Режим ещё дорабатывается, поэтому пока считаю его рабочим, но не финальным.

  5. Удалённый рабочий стол В панели есть удалённый рабочий стол. Это отдельный рабочий инструмент для случаев, когда нужно не просто выполнить команду, а именно зайти в интерфейс удалённой системы и что-то настроить руками.

  6. Терминал Встроенный терминал для служебных операций. Полезно, когда нужно быстро выполнить команду, не открывая дополнительные окна на самой машине.

  7. Управление питанием Поддерживаются стандартные действия: выключение; перезагрузка; сон; гибернация.

  8. Редактор реестра В панели есть редактор реестра. Функция мощная и потенциально опасная, поэтому она нужна именно для администраторских сценариев.

  9. Диспетчер устройств Есть раздел для работы с устройствами. Это удобно, когда нужно быстро посмотреть состояние оборудования или выполнить базовые действия без переключения в штатные оснастки Windows.

  10. Пользователи и роли В панели можно: добавлять пользователей; назначать роли; разделять права доступа. Это особенно полезно, когда системой пользуется не один человек и нужно разграничить, кому что можно. Администрирование и раздел «Серверы» В разделе Администрирование / Серверы предусмотрена логика для добавления других компьютеров и дальнейшего централизованного управления ими. Сейчас это пока заглушка. Причина простая: без нормальной SSL-схемы и аккуратной сетевой реализации я не хочу доводить это до рабочего режима. Как только завершу SSL-часть и стабилизирую взаимодействие, раздел будет доработан до полноценного мультихост-управления. Расширения без правки основного кода Одна из важных идей AutoCraft это расширяемость. Веб-панель поддерживает расширения, которые можно добавлять без редактирования основного кода. Панель сама подхватывает их, после чего проект можно собрать в итоговый исполняемый файл вместе с нужным набором модулей. Из уже реализованных примеров расширений: синтез речи; уведомления на компьютер; веб-аналог Win+R; дополнительные служебные инструменты. Такой подход удобен, когда проект растёт и не хочется превращать основной файл в комбайн на тысячу строк с сюрпризами. Запуск отдельно от Telegram-бота Это отдельный плюс архитектуры. Веб-панель можно запускать как самостоятельный компонент, без запуска Telegram-бота. Для меня это оказалось важным на практике, потому что часть сценариев удобнее и безопаснее вести через веб-интерфейс с ролями, аудитом и более привычной навигацией. При этом Telegram-часть никуда не делась. Просто теперь это не единственная точка управления. Как запустить веб-панель в AutoCraft-Bot 1.1.8 Ниже простой сценарий запуска без обязательной настройки Telegram. Это удобно, если нужна именно веб-панель и вы хотите сначала проверить её отдельно. Запустите AutoCraft-Bot 1.1.8. Данные для работы с Telegram можно сразу не заполнять. Откройте раздел «Функции». Зайдите в «Настройки веб-панели». В поле пароля администратора задайте свой пароль и нажмите «Сменить пароль». При необходимости включите галочку автозапуска веб-панели. Нажмите «Запустить панель». Нажмите «Показать адрес» и откройте указанный адрес в браузере. Есть и второй вариант: в основном окне AutoCraft есть кнопка «Открыть панель». Если панель уже запущена, браузер откроется сразу. Если не запущена, сначала нужно запустить её из настроек веб-панели. Логин и пароль По умолчанию логин администратора: admin Пароль: либо сгенерированный системой; либо тот, который вы установили вручную в настройках веб-панели. Почему я сделал отдельный веб-интерфейс Telegram-управление в AutoCraft никуда не делось, но на практике мне пришлось развивать отдельный веб-контур. Одна из причин это нестабильная ситуация с доступом к Telegram в России и связанные с этим ограничения по рабочим сценариям. В итоге веб-интерфейс оказался не просто обходным вариантом, а в ряде задач даже удобнее: лучше подходит для длительной работы; удобнее для ролей и разграничения прав; проще для аудита и просмотра журналов; естественнее для многосекционного интерфейса (таблицы, разделы, формы, администрирование). Ограничения и текущие нюансы �� проекте могут встречаться баги; часть функций ещё активно дорабатывается; удалённый рабочий стол сейчас работает не на всех версиях и сборках Windows одинаково стабильно. Последний пункт я отдельно дорабатываю. Это не заброшенная функция, а рабочее направление, которое ещё приводится к более предсказуемому поведению на разных системах. Доступность и работа со скринридером Панель изначально делалась с учётом доступности. Интерфейс проектировался так, чтобы с ним можно было работать через скринридер: с понятной структурой, предсказуемой навигацией и внятными элементами управления. Это не формальная галочка, а реальное требование к проекту, поэтому доступность учитывается на уровне повседневного использования, а не только в описании. Технологический стек веб-панели Веб-часть собрана на Python-стеке, который хорошо подходит для такого типа задач: Flask; Flask-AppBuilder; Flask-Migrate; Flask-WTF; waitress; APScheduler; passlib (bcrypt). Такой набор даёт нормальную базу для: ролей и авторизации; административных представлений; планировщика задач; работы с формами; развёртывания веб-сервиса. Что важно понимать сейчас Проект живой, и часть разделов ещё в стадии доработки. Это не идеальная коробка из магазина, а рабочая система, которая растёт от реальных задач. Если коротко по статусу: основная веб-панель уже рабочая; аудит, мониторинг, файловые и системные функции есть; мониторинг температур комплектующих пока ещё не включён в веб-панель, но это в ближайших доработках; коммуникационный контур (включая звонки) в разработке; мультихост-управление через раздел «Серверы» пока отложено до нормальной SSL-реализации. Именно поэтому в панели есть и завершённые разделы, и аккуратные заглушки там, где лучше честно показать статус, чем делать вид, что всё уже production-ready. Куда проект движется дальше Ближайшая логика развития такая: Нормально довести SSL и сетевую часть. Доработать центр коммуникаций (аудио и видео). Закончить мультихост-управление в разделе «Серверы». Расширять набор модулей и плагинов без усложнения ядра. Где следить за проектом и как связаться Если хотите посмотреть, с чего всё начиналось, вот ссылки на материалы по проекту: Статья на Хабре: https://habr.com/ru/articles/981150/ GitHub-репозиторий: https://github.com/andreykadelite/AutoCraft-Bot Для связи и обратной связи по проекту: Telegram: https://t.me/zotovsmol Пишите, если хотите протестировать веб-панель, предложить улучшения или просто поделиться замечаниями по удобству и доступности. Исходники и обновления по проекту также выкладываю в GitHub-репозиторий. Итог Веб-панель AutoCraft выросла из прикладной надстройки в отдельный рабочий интерфейс. Сейчас это уже не просто кнопки к боту, а полноценная панель управления с ролями, аудитом, мониторингом, системными инструментами и расширяемой архитектурой. Если в прошлой статье проект выглядел как центр управления через Telegram, то теперь AutoCraft это уже два полноценных контура: Telegram и веб-панель, где каждый используется там, где он удобнее.