Skip to content

Ассистент хаба ​

Включается в «О системе»

Раздел виден, если в «О системе» → «Экспериментальные функции» включён «Ассистент хаба» (по умолчанию выключен).

Ассистент

Раздел «Ассистент» в меню хаба (администратору) — разговор с моделью о вашем парке: «какие критичные находки и с чего начать», «почему упало последнее задание», «какие стеки можно унести с загруженного хоста». Модель та же, что для разбора находок: настраивается в «О системе», без неё раздел подскажет, где её включить.

Как он отвечает ​

Ассистент не гадает: он сам смотрит данные хаба — список хостов, находки, службы и контейнеры хоста, оповещения, задания и их журналы, конвейеры, сценарии, переносы, кластеры, карту и состояние Traffic Fly. В ответе — строка «посмотрел: N ▾»: щелчок раскрывает, что именно (list_hosts, host_findings host_id=1 …); красная метка — вызов, который не удался.

  • Только чтение и с вашими правами: каждый просмотр — тот же запрос, что делает интерфейс, когда вы открываете раздел.
  • Адреса и имена скрыты, как во всём ИИ хаба (галочка «скрывать адреса и имена»): модель видит host-1, ip-2, в ответе — снова настоящие имена. Пароли, ключи и токены вырезаются всегда.
  • За один вопрос — до 10 обращений к модели; каждое идёт в суточный предел.

Изменения — сценарием ​

Менять ассистент ничего не может. Когда нужно действие, он присылает сценарий (блок nkt): хаб сразу прогоняет его через «Проверить»; если есть ошибки — один раз возвращает их модели, и она исправляет сценарий. Под блоком — итог («прошёл „Проверить“», при исправлении — «модель исправила его по ошибкам проверки») или оставшиеся ошибки по строкам и «Открыть как сценарий»: откроется «Профили» → «Сценарии» с этим текстом, дальше «Проверить», сухой прогон и запуск — вами. Так же приходят перенос стека (migrate) и выкладка (deploy).

Остановленный контейнер ассистент поднимает через start, а не up: стек конвейера — deploy КОНВЕЙЕР start (та же версия, недостающие образы — с ключом registry конвейера), прочий — docker stack ПУТЬ start (без registry). Сценарий с docker stack … up по стеку конвейера «Проверить» отдаёт модели на исправление. Выкладку с меткой «остановлена» он не предлагает запускать сам — её остановили намеренно.

Запуск из ответа ​

Окно «Выполнить»: хосты, шаги и запуск

Под сценарием, который прошёл «Проверить», у администратора — «Сухой прогон» и «Выполнить». Каждая открывает окно задания:

  • в окне — что сделает сценарий (хосты и шаги) и поля, если он о чём-то спрашивает (пароль, параметр); запуск — кнопкой в окне;
  • сценарий сохраняется сам (имя латиницей ai-ДАТА-ХОСТ, заметка «Предложено ассистентом: …», метка «ИИ» в «Сценариях»);
  • «Сухой прогон» спрашивает у хостов планы и ничего не меняет; окно остаётся открытым — результат нужно прочитать;
  • «Выполнить» — одно задание: сухой прогон, при успехе — сразу выполнение. Не прошёл сухой прогон — до хостов не доходит. Прошло — окно закрывается само через пару секунд, а в сообщении остаётся строка «✓ сухой прогон → выполнение · готово · журнал»: по ней окно открывается снова. Не прошло — окно остаётся с ошибкой.

В окне — ход и журнал, «Открыть задание» показывает журнал целиком. «Спросить ассистента о результате» добавляет в разговор итог и журнал: ассистент разберёт, что произошло, и при необходимости предложит исправленный сценарий. Цепочку держит хаб: закрытая вкладка её не прерывает.

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

Имена — ссылками ​

Меню у контейнера в ответе

Имена хостов, групп, конвейеров, сценариев, кластеров и маршрутов Traffic Fly в сообщениях — ссылки; контейнеры и службы — тоже, если ассистент их прочитал. Щелчок открывает меню по типу объекта:

  • хост — открыть, находки, контейнеры, службы, «спросить: проверь хост …»;
  • контейнер и служба — открыть на хосте (строка подсвечена), журналы хоста, спросить ассистента, перезапустить;
  • конвейер — открыть в «Выкладках», сухой прогон, выложить, запустить или остановить (с теми же двумя подтверждениями, что в «Выкладках»);
  • сценарий, кластер, маршрут, группа — открыть в своём разделе.

Меняющие действия — только администратору, с подтверждением, теми же вызовами, что кнопки разделов; задание открывается окном журнала.

Избранное ​

Звёздочка у вашего вопроса добавляет его в «Избранное» справа. Избранное делится на разделы: «Новый раздел», переименовать, удалить. Вопросы и разделы перетаскиваются — порядок и перенос между разделами. Щелчок по вопросу отправляет его ассистенту. Избранное хранится на хабе у каждого пользователя своё — видно из любого браузера и переносится экспортом хаба вместе с учётной записью.

Подсказки при наборе ​

Подсказка контейнеров хоста при наборе вопроса

Слово-тип и пробел за ним открывают список: «хост» — хосты с состоянием (первым пунктом «все хосты»), «контейнер», «служба» — то, что есть на хосте, названном в вопросе последним, «конвейер», «сценарий», «кластер», «маршрут», «группа» — свои списки; «@» — всё сразу, с поиском. Стрелки и Enter (или Tab) — выбрать, Esc — закрыть. Выбранное вставляется именем и в отправленном вопросе становится ссылкой.

Пример ​

Вопрос: «Какие критичные находки сейчас на хостах и с чего начать?»

В ответе — «посмотрел: 3 ▾», раскрытое:

list_hosts  host_findings host_id=1  list_alerts after=0

Ответ:

На web-1 сейчас 5 критичных и 24 серьёзных находок. Главное:
- Контейнер acme-redis публикует порт 6379 на 0.0.0.0 в обход firewall
- Redis слушает порт 6379 на всех интерфейсах
- Сертификат api.example.com просрочен

Начать стоит с Redis: порт 6379 открыт наружу. Закрыть его:
# Redis на web-1: закрыть 6379 снаружи
on web-1 firewall deny 6379/tcp

Под блоком — «Открыть как сценарий» и строка «Сценарий из ответа прошёл «Проверить»». Дальше — «Сухой прогон» и «Выполнить» в «Сценариях».

Ещё вопросы, на которые ассистент отвечает по данным хаба: «почему упало последнее задание и что с этим делать?» (читает задание и его журнал), «какие стеки можно унести с самого загруженного хоста?» (хосты, контейнеры, переносы — ответ сценарием с migrate), «что не так с Traffic Fly?» (карта и состояние целей).

Ассистент или MCP ​

АссистентMCP
Кто спрашиваетадминистратор в интерфейсе хабавнешний агент (Claude Code, Cursor…)
Доступправа того, кто спрашиваетправа API-токена
Действиянет — только сценарий из ответа, который запускаете вы («Выполнить»)с токеном администратора — сразу, без подтверждения; с токеном по правам — только разрешённые, в потолках
Модельнастроенная в «О системе»модель агента

По API: POST /api/hub/assistant с {"messages":[{"role":"user","text":"…"}]} (вся переписка, последняя реплика — вопрос) → answer, steps (что посмотрел), script и issues (сценарий в ответе и итог «Проверить»).

Модель без инструментов ​

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

Разговор ​

Разговор — переписка: ваши вопросы справа, ответы слева, у каждого время; что ассистент посмотрел, свёрнуто в строку «посмотрел: N ▾». Он живёт во вкладке браузера, пока она открыта; «Очистить разговор» (с подтверждением) начинает заново, избранное остаётся. Ctrl+Enter — отправить. Каждый вопрос — в журнале действий (ai.assistant).

Внешнему агенту (Claude Code, Cursor) те же данные — и действия, с токеном администратора или по правам — открывает MCP.