Свой AI-агент на VPS за 3 шага: установка Claude Code и управление через Telegram
AI-агент на виртуальном сервере позволяет выполнять задачи удалённо: работать с файлами, запускать команды, проверять состояние системы, взаимодействовать с API и поддерживать проекты. При этом управлять им можно не только из терминала, но и через Telegram - с телефона, ноутбука или другого устройства.
Для запуска понадобятся три компонента:
1. VPS с доступом по SSH.
2. Claude Code, установленный на сервере.
3. Telegram-бот, через которого агент будет получать команды.
После настройки сервер сможет работать круглосуточно, а доступ к нему сохранится из любой точки мира.
Шаг 1. Арендуйте VPS
VPS - это виртуальный сервер в облаке. Для начала достаточно небольшой конфигурации:
- 2 виртуальных процессора;
- от 2-4 ГБ оперативной памяти;
- 20-40 ГБ SSD;
- операционная система Linux, например Ubuntu 22.04 или Ubuntu 24.04.
При выборе дата-центра можно рассмотреть европейские площадки - Германию, Финляндию или Нидерланды. Важно учитывать задержку соединения, стабильность провайдера и наличие резервного копирования.
После оплаты вы получите IP-адрес, имя пользователя и пароль либо SSH-ключ. Подключение выполняется командой:
```bash
ssh root@IP_СЕРВЕРА
```
Для Windows подойдут PowerShell или Windows Terminal, а в Linux и macOS команда выполняется непосредственно в терминале.
Шаг 2. Установите Claude Code
На сервере потребуется подготовить окружение. Установщик может автоматически выполнить основные операции:
- создать отдельного пользователя `edgelab`;
- установить Node.js 22, Python 3.12 и необходимые системные пакеты;
- установить Claude Code официальным способом;
- загрузить Telegram Gateway;
- создать шаблон конфигурации;
- включить межсетевой экран UFW;
- настроить fail2ban для защиты от перебора паролей;
- создать systemd-сервис для автоматического запуска.
Использование отдельного пользователя обязательно: Claude Code не следует запускать под `root`. Это снижает риск повреждения системы и ограничивает последствия случайной ошибочной команды.
После завершения установки понадобится авторизовать Claude Code. В терминале появится ссылка. Откройте её в браузере с того же IP-адреса, с которого регистрировалась учётная запись, затем введите код подтверждения. После этого Claude Code получит доступ к вашей подписке.
Если авторизация не проходит, проверьте:
- не используется ли VPN;
- совпадает ли внешний IP-адрес;
- корректно ли установлены дата и время на сервере;
- не истёк ли срок действия кода;
- не заблокирован ли доступ к сервису провайдером.
Первый тест агента
После входа полезно проверить, действительно ли Claude Code видит сервер и может выполнять команды. Например, можно дать ему такое задание:
```text
Покажи системную информацию:
1. ОС и версию ядра.
2. Количество RAM и CPU.
3. Hostname и внешний IP-адрес.
4. Создай файл ~/test-agent.md с текстом "Агент работает".
Если всё выполнено успешно, подтверди результат в двух предложениях.
```
Агент должен вывести параметры системы и создать файл в домашнем каталоге. Такой тест одновременно проверяет доступ к терминалу, работу с файловой системой и способность выполнять последовательность действий по текстовой инструкции.
Шаг 3. Подключите Telegram
Telegram в этой схеме выступает пультом управления. Вы отправляете сообщение боту, а агент выполняет задачу на VPS и возвращает результат.
Сначала создайте бота:
1. Откройте в Telegram аккаунт `@BotFather`.
2. Отправьте команду `/newbot`.
3. Укажите отображаемое имя и уникальный username.
4. Скопируйте выданный токен - длинную строку с двоеточием.
Затем узнайте собственный числовой Telegram ID. Для этого можно воспользоваться ботом, который показывает идентификатор пользователя, например `@userinfobot`. Полученное число понадобится для ограничения доступа.
Токен нельзя публиковать, отправлять посторонним или хранить в открытых файлах. Получив его, злоумышленник сможет управлять ботом от вашего имени.
Настройка Telegram Gateway
Claude Code уже установлен на сервере, поэтому для подключения шлюза потребуется передать ему токен бота и ваш Telegram ID. Команда может выглядеть так:
```text
Настрой Telegram Gateway.
Токен бота: ВСТАВЬ_ТОКЕН
Мой Telegram ID: ВСТАВЬ_ID
Проверь токен через Telegram API, настрой конфигурацию, удали конфликтующий webhook, запусти сервис и покажи его статус.
```
Значение `ВСТАВЬ_ТОКЕН` замените на настоящий токен от `@BotFather`, а `ВСТАВЬ_ID` - на числовой идентификатор пользователя.
После получения команды Claude Code обычно выполняет несколько действий:
- записывает токен в конфигурационный файл;
- проверяет соединение с Telegram API;
- задаёт разрешённого пользователя;
- удаляет старый webhook, если он мешает работе;
- запускает Gateway;
- проверяет состояние systemd-сервиса;
- выводит журнал при возникновении ошибки.
Когда настройка завершена, отправьте боту первое сообщение. Например:
```text
Покажи свободное место на диске и загрузку процессора.
```
Если всё сделано правильно, агент вернёт ответ в Telegram.
Как безопасно пользоваться агентом
Не стоит сразу выдавать агенту неограниченные права. Лучше начать с задач, связанных с мониторингом, чтением файлов и запуском заранее понятных команд. Опасные операции - удаление каталогов, изменение сетевых правил, установку неизвестных программ - следует подтверждать вручную.
Обязательно ограничьте доступ по Telegram ID. Проверки только по username недостаточно: имя пользователя может измениться, а некоторые сценарии идентификации работают нестабильно.
Также рекомендуется:
- отключить вход по паролю для SSH;
- использовать авторизацию по ключу;
- запретить вход `root` по SSH;
- регулярно обновлять систему;
- хранить секреты в защищённых переменных или отдельных файлах;
- настроить резервное копирование важных данных;
- контролировать журналы systemd и попытки входа.
Автозапуск и проверка состояния
Systemd-сервис нужен для того, чтобы Telegram Gateway запускался после перезагрузки VPS. Проверить его состояние можно командами:
```bash
systemctl status telegram-gateway
```
Для просмотра последних событий:
```bash
journalctl -u telegram-gateway -n 50 --no-pager
```
Если сервис не запустился, журнал обычно показывает причину: ошибку в токене, неправильный путь к файлу, отсутствие разрешений или конфликт webhook.
Проверить доступность системы также можно через:
```bash
df -h
free -m
uptime
```
Эти команды показывают дисковое пространство, использование памяти и продолжительность работы сервера.
Расширение возможностей агента
После базовой установки можно создать файл `CLAUDE.md`. В нём удобно хранить правила работы, описание проекта, структуру каталогов, список допустимых команд и важные ограничения. Такой файл помогает агенту сохранять контекст между задачами.
В дальнейшем к системе можно добавить:
- навыки для работы с Git;
- автоматическое резервное копирование;
- мониторинг диска и памяти;
- обработку заявок;
- уведомления о сбоях;
- работу с базами данных;
- запуск скриптов по расписанию;
- интеграции с внешними API;
- подготовку отчётов и файлов.
При этом каждую новую функцию лучше добавлять поэтапно и тестировать отдельно. Чем больше полномочий получает агент, тем важнее разграничение доступа и резервное копирование.
В результате получается собственный AI-агент в облаке: VPS обеспечивает постоянную работу, Claude Code отвечает за выполнение задач, а Telegram становится удобным интерфейсом управления. После первоначальной настройки агент доступен круглосуточно, а большинство операций можно запускать обычным текстовым сообщением с телефона.


