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

Раздел «Ассистент» в меню хаба (администратору) — разговор с моделью о вашем парке: «какие критичные находки и с чего начать», «почему упало последнее задание», «какие стеки можно унести с загруженного хоста». Модель та же, что для разбора находок: настраивается в «О системе», без неё раздел подскажет, где её включить.
Как он отвечает
Ассистент не гадает: он сам смотрит данные хаба — список хостов, находки, службы и контейнеры хоста, оповещения, задания и их журналы, конвейеры, сценарии, переносы, кластеры, карту и состояние 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.