---
title: AI Agent
description: Дайте клиентам управлять ВМ с Linux на обычном языке: как Agent работает по SSH, что он выполняет сам и что требуется настроить.
url: https://nexcmp.com/ru/docs/ai/ai-agent/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# AI Agent {#ai-agent}

> **В панели администратора:** System › Settings › AI provider (`/settings/ai`) — переключатель модуля и провайдер; System › Admin › License & updates (`/license`) — переключатель модуля. **В клиентском портале:** AI Agent (`/ai/agent`) и страница `/chat/agent` либо режим **Agent** внутри чата.

## Назначение {#what-it-does}

AI Agent подключается к Linux-ВМ клиента по SSH и выполняет задачи, описанные простыми словами: «check system health», «install Docker», «find recent errors», «free up disk space». Он показывает каждую предлагаемую команду и результат её выполнения. Команды только для чтения могут выполняться автоматически; любые действия, изменяющие состояние сервера, ожидают нажатия кнопки **Run** клиентом.

## Требования {#requirements}

| Параметр | Требование |
|---|---|
| Модуль и провайдер AI | Включенный модуль **AI** и настроенный [AI provider](https://nexcmp.com/ru/docs/ai/ai-providers/). Для работы 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 сообщит о невозможности входа. |

## Подготовка инфраструктуры {#prepare-the-infrastructure}

1. Проверьте наличие SSH-клиента на сервере панели:

   ```bash
   ssh -V
   sudo apt-get install -y openssh-client   # only if missing
   ```

2. Проверьте, может ли сервер панели подключиться по SSH к гостевой ВМ:

   ```bash
   nc -vz 198.51.100.10 22
   ```

   Замените адрес на IP-адрес тестовой ВМ. Если подключение не удается, сначала настройте маршрутизацию или фаервол.
3. Убедитесь, что гостевая ОС разрешает вход по паролю для сохраненного в NexCMP пользователя (в некоторых облачных образах он отключен), либо что на гостевой ОС установлен сервисный ключ панели.

## Подключение в NexCMP {#connect-in-nexcmp}

1. Завершите настройку [AI provider](https://nexcmp.com/ru/docs/ai/ai-providers/): модуль включен, провайдер сохранен, проверка **Test connection** прошла успешно.
2. В панели администратора больше ничего настраивать не нужно. Переключатель модуля активирует отображение пунктов **AI Agent** в клиентском портале.
3. От лица клиента: откройте **AI Agent**, выберите работающий сервер и нажмите **Choose server**. Страница сначала проверит SSH фиксированной безопасной командой (без вызова AI) и отобразит *SSH connected* либо причину ошибки.
4. Введите задачу или выберите быстрый старт (*Check system health*, *Install Docker*, *Install Nginx*, *Find recent errors*, *Security check*, *Free up disk space*).



## Принцип выполнения команд {#how-it-runs-commands}

- **Откуда:** с сервера панели с помощью системного клиента `ssh`, по одной неинтерактивной команде за раз. Целевым адресом всегда является IP-адрес ВМ **из базы данных**, а не из запроса; доступ возможен только к работающей и незаблокированной ВМ самого владельца.
- **Аутентификация:** сохраненный пароль передается через одноразовый вспомогательный процесс `SSH_ASKPASS` в окружении процесса — он не записывается на диск и не передается в командной строке. Ключи хоста не фиксируются (ВМ переустанавливаются с новыми ключами). Вывод каждой команды ограничен 200 KB, а время выполнения ограничено (60 секунд).
- **Цикл Agent:** ИИ предлагает команды и считывает их вывод; один раунд завершается максимум после **10 шагов**.
- **Режимы:**

  | Режим | Поведение |
  |---|---|
  | **Confirm** | Каждая команда ожидает нажатия **Run**. |
  | **Auto** | Автоматически выполняются только команды из строгого разрешающего списка команд только для чтения (например, `df -h`, `ps`, `journalctl`). Все остальные команды, а также все, что парсер не может однозначно проанализировать (переменные, подстановка команд, перенаправление в файлы), ожидает нажатия **Run**. |

- **Метки риска:** для команд, которые перезаписывают или удаляют файлы, записывают данные на диски, изменяют учетные записи или SSH Keys, отправляют данные на внешний сервер, открывают низкоуровневые сетевые соединения, выполняют обфусцированный код, загружают и запускают скрипты, выключают или перезагружают машину либо обращаются к другим серверам, всегда отображается **Needs confirmation**, даже в режиме Auto.
- **Недоверенный вывод:** вывод команд передается модели как ненадежные данные; инструкции внутри него не выполняются.

## Проверка {#verify}

1. Выберите работающую тестовую ВМ. На странице отобразится *SSH connected*.
2. Отправьте запрос «Check CPU, RAM and disk». В режиме Auto команды только для чтения выполнятся автоматически, а в ответе будет представлена их сводка.
3. Отправьте запрос «Install Nginx». Появится команда установки с кнопками **Run** и **Skip**; ничего не будет выполнено, пока вы не нажмете **Run**.
4. Счетчик в верхней части показывает количество обращений к ИИ, использованных за сегодня (например, `3/300`).

## Ограничения и примечания {#limits-notes}

- **Дневной лимит:** 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](https://nexcmp.com/ru/docs/customers/login-as/)).
- **Ответственность:** Agent может ошибаться. Портал предупреждает клиентов о необходимости проверять команды перед выполнением. Укажите в своих условиях обслуживания, что клиенты несут ответственность за одобряемые ими команды.
- Отключение модуля ИИ удаляет пункты Agent, а маршруты возвращают 404 `module_disabled`.

## Устранение неполадок {#troubleshooting}

| Симптом | Причина | Решение |
|---|---|---|
| "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**. |


