SSD Nodes Learn
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-07-24

Як створити AI агент на кшталт OpenClaw

Розбираємо архітектуру OpenClaw: від виконання shell-команд до захисту від вразливостей на кшталт CVE-2026-32922. Дізнайтеся, як побудувати безпечного агента.

Що насправді являє собою OpenClaw

OpenClaw — це персональний AI-агент для самостійного хостингу. Ви запускаєте його на власному сервері, підключаєте до вже використовуваних чат-додатків, і він може виконувати 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» на «ось текст для агента» і навпаки. Створення власного коннектора — це переважно робота з документацією bot 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, щоб зловмисник не зміг підвищити привілеї. Встановіть контроль (gate) для небезпечних інструментів, щоб агент запитував підтвердження перед виконанням деструктивних дій. Використовуйте пісочницю (sandbox) для виконання інструментів, щоб обмежити дії неконтрольованої команди. Ізолюйте API-ключ моделі, щоб витік даних не дав зловмиснику доступ до вашого акаунта.

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

ToolVPS hardening checklist

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

Пам'ять як звичайні файли

Більшість очікує, що пам'ять агента зберігається в базі даних. У OpenClaw це не так. Він зберігає пам'ять у вигляді звичайних Markdown-файлів на диску, і цей вибір варто перейняти.

Файли — це просто. Не потрібно мігрувати схеми, підтримувати роботу сервісу або вивчати мову запитів. Їх можна перевірити: ви можете відкрити папку і прочитати, що саме агент знає про вас, виправити помилку, відредагувавши файл, або видалити спогад, видаливши файл. Крім того, вони портативні: перенесення агента на новий сервер — це просто копіювання директорії. Для персонального агента одного користувача папки з текстовими файлами достатньо, і це робить систему зрозумілою.

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

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

Перевага такого формату в тому, що можливості можна передавати іншим. Хтось створює навичку для конкретного завдання, публікує її, а інші просто додають її собі. Якщо ви створюєте власного агента, визначення чіткого формату розширень на ранніх етапах позбавить вас необхідності жорстко прописувати кожну функцію в ядрі пізніше.

Використовуйте власну модель

OpenClaw є model-agnostic (не залежним від моделі). Він не постачається з власною мовною моделлю. Замість цього він підключається до обраної вами моделі, яка може бути як через hosted API, так і запущеною локально.

Цей поділ важливий для вартості, приватності та контролю. Hosted API надає найпотужніші моделі без необхідності керувати обладнанням, але ви платите за токени, а ваші промпти залишають ваш сервер. Самостійний хостинг моделі (наприклад, через Ollama) зберігає всі повідомлення на вашому пристрої; це коштує лише залізо та електроенергію, але ви отримуєте менш потужну або повільнішу модель. Багато користувачів комбінують ці підходи. Якщо ви хочете забезпечити повну приватність агента, self-hosting the model on your VPS вирішить це питання, а Hermes Agent — ще один самостійний агент, з яким варто порівняти OpenClaw.

Чи варто створювати свого агента?

Ви можете створити все це самостійно. Ці компоненти не є екзотичними: демон, кілька коннекторів чатів, цикл моделі та інструментів, папка з Markdown та формат плагінів. Розуміння цих частин є корисним, оскільки це знімає магію з будь-якого агента і чітко вказує на зони ризику.

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

Базові принципи описані в building your own AI agent on a VPS, а building an agent with Claude демонструє ті ж ідеї з використанням конкретної моделі як «мозку».

FAQ

Чи важко створити агента на кшталт OpenClaw?

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

Чому OpenClaw зберігає пам'ять у Markdown-файлах, а не в базі даних?

Тому що для персонального агента одного користувача файлів достатньо, і вони набагато простіші. Не потрібно запускати сервіс бази даних, пам'ять легко читати та редагувати вручну, а перенесення агента на інший сервер — це просто копіювання директорії. Бази даних потрібні для великих масштабів, а не для цього випадку.

Що є найнебезпечнішою частиною персонального AI-агента?

Інструменти, які дозволяють йому діяти: виконання shell-команд, керування браузером та запис файлів. Саме вони є причиною створення агента і причиною потенційної шкоди. Подія безпеки OpenClaw у березні 2026 року (дев'ять вразливостей за чотири дні, включаючи критичну з рейтингом 9.9) є найяскравішим аргументом на користь обережного ставлення до рівня інструментів: запускайте агента від імені непривілейованого користувача, обмежуйте деструктивні дії та використовуйте пісочницю для виконання.

Чи потрібна мені власна мовна модель для створення агента?

Ні. Агенти на кшталт OpenClaw не залежать від моделі, тому ви можете підключити будь-яку. Це може бути hosted API для найпотужніших моделей або власна модель для повної приватності. Самостійний хостинг через Ollama зберігає всі повідомлення на вашому сервері, але ви отримуєте меншу модель.