Jarvis — панель управления сервером

Своя панель вместо ssh: сервер и ИИ-агент под рукой с телефона. Работает с июля 2026, пользуюсь каждый день.

FastAPI PWA веб-терминал в браузере 26 эндпоинтов systemd

Зачем собрал

Держу на сервере своего ИИ-агента и рабочие проекты. Смотреть за ними приходилось через ssh с телефона, а это неудобно: мелкий текст, клавиатура, каждый раз новый пароль. Собрал панель, которая ставится на телефон как приложение и открывается в один тап.

Как выглядит

Раздел Обзор: нагрузка на процессор, память, диск и топ процессов
Обзор: процессор, память, диск, время работы и топ процессов по памяти
Раздел Сервисы: список служб с логами и перезапуском
Службы: статус, логи и перезапуск в один тап
Раздел Файлы: файловый менеджер
Файлы: навигация, скачивание архивом, удаление
Раздел Терминал: веб-терминал с быстрыми командами
Терминал в браузере плюс кнопки частых команд

Короткое видео

15 секунд: вход, обзор ресурсов, службы, файлы.

Что внутри

Бэкенд 1053 строки. Фронт 1241 строка на обычном JavaScript, без фреймворков и без сборки: файлы отдаются браузеру как есть.

Стек

Бэкенд на FastAPI и uvicorn, метрики берутся через psutil, вход работает на токенах pyjwt, удалённые команды идут через asyncssh. Терминал в браузере собран на готовом эмуляторе xterm.js. Фронт на обычном JavaScript: ни React, ни Vue, ничего не надо компилировать. Служба живёт под systemd, снаружи Caddy с автоматическим HTTPS.

Другие кейсы

Дайджест из телеграм-каналов, работает без меня

Сборщик раз в 12 часов вычитывает новые сообщения из 14 источников, отбирает по теме и присылает мне список: ссылка и одна строка, зачем это нужно. Сбор идёт скриптом без модели, поэтому токенов не тратит, модель подключается только на отобранном. Работает по расписанию, пустой прогон сам себя не отправляет.

Android: AppHub

Хаб приложений на Kotlin, Compose и Room. 1941 строка, версия 1.2. Собирает список приложений с иконками, разработчиком и ссылкой на Google Play или RuStore, считает запуски и отдельно помечает те, что ни разу не открывались. Служба доступности ловит запуск приложения, поверх экрана висит оверлей с таймером и вибро-сигналом, а через Shizuku приложение удаляется тихо, без системного окна. Сборка APK автоматическая через GitHub Actions, пуш в основную ветку запускает сборку. Репозиторий приватный, код покажу по запросу.

Как устроена моя работа с ИИ

Основной инструмент: Hermes Agent, он живёт на моём сервере и ведёт задачи: пишет код, ходит в браузер, собирает отчёты, отвечает в телеграме. Настроено 266 скиллов, это папки с инструкциями под конкретные задачи, часть написана под мои процессы. Плюс плагины и несколько провайдеров моделей, переключаю их под задачу.

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