Веб-консоль: полный справочник
Вход, машины и сводки, чат с ИИ по шагам, ИИ-провайдеры, домен и карта серверов, разведка по сети, группы и библиотека решений — всё, что умеет консоль, и как этим пользоваться.
01Знакомство#
Консоль — веб-интерфейс управления парком машин с ИИ-помощником. Машины (Windows и Linux) получают лёгкого агента, который по защищённому каналу подключается к мосту и выполняет задачи локально. Консоль не исполняет команды сама — она ставит задачи в мост, их выполняет агент на машине.
| Компонент | Роль | Где живёт |
|---|---|---|
| Агент | на каждой машине парка: опрашивает мост, выполняет команды, шлёт сводку о системе | ваши машины |
| Мост | mTLS-точка парка: принимает агентов, выдаёт сертификаты, хранит журнал задач | сервер управления (при Self-Host — ваш, см. раздел «Self-Host») |
| Консоль | веб-интерфейс с ИИ: сводки, чаты, задачи, инфраструктура, библиотека | этот сайт |
Что умеет консоль: живая сводка по каждой машине, чат с ИИ на русском языке (диагностика и действия по политике), группы и отображаемые имена машин, настройка ИИ-провайдеров, карта серверов с разведкой по сети, библиотека готовых решений и подтверждение строгих команд оператором. Строгие изменения выполняются только после вашей кнопки «Подтвердить».
Список машин слева опрашивается каждые 15 секунд. Машина онлайн — агент ответил мосту недавно; офлайн — агент не выходит на связь (выключена, нет сети или служба остановлена).
02Вход и выход#
Консоль открывается с главной страницы сайта: нажмите «Войти» (или «Открыть консоль») и введите пароль — его выдаёт администратор, он один на консоль. После успешного входа браузер переходит на адрес консоли https://sa-projects.ru:7444 — соединение шифрованное, с доверенным сертификатом домена, вводить пароль повторно не нужно (сессия).
Кнопка «Выйти» в шапке консоли завершает сессию и возвращает на главную страницу сайта. Если сессия истекла, консоль сама покажет экран входа.
- пароль и сессии хранятся на стороне консоли (БД 0600), в браузере — только cookie сессии;
- не передавайте пароль никому и не вводите его в чаты — оператору он не нужен (см. «Политики и безопасность»);
- адрес консоли
:7444напрямую (по IP, минуя домен) закрыт — доступ только через сайт.
03Машины: список и сводка#
Слева — парк, сгруппированный по группам (глава 05). У каждой машины: имя, статус (онлайн/офлайн) и краткая информация. Клик по машине открывает её консоль: сводка системы + чат с ИИ.
Сводка (дашборд)
Карточки сводки: ОС и время работы, процессор (модель, нагрузка), память, диск, сеансы — данные агент присылает сам. Кнопки в шапке:
- ⟳ Обновить — перечитать данные с моста;
- 💬 Чат с ИИ — перейти в чат машины;
- 🗑 Удалить — полностью убрать машину: агент самоудалится с устройства, запись снимется с моста.
Сводка о системе может отсутствовать («нет данных»), если агент только что установлен или машина офлайн — данные появятся после первого ответа агента.
Страницы консоли
В шапке — страницы: 🤖 Провайдер ИИ, 🧭 Инфраструктура, 📚 Библиотека (и Разведка открывается из карточки сервера). Это обычные разделы, не окна: переключение кнопками шапки, у каждой есть кнопка «← к машинам», Esc возвращает к консоли машин. Клик по машине в списке всегда возвращает в её консоль/чат.
04Чат с машиной#
Напишите машине по-русски, что сделать: «покажи диск», «что с памятью?», «проверь обновления». ИИ сам решает, какие команды выполнить и какие задачи поставить агенту — под политикой машины (глава 11).
Последовательный ответ по шагам
Ответ ИИ выводится строго по порядку: текст ИИ → блок отправленной задачи (что именно выполняется и какой статус) → следующий текст ИИ → следующий блок задачи… Статусы задач: pending / running / done / error и needs_approval — задача из строгого списка ждёт вашего решения.
Строгая команда не выполняется сама. Под её блоком появляются кнопки «Подтвердить» / «Отклонить», а ответ ИИ приостанавливается и ждёт решения — новых задач он не насыплет. После вашего клика тот же ответ продолжается с результатом задачи. Ожидающие подтверждения дублируются в ленте подтверждений (раздел над полем ввода), чтобы их нельзя было пропустить. Если решение не принято в течение лимита ожидания, задача остаётся в ленте для разбора отдельно.
Технический режим
Над полем ввода — подсказка о двух прямых режимах, минуя ИИ:
/команда— выполнить напрямую в режиме чтения (read);!команда— выполнить как изменение (change) — строгие команды всё равно потребуют подтверждения.
Ответ ИИ и задачи приходят потоком (разметка Markdown поддерживается: списки, код, таблицы). История чата хранится на сервере и подгружается при открытии; кнопка 🗑 очистить в шапке очищает историю и контекст ИИ этой машины.
Инструменты ИИ привязаны к выбранной машине: он видит реальные выводы команд и сводку, а не «примерный» ответ. Если действие требует прав, которых нет, — честно скажет и предложит шаги.
05Группы и имена (каталог)#
Парк слева сгруппирован под заголовками. Первично группы приходят из групп агентов (задаются при установке pairing-кодом). Дальше каталогом управляет оператор:
- + группа — в шапке списка создать новую группу;
- у заголовка группы меню ⋮ — переименовать или удалить (машины уходят в «Без группы»);
- у машины при наведении ✎ — инлайн-переименование: меняется только отображаемое имя, техническое имя (CN) не трогается, чаты и команды по-прежнему идут по CN;
- у машины ⇄ — перемещение в другую группу (выпадающий список: группы, «без группы», «+ новая группа…» на лету).
Отображаемые имена и заголовки групп видны и в шапке консоли машины, и в чате. Каталог хранится в БД консоли и общий для всего парка.
06ИИ-провайдеры#
За ответы в чатах машин отвечает активный ИИ-провайдер. Реестр редактируется на странице 🤖 Провайдер ИИ: список, добавление, правка, удаление, переключение активного и проверка связи («Тест»).
Поддерживаются любые OpenAI-совместимые API:
- облачные — DeepSeek (
https://api.deepseek.com/v1), OpenAI, OpenRouter и пр. (нужен ключ); - локальные — Ollama / LM Studio / vLLM (
http://127.0.0.1:11434/v1, ключ не нужен) — подойдёт, когда парк не должен ходить в интернет.
Правила
- ключи API хранятся в БД консоли и не отдаются наружу — список показывает только факт наличия ключа (
key_set); при правке провайдера пустой ключ означает «не менять»; - активный провайдер можно переключать в один клик; удаление активного делает реестр пустым — чаты начнут отвечать «настройте ИИ-провайдера»;
- если ключ/адрес указаны неверно — «Тест» покажет ошибку связи до того, как вы переключите активного.
Локальный OpenAI-совместимый сервер (Ollama и др.) на машине управления позволяет держать данные парка внутри: в облако уходит только то, что вы разрешили, а модель вообще никуда не ходит.
07Домен и контекст сети#
Страница 🧭 Инфраструктура → блок «🏢 Домен» описывает окружение: имя домена (FQDN/NetBIOS), администратор, пароль и примечание. Когда домен включён, эта информация попадает в контекст каждого чата — ИИ знает, что работает в домене, и корректно формулирует команды («сервер в домене AVISS», «запросы к AD»).
Пароль домена
Пароль администратора хранится только в БД консоли. Модели, агенту и журналу он не передаётся, в команды его вписывать нельзя — он попал бы в историю чата и журнал задач. Пустое поле пароля при сохранении = «не менять сохранённый».
Как ИИ реально входит на серверы домена
Рабочие входы — только бесшовные, без пароля в командах:
- служба агента под доменной учёткой: на машине-анализаторе запустите службу агента от имени доменного администратора (
services.msc→ служба → «Вход в систему» → «С учётом:ДОМЕН\админ»). Тогда из её контекста работаютwinrs -r:сервер,Invoke-Command, запросы к AD — без пароля; - ssh-ключи на Linux-целях (аналогично, заранее настроенные);
- иначе ИИ честно скажет, чего не хватает, и даст готовые команды, которые оператор выполнит на сервере вручную — пароль вводить в чат нельзя.
Примечание в карточке домена видно ИИ — удобно вписать туда схему сети («сеть 192.168.1.0/24, ~40 рабочих мест»). Правки домена действуют сразу, без перезапуска консоли.
08Карта серверов#
В том же разделе 🧭 Инфраструктура — «🖥️ Серверы»: мини-карта инфраструктуры. Каждая карточка описывает один сервер и связывает его с машинами парка. Семантика полей важна:
| Поле | Что это |
|---|---|
IP / хост | цель — сервер, который изучаем/обслуживаем. Агента на нём может не быть |
| анализатор | машина парка, через которую ИИ ходит к цели по сети (это не привязка: инструменты выполняет анализатор) |
| машина на сервере | агент, установленный на самом сервере (заполняется после удалённой установки агента — прямое управление) |
| роль / ОС / отчёт | заполняются вручную или автоматически из строки ИТОГ разведки |
Агенты не сообщают мосту свой IP, поэтому адрес цели вписывается вручную, а работать с целью ИИ может по сети через машину-анализатор — даже если у сервера нет агента.
Кнопки карточки
- 🛰 Разведка — открыть чат разведки сервера (глава 09);
- 💬 агент — открыть чат агента, установленного на сервере (если поле «машина на сервере» задано);
- ✎ — править карточку (поля цели/анализатора/машины, роль);
- 🗑 — удалить карточку (очищается и история разведки этого сервера).
Сеть парка: сканирование сегментов и удалённая установка агентов
Блок «🌐 Сеть парка» на странице 🧭 Инфраструктура строит карту сети: веерный поиск включённых ПК по сегментам (CIDR) через выбранную Windows-машину-анализатор из парка и пометку «агент уже есть/нет» для каждой найденной машины. Настройки блока:
- машина-анализатор — кто выполняет сетевые операции (Windows: PowerShell + планировщик задач);
- сегменты — список CIDR (запятая или строка на сегмент), например
192.168.1.0/24; - зеркало установщика —
OA_BASE(пусто = официальное зеркало моста); - pairing-код —
OA_CODE, в какую группу парка попадут новые агенты (пусто при сохранении = не менять).
🔍 Сканировать — только чтение: параллельный ICMP (700 мс/хост), обратный DNS и порты 445/135 (windows) и 22 (linux). Учётные данные не нужны. Результат — таблица «IP · хост · ОС · есть ли агент». Сверка «агент уже стоит» идёт по имени хоста (агенты не сообщают IP): имя/хостнейм агента ≈ имя ПК из DNS.
⬇ Установить на строке (или «Установить всем без агента») ставит агента удалённо: машина-анализатор создаёт на целевом ПК разовую задачу планировщика от SYSTEM (повышение без UAC) под доменной учёткой из «🏢 Домена», задача лишь скачивает install.ps1 с OA_BASE/OA_NAME/OA_CODE и выполняет штатную установку. Консоль ждёт появления машины в парке (до ~90 с) и перерисовывает бейдж.
Пароль из карточки «🏢 Домена» не попадает в текст команд и в журналы: консоль отправляет его мосту отдельным полем secret_env, мост кладёт его в окружение процесса установки на машине-анализаторе ($env:OA_DPASS) и стирает из хранилища сразу после завершения задачи; наружу он не отдаётся ни в одном ответе API. Сканирование пароля не требует вовсе.
Linux-хосты в карте помечаются linux: агент на них ставится вручную (по ssh), из интерфейса установка идёт только на Windows-цели.
09Разведка сервера#
Кнопка 🛰 Разведка в карточке сервера открывает живой чат с ИИ по цели. ИИ работает с сервером через машину-анализатор (по сети) и показывает каждый шаг. Сценарий разведки:
- сначала только чтение: доступность, ОС, открытые порты, домен/рабочая группа, роль — никаких изменений цели без вашего согласия;
- ИИ ничего не выдумывает: результат — только из реальных выводов команд на анализаторе;
- в конце ИИ пишет строку
ИТОГ: [windows|linux|unknown] роль: …— она автоматически записывается в карточку сервера (роль, ОС, отчёт, время); - затем ИИ спрашивает, установить ли на сервер агента; при согласии разворачивает его штатным инсталлером — новая машина появится в списке парка, и её можно указать в карточке полем «машина на сервере» (прямое управление).
Правила те же, что в чатах: строгие команды встают на ваше подтверждение (кнопки под блоком задачи), ответ ИИ при этом приостановлен и продолжит сам после решения. История разведки — отдельный тред (infra-recon:<сервер>), чат анализатора она не засоряет. Кнопка 🗑 очистить в шапке разведки стирает этот тред.
У агента нет интерактивного ввода (TTY), а история сохраняется — ввод пароля в чат разведки утёк бы в журнал. Для входа по SSH/WinRM настраиваются ключи/доверие заранее (глава 07), либо оператор сам выполняет на сервере команды, которые даёт ИИ.
10Библиотека решений#
Страница 📚 Библиотека — общий каталог проверенных решений («скилов») агентов, раздельно для Windows и Linux. Софт в инфраструктуре похож, а проблемы повторяются — ИИ сначала ищет проверенное решение, а не изобретает заново на каждой машине.
Как это работает
- Контекст: перед каждым ответом в промпт машины добавляются свежие записи библиотеки её ОС, плюс инструмент поиска по ключевым словам;
- Автодокументирование: если ИИ несколько раз ошибся при выполнении команды, а потом нашёл рабочий вариант — он сохраняет его в библиотеку (дедупликация по ОС+заголовку: запись обновляется, а не плодится);
- Вручную: кнопка «+ Добавить решение» — вкладки Windows/Linux, поля: заголовок, проблема, решение, теги.
Библиотека одна на весь парк (хранится в БД консоли) — решения, найденные на одной машине, доступны ИИ на всех остальных. Запись можно удалить; библиотека жёстко разделена по ОС, чтобы ИИ не предлагал Linux-команды на Windows.
11Политики и безопасность#
Политика агента
У каждой машины есть политика выполнения (задаётся при установке агента или в его конфиге):
- read — команды, которые ничего не меняют (просмотр, диагностика);
- change — изменения (установка ПО, правка настроек) — выполняются, если входят в разрешённый список;
- строгий список (confirm) — команды, которые всегда требуют подтверждения оператора (
needs_approval): удаление, перезагрузка, смена политики и т.п.; - deny — запрещённые команды, отклоняются сразу.
Итог по каждой задаче виден в её блоке: режим (mode=read/change), статус и причина (например «разрешено политикой группы» или «требует подтверждения»).
Правила безопасности
- повышение прав в консоли — только через кнопки «Подтвердить/Отклонить», никаких скрытых повышений;
- пароли (домена, API) в БД консоли: наружу и в промпт модели не отдаются; пароль домена в команды не вписывается (глава 07);
- ключи API провайдеров — только
key_setнаружу (глава 06); - агенту нельзя вводить интерактивные пароли — входы настраиваются заранее (ключи, доменные учётки);
- служба агента на Windows/Linux запускается под ограниченной учётной записью; чат и журнал задач хранятся в БД на стороне управления.
12Добавление новых машин#
Новую машину подключает одна команда — с главной страницы сайта (блок «Подключите машину одной командой») или после разведки сервера (глава 09). Команды формируются автоматически под адрес текущего сервера:
Linux
curl -fsSL http://адрес-сервера:7480/install.sh | bashБез прав root — пользовательский режим, с sudo — системная служба. Дополнительно: OA_NAME — имя машины, OA_CODE — pairing-код (группа), OA_MODE=system|user.
Windows
PowerShell от имени администратора (правый клик по ярлыку → «Запуск от имени администратора») — установка регистрирует службу и требует прав администратора:
$env:OA_NAME = "имя"; $env:OA_CODE = "код"; irm http://адрес-сервера:7480/install.ps1 | iexПосле установки
Скрипт скачивает агента и сертификат с того же сервера, настраивает службу и подключает к мосту (mTLS). Машина появляется в списке парка (группа — из pairing-кода), сводка — после первого ответа агента. Агенты обновляются сами: каталог раздачи проверяется автоматически, новая версия раскатывается по парку после подтверждения версии-гейта.
13Быстрый старт: полный сценарий#
- Войдите на сайте (глава 02).
- Проверьте, что машины парка в списке онлайн; при необходимости добавьте новую командой с главной страницы (глава 12).
- Откройте машину → 💬 Чат с ИИ и попросите сводку («что с памятью?») — посмотрите, как ответ идёт по шагам с блоками задач (глава 04).
- На странице 🤖 Провайдер ИИ убедитесь, что активный провайдер тот, что нужен (облако или локальная модель), при необходимости переключите и нажмите «Тест» (глава 06).
- Заведите 🏢 Домен (если парк в домене) и добавьте серверы в карту (главы 07–08): IP цели + машина-анализатор.
- Нажмите 🛰 Разведка у сервера: ИИ изучит цель по сети, даст ИТОГ и спросит про установку агента — согласие развернёт агента на сервере, карточка получит поле «машина на сервере» (глава 09).
- Группируйте машины и задавайте отображаемые имена в каталоге (глава 05); полезные исправления ИИ складывает в 📚 Библиотеку автоматически (глава 10).
Всё, что в строгом списке (перезагрузка, удаление и т.п.), консоль не выполнит без кнопки «Подтвердить». Если действие в чате встало на подтверждение — это нормальный механизм, а не ошибка.