SA-ProjectsИИ-консоль парка машин Документация · справочник консоли ← ГлавнаяОткрыть консоль
Документация · консоль

Веб-консоль: полный справочник

Вход, машины и сводки, чат с ИИ по шагам, ИИ-провайдеры, домен и карта серверов, разведка по сети, группы и библиотека решений — всё, что умеет консоль, и как этим пользоваться.

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Разведка сервера#

Кнопка 🛰 Разведка в карточке сервера открывает живой чат с ИИ по цели. ИИ работает с сервером через машину-анализатор (по сети) и показывает каждый шаг. Сценарий разведки:

  1. сначала только чтение: доступность, ОС, открытые порты, домен/рабочая группа, роль — никаких изменений цели без вашего согласия;
  2. ИИ ничего не выдумывает: результат — только из реальных выводов команд на анализаторе;
  3. в конце ИИ пишет строку ИТОГ: [windows|linux|unknown] роль: … — она автоматически записывается в карточку сервера (роль, ОС, отчёт, время);
  4. затем ИИ спрашивает, установить ли на сервер агента; при согласии разворачивает его штатным инсталлером — новая машина появится в списке парка, и её можно указать в карточке полем «машина на сервере» (прямое управление).

Правила те же, что в чатах: строгие команды встают на ваше подтверждение (кнопки под блоком задачи), ответ ИИ при этом приостановлен и продолжит сам после решения. История разведки — отдельный тред (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Быстрый старт: полный сценарий#

  1. Войдите на сайте (глава 02).
  2. Проверьте, что машины парка в списке онлайн; при необходимости добавьте новую командой с главной страницы (глава 12).
  3. Откройте машину → 💬 Чат с ИИ и попросите сводку («что с памятью?») — посмотрите, как ответ идёт по шагам с блоками задач (глава 04).
  4. На странице 🤖 Провайдер ИИ убедитесь, что активный провайдер тот, что нужен (облако или локальная модель), при необходимости переключите и нажмите «Тест» (глава 06).
  5. Заведите 🏢 Домен (если парк в домене) и добавьте серверы в карту (главы 07–08): IP цели + машина-анализатор.
  6. Нажмите 🛰 Разведка у сервера: ИИ изучит цель по сети, даст ИТОГ и спросит про установку агента — согласие развернёт агента на сервере, карточка получит поле «машина на сервере» (глава 09).
  7. Группируйте машины и задавайте отображаемые имена в каталоге (глава 05); полезные исправления ИИ складывает в 📚 Библиотеку автоматически (глава 10).
Строгие действия — всегда с вашей кнопки

Всё, что в строгом списке (перезагрузка, удаление и т.п.), консоль не выполнит без кнопки «Подтвердить». Если действие в чате встало на подтверждение — это нормальный механизм, а не ошибка.