Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

ChatGPT умеет отвечать на вопросы, а ИИ-агенты — самостоятельно выполнять задачи. В этой статье разберём, как развернуть OpenManus на VPS и превратить его в помощника, который ищет информацию, работает с сайтами и готовит отчёты.

Скорее всего, вы уже пользуетесь ChatGPT или Claude. Например, просите их объяснить сложную тему, написать письмо, придумать план поездки или подготовить презентацию. Но почти всегда всё происходит по одному сценарию: вы задаёте вопрос, получаете ответ, затем задаёте следующий.

Теперь появился следующий этап развития ИИ — агенты. Это уже не просто собеседники, а полноценные помощники, которые могут сами разбить задачу на шаги, воспользоваться нужными сервисами и довести работу до результата практически без участия человека. Один из самых интересных проектов в этом направлении — OpenManus.

В зависимости от подключённых инструментов агент может:

  • искать информацию в интернете;
  • анализировать документы и большие объёмы данных;
  • писать статьи, инструкции и отчёты;
  • генерировать программный код;
  • запускать программы;
  • работать с файлами и папками;
  • строить графики и диаграммы;
  • автоматизировать повторяющиеся действия;
  • и много чего ещё.

Фактически, такой ИИ-агент — это универсальный помощник, способный выполнять длинные цепочки действий почти без участия пользователя. Он подходит как для подготовки технической документации или анализа журналов событий, так и для презентаций, исследований рынка и автоматизации офисной работы.

Зачем запускать OpenManus на VPS

Технически агент OpenManus можно запустить на обычном домашнем компьютере, однако для постоянной работы удобнее использовать виртуальный сервер (VPS). Такой подход даёт несколько преимуществ:

  • Круглосуточная работа. Агент продолжает выполнять задачи, даже если ваш ПК или ноутбук выключен.
  • Постоянный доступ к интернету. Сервер может непрерывно искать информацию, обращаться к API и выполнять другие сетевые операции.
  • Доступ из любой точки мира. Подключиться к агенту можно через SSH или веб-интерфейс практически с любого устройства.
  • Выполнение длительных задач. Если анализ данных или подготовка отчёта займут несколько часов, процесс не прервётся из-за выключенного домашнего компьютера.
  • Автоматический запуск после перезагрузки. OpenManus можно настроить как системную службу, чтобы после перезапуска сервера агент автоматически возобновлял работу без участия пользователя.

Необходимо отметить, что OpenManus сам по себе бесплатный и открытый, но для работы ему нужен доступ к языковой модели, например, Anthropic (Claude). API Claude тарифицируется по потреблению, при этом Anthropic использует систему предоплаченных кредитов, когда вы сначала пополняете баланс, а затем OpenManus расходует эти средства по мере работы. Пополнить баланс можно, зарегистрировавшись на сайте Claude, минимально возможная сумма составляет 5 долларов США.

Поскольку для связи агента с моделью используется API, после регистрации на сайте необходимо создать API-ключ во вкладке API keys.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

Для создания нового API-ключа придумываем ему название и указываем срок его действия.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

Копируем полученный ключ в укромное место.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

Запускаем OpenManus на VPS

Теперь переходим непосредственно к созданию виртуального сервера. Для этого регистрируемся/авторизуемся на сайте хостинга RUVDS и кликаем «Заказать». Дата-центр лучше выбирать зарубежный во избежание возможных блокировок со стороны компании Anthropic. Для комфортной работы рекомендуем заказать четырёхядерный процессор (CPU) и 4 ГБ оперативной памяти (RAM). А вот на жёстком диске можно сэкономить, поскольку агент много места не займёт. В качестве операционной системы выбираем Ubuntu 24.04 LTS.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

Затем активируем флажки согласия с условиями публичной оферты и согласия на обработку персональных данных, после чего кликаем «Оплатить». На следующем шаге оплачиваем заказ наиболее удобным способом и ждём несколько минут, пока на сервер устанавливается операционная система.

После того как новый сервер будет готов, на его страничке станут доступны данные для подключения, а именно, IP-адрес и пароль администратора, который называется root.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

Чтобы подключиться, запускаем командную строку в Windows или терминал в macOS. Команда для подключения при помощи протокола SSH выглядит так:

ssh root@x.x.x.x

Здесь:

  • root – это имя подключаемого пользователя;
  • x.x.x.x — IP-адрес сервера, вместо которого нужно подставить свой.

При первом подключении по SSH наш компьютер предупреждает о том, что ещё «не знаком» с новым сервером, и показывает его цифровой отпечаток. Но поскольку мы уверены, что подключаемся к правильному серверу, то подтверждаем соединение, для чего вводим после вопросительного знака слово yes. Потом набираем пароль, нажимаем Enter и, если в конце видим символ #, значит, соединение установлено.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

Подключившись, создаём нового пользователя, например, под именем your-user:

adduser your-user

Новый пользователь нужен, чтобы не работать под учёткой суперпользователя. Поэтому следующей командой даём новому пользователю полномочия администратора:

usermod -aG sudo your-user

После чего подключаемся уже под новой учёткой:

su - your-user

Для установки OpenManus разработчики рекомендуют использовать uv — «многофункциональный швейцарский нож» или, формально говоря, менеджер Python-проектов. Главная особенность uv — очень высокая скорость работы. Сначала загружаем и запускаем на выполнение установочный скрипт для uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Следующей командой даём серверу понять, что при наборе команды uv нужно запускать недавно установленную программу:

source $HOME/.local/bin/env

Чтобы загрузить на сервер дистрибутив OpenManus, будем использовать Git — инструмент, который умеет скачивать и обновлять проекты с использованием таких сайтов, как GitHub. Изначально в системе он не установлен, поэтому инсталлируем Git:

sudo apt install -y git

Затем скачивает на сервер проект OpenManus с сайта GitHub. В данном случае загружаем не самую «свежую», а конкретную стабильную версию под номером v0.3.0 — это поможет избежать конфликтов, которые могут возникнуть при использовании более новой версии:

git clone --branch v0.3.0 --depth 1 https://github.com/FoundationAgents/OpenManus.git

После выполнения этой команды появится папка OpenManus со всеми файлами программы, готовыми к дальнейшей настройке. Переходим в созданный каталог:

cd OpenManus/

Здесь делаем отдельную изолированную «песочницу», которая называется «виртуальное окружение». Наша «песочница» должна использовать Python с номером версии 3.12, поскольку обязательно нужна подходящая для неё версия:

uv venv --python 3.12

«Заходим» в созданную «песочницу»:

source .venv/bin/activate

Обычно после этой команды в начале строки терминала появляется пометка (.venv) — это визуальный сигнал, что мы «внутри песочницы».

После чего устанавливаем все вспомогательные компоненты, которые нужны OpenManus для работы:

uv pip install -r requirements.txt

На следующем шаге устанавливаем Playwright — инструмент, который умеет управлять настоящим веб-браузером «изнутри» программы, без участия человека. Он будет заходить на сайты, кликать по ссылкам и читать текст со страниц. Он нужен агенту, чтобы OpenManus мог сам искать информацию в интернете и работать с сайтами. Первая команда скачивает сам браузер, обычно это Chromium — открытая версия Google Chrome, который Playwright будет запускать «за кулисами». Сам Playwright уже установлен, поскольку его мы проинсталлировали как одну из «комплектующих» на предыдущем шаге, но ему нужен ещё и реальный браузер. Браузеру, тому самому Chromium, для работы нужны определённые системные компоненты. На обычном компьютере с монитором и рабочим столом эти компоненты уже есть по умолчанию. А вот на «голом» сервере без графического интерфейса, как наш VPS, их нет, так как сервер не предназначен для того, чтобы на нём кто-то смотрел на экран. Вторая команда доустанавливает именно эти недостающие системные компоненты, чтобы скачанный браузер вообще мог запуститься на сервере. Запускаем эти две команды по очереди:

playwright install
playwright install-deps

Когда установка завершится, необходимо создать файл настроек OpenManus, используя шаблон, который разработчики включили в проект как готовый пример правильной структуры настроек:

cp config/config.example.toml config/config.toml

Затем открываем файл для редактирования:

nano config/config.toml

В файле приводим секцию llm к следующему виду:

[llm] model = "claude-sonnet-4-6" base_url = "https://api.anthropic.com/v1/" api_key = "sk-...12js" max_tokens = 8192 temperature = 0.0

Мы будем использовать ИИ-модель claude-sonnet-4-6, о чём и указываем в параметре model. А вот в параметр api_key вставляем API-ключ, полученный на сайте Anthropic.

Сохраняем изменения в файле (Ctrl O), закрываем его (Ctrl X) и выполняем первый пробный запуск:

python main.py

При запуске программа загружает все нужные компоненты, считывает из файла настроек, какую нужно использовать модель ИИ, какой у нас API-ключ и все остальные установки. После чего появляется приглашение, которое означает — агент готов и ждёт, когда мы напишем, что нужно сделать.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

После того как мы вводим задачу, начинается собственно «работа мышления»: программа запускает цикл, который состоит из нескольких (максимум 20) шагов. На каждом шаге происходит следующее: текст задачи отправляется в Anthropic — туда, где физически работает сама ИИ-модель. Модель «размышляет» и решает, нужно ли для следующего шага использовать какой-то инструмент или задача уже, может быть, выполнена. Если нужен какой-либо инструмент, OpenManus запускает его у себя на сервере, и результат снова отправляет модели, чтобы она увидела, что получилось. Так повторяется, пока задача не будет решена, или не закончатся 20 попыток.

Например, предложим агенту решить такую задачу:

Найди рецепт плова на 4 порции и сохрани его в файл.

В результате работы агента, ход выполнения которой мы можем наблюдать на экране, он действительно создаст файл, где будут собраны результаты работы. Чтобы найти файл, нужно изучить последние строки вывода. В нашем примере агент сохранил решение задачи в:

/home/your-user/OpenManus/workspace/plov_recipe.md

Разумеется, подобные агенты используют не только для поиска рецептов. Например, OpenManus можно поручить собрать информацию по заданной теме из нескольких источников, подготовить краткий обзор новостей, сравнить предложения разных поставщиков, проанализировать отзывы о товаре или услуге и сохранить результат в виде готового отчёта. Чем сложнее задача и чем больше последовательных действий требуется выполнить, тем заметнее преимущество агентного подхода перед обычным чатом.

Управляем OpenManus через Telegram

Всё круто, но не очень удобно.

Было бы лучше для общения с агентом использовать не командную строку и терминал, а какой-то более привычный визуальный инструмент, например, Telegram.

Для этого нужно создать Telegram-бота. Чтобы создать нового бота, открываем Telegram и находим там бот, который умеет создавать новых ботов — BotFaher. Ему отправляем сообщение /newbot, после чего вводим название для нового бота. Затем BotFather попросит придумать имя пользователя для нового бота, которое должно заканчиваться на bot, например, yourOpenManusBot. Если придуманное имя окажется уникальным, как того требует BotFather, он выведет сообщение, где указан токен, который нужно сохранить в надёжном месте.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

Там же в Telegram нужно поиском найти бота @userinfobot. Он пришлёт числовой Id нашего пользователя, чтобы именно нашей учётке ИИ-агент отправлял свои сообщения. Для этого кликаем на кнопку User, выбираем своего пользователя и сохраняем полученный Id в сторонку.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

Затем возвращаемся в терминал нашего сервера и устанавливаем библиотеку aiogram — готовый набор кода, написанный специально для создания ботов в Telegram:

uv pip install aiogram

Далее создаём скрипт самого бота:

nano ~/OpenManus/telegram_bot.py

Именно с его помощью мы превратим агент OpenManus в настоящий бот. Следующая огромная команда вставляет в скрипт текст, в котором обязательно указываем сохранённый ранее токен бота в качестве значения параметра BOT_TOKEN, а также Id — в качестве значения параметра ALLOWED_USER_IDS. Также обратите внимание на имя пользователя, в домашней папке которого находится рабочая директория. Вместо your-user указываем название актуальной учётки.

cat > ~/OpenManus/telegram_bot.py << 'PYEOF' import asyncio import logging from pathlib import Path from aiogram import Bot, Dispatcher, types from aiogram.filters import Command from aiogram.types import FSInputFile from app.agent.manus import Manus logging.basicConfig(level=logging.INFO) BOT_TOKEN = "865……………………oOU" ALLOWED_USER_IDS = [52……………] # ваш Telegram user_id, выданный через @userinfobot WORKSPACE_DIR = Path("/home/your-user/OpenManus/workspace") bot = Bot(token=BOT_TOKEN) dp = Dispatcher() @dp.message(Command("start")) async def cmd_start(message: types.Message): await message.answer("Привет! Я OpenManus-агент. Напиши задачу — я её выполню.") @dp.message() async def handle_message(message: types.Message): if message.from_user.id not in ALLOWED_USER_IDS: await message.answer("Доступ запрещён.") return await message.answer("🔄 Обрабатываю запрос...") # Запоминаем, какие файлы были ДО запуска агента files_before = set(WORKSPACE_DIR.glob("*")) if WORKSPACE_DIR.exists() else set() try: agent = Manus() result = await agent.run(message.text) text = str(result) for i in range(0, len(text), 4000): await message.answer(text[i:i+4000]) # Проверяем, появились ли НОВЫЕ файлы files_after = set(WORKSPACE_DIR.glob("*")) if WORKSPACE_DIR.exists() else set() new_files = files_after - files_before for file_path in new_files: if file_path.is_file(): await message.answer_document(FSInputFile(file_path)) except Exception as e: await message.answer(f"⚠️ Ошибка: {e}") async def main(): await dp.start_polling(bot) if __name__ == "__main__": asyncio.run(main()) PYEOF

Теперь необходимо сделать так, чтобы скрипт работал постоянно, и не нужно было запускать его вручную при помощи команды. Для этого следует добавить в систему новую службу, которая будет запускать скрипт при старте сервера. Чтобы это сделать, создаём для новой службы юнит-файл — файл конфигурации, который будет использоваться системой для управления службой:

sudo nano /etc/systemd/system/openmanus-telegram.service

В файл вставляем следующие строки, где также меняем your-user на имя своего пользователя:

[Unit] Description=OpenManus Telegram Bot After=network.target [Service] Type=simple User=your-user WorkingDirectory=/home/your-user/OpenManus ExecStart=/home/your-user/OpenManus/.venv/bin/python telegram_bot.py Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target

Сохраняем внесённые в файл изменения (Ctrl O), закрываем его (Ctrl X) и выполняем следующие команды для создания и запуска службы:

sudo systemctl daemon-reload
sudo systemctl enable --now openmanus-telegram

После чего переходим в Telegram, открываем чат со своим ботом и жмём СТАРТ.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

Если бот ответил, отправляем ему задачу, например, такую:

Найди рецепт плова на 4 порции и сохрани его в файл. Полученный файл выложи в этот чат.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

И теперь ждём, когда агент при помощи бота решит поставленную задачу.

Собственный ИИ-агент вместо ChatGPT: запускаем OpenManus на VPS

Имейте в виду, что каждое действие агента будет расходовать средства с баланса, поэтому сложность и количество поставленных агенту задач должно соотноситься с объёмом средств на счету.

В итоге мы получили собственного ИИ-агента, который работает на VPS круглосуточно, не зависит от домашнего компьютера и умеет выполнять задачи через привычный интерфейс Telegram.

💻 Недорогие VPS в российских и зарубежных дата-центрах заказывайте на сайте RUVDS. Первые 3 дня пользуйтесь VPS бесплатно!

33
22