SSD Nodes Learn
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-07-24

Как создать ИИ-агента типа OpenClaw

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

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

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

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

Gateway-демон: один процесс, работающий в приватном режиме

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

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

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

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

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

Мозг и цикл инструментов

Внутри gateway находится часть, которая превращает его из чат-бота в агента. Это цикл (loop).

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

Этот цикл и составляет суть агента; он одинаков независимо от того, работает агент в чат-приложении или в терминале. Чтобы узнать, как стандартным способом подключить инструменты к этому циклу, рекомендуем прочитать connecting tools through the Model Context Protocol, а для понимания работы со стороны модели — running the model itself on your own hardware.

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

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

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

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

ToolVPS hardening checklist

Подробно о работе от непривилегированного пользователя читайте в running services as an unprivileged user, а полный гайд по безопасной настройке реального проекта доступен в running OpenClaw safely on a VPS.

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

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

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

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

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

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

Используйте свою модель

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

Этот выбор влияет на стоимость, конфиденциальность и контроль. Облачный API предоставляет самые мощные модели без необходимости управления оборудованием, но вы платите за каждый токен, а ваши промпты покидают ваш сервер. Самостоятельный хостинг модели (например, с помощью Ollama) оставляет все сообщения на вашем устройстве; это стоит только затрат на оборудование и электроэнергию, но ценой использования менее мощной или более медленной модели. Многие используют комбинированный подход. Если вы хотите обеспечить полную конфиденциальность агента, self-hosting the model on your VPS решит эту задачу, а Hermes Agent — еще один самоhosted-агент, который стоит сравнить.

Стоит ли вам создавать его?

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

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

Общие основы изложены в building your own AI agent on a VPS, а building an agent with Claude демонстрирует те же идеи с использованием конкретной модели в качестве «мозга».

FAQ

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

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

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

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

Что является самой опасной частью персонального ИИ-агента?

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

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

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