Свой ИИ-агент на сервере: пошаговое руководство от экономики до настройки памяти
Идея делегировать рутину ИИ вышла за рамки общения с чат-ботами. Сегодня создают автономных ИИ-агентов, способных писать код, анализировать файлы и выполнять команды на сервере. Однако возникают вопросы: как сделать его выгодным, где запустить процесс и как настроить его память.
Ниже представлено руководство по развертыванию персонального ИИ-ассистента на удаленном сервере. Вы узнаете, почему подписка выгоднее использования API, как организовать память ИИ в Obsidian и как безопасно управлять сервером через Telegram.
Экономика агентов: почему подписка выгоднее API
Первый вопрос при создании ИИ-ассистента — выбор модели оплаты. Существует два пути: оплата за фактическое использование ресурсов через API (Application Programming Interface — программный интерфейс для взаимодействия с моделью) или фиксированная подписка.
Работа через API для автономных агентов быстро становится разорительной. Агенты работают циклически: решая задачу, они совершают множество последовательных запросов к нейросети, каждый раз передавая историю переписки и контекст файлов. Например, первоначальная настройка ИИ-бота через API Claude от компании Anthropic может обойтись в 900 рублей всего за три простых действия. При активной работе счет за API-токены (минимальные единицы текста, обрабатываемые моделью) может составить до $2 500 в месяц.
Альтернатива — использование официальных интерфейсов командной строки, работающих по подписке (около $20 в месяц). Разработчики ведущих моделей, такие как OpenAI (ChatGPT) и Anthropic (Claude), субсидируют подписочные лимиты для популяризации решений. Использование Claude Code или Codex CLI в рамках подписки позволяет совершать тысячи запросов с предсказуемым бюджетом. Для первого знакомства подходит бесплатный режим Gemini (Antigravity), позволяющий протестировать базовые возможности без затрат, пусть и с более жесткими ограничениями по частоте запросов.
Где «поселить» ассистента: локальный ПК против облачного сервера
ИИ-агент должен где-то исполняться. Запуск на локальном компьютере имеет минусы: устройство должно быть постоянно включено, подключено к сети и обладать высокой производительностью. Если ваш ноутбук уйдет в спящий режим, агент станет недоступен.
Оптимальное решение — разместить ассистента на удаленном облачном сервере VPS (Virtual Private Server — виртуальный выделенный сервер), работающем круглосуточно. При выборе сервера критически важна его локация:
- Зарубежный сервер (США): не требует VPN для доступа к OpenAI или Anthropic, исключая риски блокировок. Однако здесь запрещено обрабатывать персональные данные клиентов или подключать CRM-системы, чтобы не нарушать закон. Подходит только для личных задач.
- Российский сервер: необходим для работы с конфиденциальными отечественными данными. В этом случае придется настроить VPN-клиент на сервере для обхода блокировок ИИ-провайдера.
Установка и настройка CLI
Для работы необходимо подключить сервер к ИИ-модели через CLI (Command Line Interface — интерфейс командной строки, программа для управления текстовыми командами).
Требования
Перед установкой убедитесь, что ваш сервер соответствует требованиям:
- Linux-сервер с SSH-доступом;
- Отдельный пользователь (запуск от
rootзапрещен); - Node.js и менеджер пакетов npm.
Установка Claude Code
Официальное руководство по началу работы с Claude Code рекомендует следующий порядок действий:
- Подключитесь по SSH.
- Выполните команду для установки:
curl -fsSL https://claude.ai/install.sh | bash - Запустите интерфейс агента командой
claudeи авторизуйтесь по ссылке на экране. Описание всех флагов запуска доступно в официальном справочнике CLI Claude Code.
Установка Codex CLI
Согласно официальной документации Codex CLI и описанию в репозитории на GitHub, установка выполняется так:
- В терминале выполните:
Или установите глобально через npm:
curl -fsSL https://chatgpt.com/codex/install.sh | shnpm install -g @openai/codex - Авторизуйтесь командой
codex loginи введите ваш API-токен или подтвердите вход через браузер. - Проверьте работоспособность тестовым запросом
codex "Привет, напиши тестовый файл".
Архитектура памяти: Obsidian как внешняя база знаний
Стандартные ИИ «забывают» детали прошлых сессий при каждом новом запуске. Чтобы решить это, необходимо настроить систему памяти.
- Оперативная память: агент записывает сообщения в локальный файл в формате Markdown. Это необходимо, так как протокол мессенджеров передает агенту только последнее сообщение.
- Долгосрочная память: файл
Memory.mdв корневой папке. Сюда агент записывает ключевые правила: особенности стиля, частые сценарии работы и важные факты. - Внешняя библиотека знаний (Obsidian): Obsidian — это программа для работы с базами знаний, которая хранит заметки в виде папки с Markdown-файлами на диске. Более подробно о хранении файлов можно прочитать в официальной справке Obsidian.
Агент работает напрямую с файлами в папке Obsidian на сервере. Синхронизировать эти файлы с телефоном или компьютером можно с помощью механизмов, описанных в руководстве по синхронизации Obsidian (например, через Obsidian Sync или Git).
!IMPORTANT Никогда не создавайте базу знаний (vault) внутри другой базы знаний Obsidian. Это приводит к конфликтам путей, циклическому сканированию файлов и ломает систему внутренних ссылок.
Интерфейс связи: подключаем Telegram-мост
Постоянно подключаться к серверу по SSH неудобно. Чтобы сделать управление комфортным, необходимо настроить мост между сервером и Telegram.
Шаг 1. Создание бота
- Найдите в Telegram бота
@BotFather. - Отправьте команду
/newbot, задайте имя бота и его уникальный адрес (username). - Скопируйте полученный API-токен бота. Держите его в секрете! Любой, кто завладеет им, сможет отправлять команды вашему серверному агенту.
Шаг 2. Выбор схемы работы
Согласно спецификации Telegram Bot API, есть два способа получения сообщений:
- Webhooks (вебхуки): Telegram отправляет сообщения на ваш сервер по HTTPS. Требует домена и SSL-сертификата.
- Long Polling (длинные опросы): скрипт регулярно опрашивает Telegram методом
getUpdates. Это простой вариант, работающий без настройки веб-сервера.
Шаг 3. Безопасность доступа
Настройте скрипт моста так, чтобы он жестко проверял уникальный идентификатор пользователя (chat_id). Бот должен реагировать только на сообщения с вашего личного аккаунта Telegram и игнорировать запросы от посторонних.
Безопасность и управление доступом: настройка границ
Давать ИИ-агенту неограниченный доступ к консоли сервера небезопасно. Необходимо разграничить уровни прав в конфигурационном файле ассистента:
- Разрешено автоматически: чтение рабочих заметок, поиск информации по базе Obsidian, форматирование Markdown-файлов.
- Требует подтверждения: запись в файл долгосрочной памяти (
Memory.md), запуск скриптов, выполнение команд в терминале. - Запрещено: удаление системных каталогов, изменение настроек безопасности, доступ к персональным данным клиентов во внешних базах данных, публикация постов без модерации.
Для дополнительной безопасности рекомендуется настроить многоагентный контроль: отдельный скрипт-сторож проверяет все генерируемые агентом команды перед их отправкой в bash-терминал сервера.
Пошаговый чек-лист сборки и проверки системы
Чтобы убедиться, что ваша система настроена верно, пройдите по следующим шагам:
- Подготовка окружения: VPS-сервер с Linux, не-привилегированный пользователь, SSH-доступ по ключам.
- Установка CLI: Установлен Claude Code или Codex CLI. Выполнен вход в учетную запись.
- Проверка работы: В терминале выполнена команда
claude "создай файл test.txt". Файл успешно создался. - Настройка папок: Создан каталог для Obsidian, в корне созданы пустой файл
Memory.mdи файл сессии. - Регистрация бота: В Telegram получен токен бота от
@BotFather. - Настройка моста: Запущен скрипт моста на сервере с указанием вашего личного
chat_id. - Тестирование связи: Отправлено сообщение в чат с ботом. Агент прислал корректный ответ обратно в Telegram.
- Тестирование безопасности: Отправлена попытка прочесть файлы вне рабочей папки. Система контроля заблокировала запрос.
После прохождения чек-листа вы получите надежного, автономного ИИ-помощника, который будет доступен с любого устройства в любое время суток, сохраняя при этом конфиденциальность данных и предсказуемость бюджета.

