AI Agent
В панели администратора: System › Settings › AI provider (
/settings/ai) — переключатель модуля и провайдер; System › Admin › License & updates (/license) — переключатель модуля. В клиентском портале: AI Agent (/ai/agent) и страница/chat/agentлибо режим Agent внутри чата.
Назначение
AI Agent подключается к Linux-ВМ клиента по SSH и выполняет задачи, описанные простыми словами: «check system health», «install Docker», «find recent errors», «free up disk space». Он показывает каждую предлагаемую команду и результат её выполнения. Команды только для чтения могут выполняться автоматически; любые действия, изменяющие состояние сервера, ожидают нажатия кнопки Run клиентом.
Требования
| Параметр | Требование |
|---|---|
| Модуль и провайдер AI | Включенный модуль AI и настроенный AI provider. Для работы Agent также требуется модель с поддержкой tool calling. |
openssh-client на сервере панели | Agent выполняет команды с помощью собственной утилиты ssh панели (/usr/bin/ssh). Установщик развертывает openssh-client; проверить наличие можно с помощью ssh -V. Без неё Agent возвращает ошибку «ssh client is not installed on the panel server». |
| Без отдельного SSH-шлюза | В стандартной установке используется встроенный SSH, и веб-терминал ssh-proxy не требуется. Только когда включена опциональная функция web SSH (feature_ssh_web) и установлена служба ssh-proxy, Agent вместо этого работает через ssh-proxy. |
| Сеть | Сервер панели должен иметь доступ к IP-адресу ВМ по порту SSH (по умолчанию 22). Проверьте фаерволы и группы безопасности между панелью и гостевой сетью. |
| VM | Принадлежащая клиенту, работающая, не заблокированная ВМ на базе Linux (ВМ с Windows отклоняются) с публичным или доступным IP-адресом. |
| Учетные данные SSH | Имя пользователя и пароль ВМ, сохраненные в NexCMP (в зашифрованном виде при создании ВМ или сбросе пароля), либо сервисный ключ панели, если он установлен. Если нет ни того, ни другого, Agent сообщит о невозможности входа. |
Подготовка инфраструктуры
Проверьте наличие SSH-клиента на сервере панели:
bashssh -V sudo apt-get install -y openssh-client # only if missingПроверьте, может ли сервер панели подключиться по SSH к гостевой ВМ:
bashnc -vz 198.51.100.10 22Замените адрес на IP-адрес тестовой ВМ. Если подключение не удается, сначала настройте маршрутизацию или фаервол.
Убедитесь, что гостевая ОС разрешает вход по паролю для сохраненного в NexCMP пользователя (в некоторых облачных образах он отключен), либо что на гостевой ОС установлен сервисный ключ панели.
Подключение в NexCMP
- Завершите настройку AI provider: модуль включен, провайдер сохранен, проверка Test connection прошла успешно.
- В панели администратора больше ничего настраивать не нужно. Переключатель модуля активирует отображение пунктов AI Agent в клиентском портале.
- От лица клиента: откройте AI Agent, выберите работающий сервер и нажмите Choose server. Страница сначала проверит SSH фиксированной безопасной командой (без вызова AI) и отобразит SSH connected либо причину ошибки.
- Введите задачу или выберите быстрый старт (Check system health, Install Docker, Install Nginx, Find recent errors, Security check, Free up disk space).
Принцип выполнения команд
Откуда: с сервера панели с помощью системного клиента
ssh, по одной неинтерактивной команде за раз. Целевым адресом всегда является IP-адрес ВМ из базы данных, а не из запроса; доступ возможен только к работающей и незаблокированной ВМ самого владельца.Аутентификация: сохраненный пароль передается через одноразовый вспомогательный процесс
SSH_ASKPASSв окружении процесса — он не записывается на диск и не передается в командной строке. Ключи хоста не фиксируются (ВМ переустанавливаются с новыми ключами). Вывод каждой команды ограничен 200 KB, а время выполнения ограничено (60 секунд).Цикл Agent: ИИ предлагает команды и считывает их вывод; один раунд завершается максимум после 10 шагов.
Режимы:
Режим Поведение Confirm Каждая команда ожидает нажатия Run. Auto Автоматически выполняются только команды из строгого разрешающего списка команд только для чтения (например, df -h,ps,journalctl). Все остальные команды, а также все, что парсер не может однозначно проанализировать (переменные, подстановка команд, перенаправление в файлы), ожидает нажатия Run.Метки риска: для команд, которые перезаписывают или удаляют файлы, записывают данные на диски, изменяют учетные записи или SSH Keys, отправляют данные на внешний сервер, открывают низкоуровневые сетевые соединения, выполняют обфусцированный код, загружают и запускают скрипты, выключают или перезагружают машину либо обращаются к другим серверам, всегда отображается Needs confirmation, даже в режиме Auto.
Недоверенный вывод: вывод команд передается модели как ненадежные данные; инструкции внутри него не выполняются.
Проверка
- Выберите работающую тестовую ВМ. На странице отобразится SSH connected.
- Отправьте запрос «Check CPU, RAM and disk». В режиме Auto команды только для чтения выполнятся автоматически, а в ответе будет представлена их сводка.
- Отправьте запрос «Install Nginx». Появится команда установки с кнопками Run и Skip; ничего не будет выполнено, пока вы не нажмете Run.
- Счетчик в верхней части показывает количество обращений к ИИ, использованных за сегодня (например,
3/300).
Ограничения и примечания
- Дневной лимит: 300 обращений к ИИ на клиента в сутки (UTC); сбрасывается в 00:00 UTC. При исчерпании лимита Agent отвечает «Daily AI quota reached».
- Параллельные запуски: не более 2 одновременных запусков Agent на клиента; в рамках сессии выполняется только один шаг за раз.
- Сессии: до 100 сообщений на сессию, до 4,000 символов в сообщении. Сессия привязана к одной ВМ; при удалении или передаче ВМ старая сессия становится доступной только для чтения.
- Заблокированная или остановленная ВМ, либо Windows: ВМ отображается со статусом Locked, Stopped, Windows или No address, и ее нельзя выбрать.
- Вход от имени пользователя: администратор, вошедший от имени клиента, не может использовать функции Agent для работы с учетными данными (см. Log in as a customer).
- Ответственность: Agent может ошибаться. Портал предупреждает клиентов о необходимости проверять команды перед выполнением. Укажите в своих условиях обслуживания, что клиенты несут ответственность за одобряемые ими команды.
- Отключение модуля ИИ удаляет пункты Agent, а маршруты возвращают 404
module_disabled.
Устранение неполадок
| Симптом | Причина | Решение |
|---|---|---|
| "SSH-клиент не установлен на сервере панели (apt install openssh-client)" | Отсутствует бинарный файл ssh | sudo apt-get install -y openssh-client. |
"Агенту не удалось войти" / ssh: no saved credentials for this VM | Нет сохраненного пароля и ключа для операций | Сбросьте пароль ВМ в портале, чтобы сохранить его повторно, или установите ключ для операций. |
| "Сервер не ответил вовремя" | Брандмауэр, SSH не слушает порт, ВМ занята | Проверьте nc -vz <ip> 22 с сервера панели; запустите sshd на ВМ. |
| "Не удалось подключиться к SSH на этом сервере" | Маршрутизация или группа безопасности | Разрешите серверу панели доступ к ВМ по порту 22. |
| "ВМ не запущена" / "Доступ запрещен" | ВМ остановлена, заблокирована, удалена или принадлежит другому клиенту | Запустите её, разблокируйте или выберите другую. |
| "Недоступно: N (остановлена, заблокирована или Windows)" | Причины, перечисленные выше | ВМ должна работать под управлением Linux и быть запущена. |
| "SSH-шлюз временно недоступен" | Функция Web SSH включена, но ssh-proxy не работает | Запустите ssh-proxy или отключите функцию Web SSH, чтобы использовать встроенный SSH. |
| "ИИ отвечает слишком медленно (более 90 секунд)" | Медленный ответ провайдера | Используйте более быструю модель или меньшее значение Reasoning effort. |
| "Достигнут дневной лимит ИИ" | Использовано 300 вызовов | Подождите до 00:00 UTC. |
| "Эта сессия все еще выполняется" | Выполняется другой запрос | Подождите или нажмите Stop. |