SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-08-28

Как создать своего AI-агента в стиле OpenClaw

Узнайте, как спроектировать персонального AI-агента для выполнения shell-команд на сервере. Разбираем архитектуру OpenClaw и методы защиты от уязвимости CVE-2026-32922.

Что такое OpenClaw на самом деле

OpenClaw — это персональный AI-агент с возможностью self-hosted размещения. Вы запускаете его на собственном сервере, подключаете к используемым мессенджерам, после чего он может выполнять shell-команды, управлять браузером, читать и записывать файлы, а также реагировать на отправленные вами сообщения. Проект распространяется по лицензии MIT, ориентирован на локальное использование и по состоянию на середину 2026 года имеет более 380,000 звезд на GitHub, что делает его одним из самых популярных проектов на платформе. По сути, это небольшой набор компонентов, логично связанных между собой. В этой статье мы разберем эти компоненты, чтобы вы поняли, как устроены подобные инструменты и где скрыты основные риски.

Сразу предупредим о важном аспекте, который определяет все приведенные ниже проектные решения. В марте 2026 года в OpenClaw было обнаружено девять уязвимостей за четыре дня, включая критическую ошибку повышения привилегий с оценкой 9.9 из 10 (CVE-2026-32922). Проект спроектирован так, чтобы вы, как оператор, самостоятельно занимались его укреплением. Агент, способный выполнять любые команды, безопасен ровно настолько, насколько безопасен сервер, на котором он запущен, и ограничения, которые вы для него установили. Помните об этом при чтении.

Шлюзовой демон: один процесс, работающий в закрытом режиме

В центре системы находится единственный постоянно запущенный процесс, который обычно называют шлюзом (gateway). Это плоскость управления. Он принимает сообщения, определяет порядок действий, запускает инструменты и отправляет ответы обратно. Все остальные компоненты подключаются к нему.

Самый важный факт о шлюзе — это адрес, на котором он ожидает соединений. По умолчанию OpenClaw привязывает его к адресу обратной петли (loopback), 127.0.0.1, поэтому он недоступен из Интернета, если вы специально не настроили его открытие. Оставьте эту настройку как есть. Это единственный процесс, который постоянно выполняет команды, поэтому открытый шлюз предоставляет любому, кто его обнаружит, возможность удаленного доступа к вашему серверу. Если вам нужно подключиться к нему со своего ноутбука, используйте VPN или SSH-туннель вместо открытия порта. Никто не сможет атаковать порт, к которому нет доступа.

Канальные коннекторы: получение сообщений и отправка ответов

Персональный агент полезен только в том случае, если вы можете взаимодействовать с ним из приложений, которыми уже пользуетесь. Именно для этого предназначены канальные коннекторы. Каждый из них взаимодействует с одной платформой, такой как Telegram, WhatsApp, Slack или Discord, используя Bot API или вебхуки этой платформы.

Принцип работы для всех них одинаков. Коннектор регистрирует бота на платформе, получает входящее сообщение (путем опроса платформы или через вебхук, который платформа отправляет на коннектор), передает это сообщение шлюзу и отправляет ответ шлюза обратно через тот же API. Коннектор представляет собой тонкий слой трансляции. Он преобразует событие «пришло сообщение из Telegram» в формат «вот текст для агента» и выполняет обратное преобразование. Создание собственного коннектора в основном сводится к изучению документации по ботам конкретной платформы и приведению формата её сообщений к формату шлюза.

Интеллектуальное ядро и цикл инструментов

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

Поступает сообщение. Шлюз отправляет его языковой модели вместе со списком инструментов, которые модели разрешено использовать. Модель анализирует сообщение и принимает решение: ответить напрямую или вызвать инструмент. Если модель вызывает инструмент, шлюз запускает его, получает результат и возвращает его модели. Модель изучает результат и снова принимает решение. Этот процесс повторяется до тех пор, пока у модели не останется задач и она не сформирует итоговый ответ.

Этот цикл — основа концепции агента; он работает одинаково, независимо от того, находится ли агент в чат-приложении или в терминале. Чтобы узнать, как инструменты подключаются к этому циклу стандартным способом, рекомендуем ознакомиться с разделом подключение инструментов через Model Context Protocol, а для понимания работы модели — с разделом запуск модели на собственном оборудовании, который дополняет общую картину.

Набор инструментов — это суть и источник опасности

Инструменты делают OpenClaw мощным решением. Инструмент для выполнения shell-команд, инструмент для управления браузером, инструмент для чтения и записи файлов. Предоставьте циклу выше доступ к ним, и он сможет выполнить почти всё, что делаете вы за клавиатурой. Этот охват возможностей — весь продукт целиком, и в то же время — весь риск.

Агент, способный выполнить любую команду по инструкции из чат-приложения, представляет собой обширную поверхность атаки. Вредоносная инструкция, атака через prompt-injection, скрытая на веб-странице, которую посещает инструмент браузера, или ошибка вроде уязвимостей марта 2026 года могут превратить запрос «прочитай мой календарь» в «удали мои файлы». Поэтому ограничения — это не дополнительные опции. Запускайте агента от имени выделенного непривилегированного пользователя без прав sudo, чтобы взлом не привёл к повышению привилегий. Ограничивайте опасные инструменты этапом подтверждения, чтобы агент запрашивал разрешение перед выполнением деструктивных действий. Используйте песочницу для выполнения инструментов, чтобы изолировать вышедшую из-под контроля команду. Изолируйте API-ключ модели, чтобы его утечка не передала злоумышленнику доступ к вашей учётной записи. Подумайте и о других секретах, хранящихся на том же сервере, поскольку реальные слабые места Vaultwarden — это его токен администратора и файл резервной копии, а не само шифрование, и агент с доступом к shell может добраться до обоих.

Прежде чем открывать доступ к чему-либо, что выполняет shell-команды, тщательно проработайте основы. Составьте контрольный список для своего сервера здесь, а затем следуйте ему от начала до конца:

ToolVPS hardening checklist

Вопрос работы от имени непривилегированного пользователя подробно разобран в запуске сервисов от имени непривилегированного пользователя, а полное руководство по безопасной настройке для реального проекта находится в безопасном запуске OpenClaw на VPS.

Память в виде обычных файлов

Большинство пользователей ожидают, что память агента хранится в базе данных. В OpenClaw это не так. Она хранит память в виде обычных Markdown-файлов на диске, и этот подход стоит перенять.

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

Навыки: переносимый способ добавления возможностей

Помимо встроенных инструментов, OpenClaw использует переносимый формат навыков, позволяющий сообществу расширять функциональность без изменения ядра. Навык — это автономный набор инструкций и, в некоторых случаях, кода, который обучает агента новой задаче. Агент загружает навык, когда возникает необходимость в выполнении соответствующей задачи. Поиск в Интернете — это обычно первый навык, который добавляют пользователи, и настройка этого навыка на ваш собственный экземпляр SearXNG позволяет исключить использование коммерческих API для поисковых запросов, при этом четко определяя границы доверия к навыку, так как все возвращаемые им данные являются текстом, написанным сторонним автором.

Ценность такого формата заключается в возможности обмена навыками. Кто-то пишет навык для конкретной задачи, публикует его, а другие пользователи просто добавляют его в свою систему. Это удобство имеет и обратную сторону: навык представляет собой код от незнакомого человека, который ваш агент выполнит без колебаний. Поэтому стоит пропускать любой код, написанный не вами, через собственный сканер безопасности, прежде чем загружать его. Если вы создаете собственного агента, определение небольшого и понятного формата расширений на раннем этапе избавит вас от необходимости жестко прописывать каждую возможность в ядре в будущем.

Использование собственной модели

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

Это разделение важно для контроля расходов, конфиденциальности и управления. Использование внешнего API предоставляет доступ к наиболее мощным моделям без необходимости обслуживать оборудование, при этом оплата производится за каждый токен, а ваши запросы покидают сервер. Самостоятельно размещенная модель, работающая, например, через Ollama, позволяет хранить все сообщения локально. В этом случае затраты ограничиваются стоимостью оборудования и электроэнергии, но приходится использовать менее мощные или более медленные модели. Многие пользователи комбинируют оба подхода. Если вы хотите обеспечить полную конфиденциальность агента, самостоятельное размещение модели на вашем VPS — это последний шаг для закрытия данного вопроса, а Hermes Agent — еще один агент для самостоятельного размещения, который стоит рассмотреть для сравнения.

Стоит ли создавать собственный агент?

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

Но для большинства пользователей честный ответ таков: лучше запустить готовое решение и усилить его защиту, чем изобретать его заново. OpenClaw уже реализовал коннекторы, цикл работы и формат skills, а его безопасность уже проходила практическую проверку. Лучше направить усилия на ту часть, за которую вы действительно отвечаете: настройку и усиление защиты на собственном сервере. Если сначала вы хотите пройти путь обучения, поэтапно разбирая основные понятия лучше сразу читать исходный код агента, не имея контекста: после каждого этапа у вас останется один реально созданный компонент. Создайте небольшой вариант для обучения. Запустите готовое решение и ограничьте его доступ для практического использования.

Общие основы описаны в создании собственного AI-агента на VPS, а в создании агента с использованием Claude показаны те же идеи на примере конкретной модели в качестве «мозга».

FAQ

Сложно ли создать агента, подобного OpenClaw?

Отдельные компоненты реализовать несложно. Процесс-шлюз, коннектор для чата, цикл взаимодействия модели с инструментами и папка с файлами — каждый из этих элементов прост сам по себе. Сложность заключается в обеспечении безопасности. Агент, выполняющий shell-команды из сообщений чата, представляет собой серьезную поверхность атаки. Настройка песочницы, прав доступа и запуск от имени непривилегированного пользователя требуют гораздо больше усилий, чем простое объединение функций.

Почему OpenClaw хранит память в Markdown-файлах, а не в базе данных?

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

Что является самым опасным в персональном AI-агенте?

Инструменты, позволяющие ему действовать: выполнение shell-команд, управление браузером и запись файлов. Это причина, по которой агент создается, и причина, по которой он может нанести вред. Инцидент безопасности в OpenClaw в марте 2026 года, когда за четыре дня было выявлено девять уязвимостей, включая критическую с оценкой 9.9, — лучшее доказательство того, что к уровню инструментов нужно относиться осторожно: запускайте агента от имени непривилегированного пользователя, ограничивайте деструктивные действия и используйте песочницу для выполнения кода.

Нужна ли мне собственная языковая модель для создания такого агента?

Нет. Агенты вроде OpenClaw не зависят от конкретной модели, поэтому вы подключаете ту, которую выберете сами. Это может быть API для самых мощных моделей или модель, которую вы запускаете локально для полной конфиденциальности. Самостоятельный хостинг с помощью Ollama позволяет хранить все сообщения на вашем сервере, но требует использования менее ресурсоемкой модели.