SSD Nodes Learn Hosting plans →
Przewodniki Matt ConnorAutor: Matt Connor · Zaktualizowano 2026-08-28

Jak zbudować własnego agenta AI typu OpenClaw

Dowiedz się, jak krok po kroku stworzyć własnego agenta AI z dostępem do powłoki i plików. Poznaj architekturę systemu oraz kluczowe aspekty bezpieczeństwa po CVE-2026-32922.

Czym w rzeczywistości jest OpenClaw

OpenClaw to samodzielnie hostowany osobisty agent AI. Uruchamia się go na własnym serwerze, łączy z używanymi komunikatorami, a narzędzie to może wykonywać polecenia powłoki, sterować przeglądarką, odczytywać i zapisywać pliki oraz reagować na wysyłane wiadomości. Projekt jest udostępniony na licencji MIT, stawia na lokalność (local-first) i na połowę 2026 roku posiada ponad 380 000 gwiazdek w serwisie GitHub, co czyni go jednym z najpopularniejszych projektów na tej platformie. Pod warstwą szumu informacyjnego kryje się stosunkowo niewielki zestaw komponentów połączonych w logiczny sposób. Niniejszy wpis omawia te elementy, aby czytelnik zrozumiał, jak budowane są tego typu narzędzia oraz gdzie występują potencjalne zagrożenia.

Jedno ostrzeżenie na wstępie, ponieważ kształtuje ono wszystkie poniższe decyzje projektowe. W marcu 2026 roku w OpenClaw ujawniono dziewięć luk bezpieczeństwa w ciągu czterech dni, w tym krytyczną podatność eskalacji uprawnień ocenioną na 9.9 w skali 10 (CVE-2026-32922). Projekt został zaprojektowany tak, aby to operator, czyli użytkownik, dbał o jego zabezpieczenie. Agent zdolny do wykonywania dowolnych poleceń jest tak bezpieczny, jak serwer, na którym działa, oraz ograniczenia, które zostaną na niego nałożone. Należy o tym pamiętać podczas lektury.

Demon bramki: jeden proces, utrzymywany w izolacji

W centrum znajduje się pojedynczy, długo działający proces, zazwyczaj nazywany bramką (gateway). Pełni on rolę płaszczyzny sterowania. Odbiera komunikaty, podejmuje decyzje, uruchamia narzędzia i odsyła odpowiedzi. Wszystkie pozostałe elementy łączą się z nim.

Najważniejszą informacją dotyczącą bramki jest miejsce, na którym nasłuchuje. Domyślnie OpenClaw wiąże ją z adresem pętli zwrotnej (loopback), 127.0.0.1, dzięki czemu nie jest ona osiągalna z Internetu, chyba że użytkownik celowo ją udostępni. Należy pozostawić to ustawienie bez zmian. Jest to jedyny proces, którego głównym zadaniem jest wykonywanie poleceń, więc wystawienie bramki na zewnątrz daje każdemu, kto ją znajdzie, zdalny dostęp do serwera. W przypadku konieczności połączenia się z nią z laptopa, należy użyć VPN lub tunelu SSH zamiast otwierać port. Nikt nie może zaatakować portu, do którego nie ma dostępu.

Łączniki kanałów: odbieranie wiadomości i wysyłanie odpowiedzi

Osobisty agent jest użyteczny tylko wtedy, gdy można się z nim komunikować z aplikacji, których już używasz. Do tego służą łączniki kanałów. Każdy z nich obsługuje jedną platformę, taką jak Telegram, WhatsApp, Slack czy Discord, korzystając z API botów lub webhooków danej platformy.

Struktura działania jest dla wszystkich taka sama. Łącznik rejestruje bota na platformie, odbiera przychodzącą wiadomość (poprzez odpytywanie platformy lub odbiór webhooka wysłanego przez platformę), przekazuje tę wiadomość do bramy (gateway) i odsyła odpowiedź bramy za pośrednictwem tego samego API. Łącznik stanowi cienką warstwę translacyjną. Przekształca komunikat „nadeszła wiadomość z Telegrama” na „oto tekst dla agenta” i z powrotem. Budowa własnego łącznika sprowadza się głównie do zapoznania się z dokumentacją API bota danej platformy i odwzorowania jej formatu wiadomości na format bramy.

Mózg i pętla narzędzi

Wewnątrz bramy znajduje się element, który czyni ją agentem, a nie chatbotem. Jest to pętla.

Przychodzi wiadomość. Brama przesyła ją do modelu językowego wraz z listą narzędzi, z których model może korzystać. Model odczytuje wiadomość i podejmuje decyzję: odpowiedzieć bezpośrednio lub wywołać narzędzie. Jeśli wywoła narzędzie, brama uruchamia je, przechwytuje wynik i odsyła go do modelu. Model analizuje wynik i ponownie podejmuje decyzję. Proces ten powtarza się, dopóki model nie wykona wszystkich zadań i nie wygeneruje ostatecznej odpowiedzi.

Ta pętla stanowi istotę działania agenta i jest taka sama, niezależnie od tego, czy agent działa w aplikacji czatu, czy w terminalu. Informacje o tym, jak standardowo łączyć narzędzia z tą pętlą, zawiera artykuł łączenie narzędzi poprzez Model Context Protocol, a kwestie związane z modelem wyjaśnia uruchamianie modelu na własnym sprzęcie.

Zestaw narzędzi to główny atut i źródło zagrożenia

To narzędzia czynią OpenClaw potężnym rozwiązaniem. Narzędzie wykonujące polecenie powłoki, narzędzie sterujące przeglądarką, narzędzie do odczytu i zapisu plików. Jeśli powyższa pętla uzyska do nich dostęp, może wykonać niemal każdą czynność dostępną z poziomu klawiatury. Ten zasięg stanowi istotę produktu, ale jest również źródłem pełnego ryzyka.

Agent zdolny do uruchomienia dowolnego polecenia na podstawie instrukcji otrzymanych z komunikatora tworzy rozległą powierzchnię ataku. Błędna instrukcja, atak typu prompt-injection ukryty na stronie odwiedzanej przez narzędzie przeglądarki lub błąd taki jak luki z marca 2026 roku mogą sprawić, że polecenie „odczytaj mój kalendarz” zmieni się w „usuń moje pliki”. Dlatego ograniczenia nie są opcjonalnymi dodatkami. Agent powinien działać jako dedykowany użytkownik bez uprawnień, bez dostępu do sudo, aby uniemożliwić eskalację w przypadku przejęcia kontroli. Niebezpieczne narzędzia należy zabezpieczyć etapem zatwierdzania, aby agent pytał o zgodę przed wykonaniem destrukcyjnych działań. Wykonywanie narzędzi powinno odbywać się w piaskownicy (sandbox), aby ograniczyć skutki niekontrolowanego polecenia. Klucz API modelu musi być odizolowany, aby wyciek nie przekazał atakującemu dostępu do konta. Należy również wziąć pod uwagę inne sekrety znajdujące się na tym samym serwerze, ponieważ rzeczywiste słabe punkty Vaultwarden to token administratora i plik kopii zapasowej, a nie samo szyfrowanie, a agent z dostępem do powłoki może uzyskać dostęp do obu tych elementów.

Zanim udostępnisz cokolwiek, co wykonuje polecenia powłoki, przemyśl dokładnie podstawy. Przygotuj listę kontrolną dla własnego serwera, a następnie postępuj zgodnie z nią od początku do końca:

ToolVPS hardening checklist

Kwestia użytkownika bez uprawnień została szczegółowo omówiona w uruchamianie usług jako użytkownik bez uprawnień, a pełny przewodnik bezpiecznej konfiguracji dla rzeczywistego projektu znajduje się w bezpieczne uruchamianie OpenClaw na VPS.

Pamięć w formie plików tekstowych

Większość użytkowników oczekuje, że pamięć agenta będzie przechowywana w bazie danych. W przypadku OpenClaw tak nie jest. Pamięć jest zapisywana na dysku w postaci zwykłych plików Markdown, co jest rozwiązaniem wartym naśladowania.

Pliki są proste. Nie wymagają migracji schematu, utrzymywania działającej usługi ani nauki języka zapytań. Są łatwe do weryfikacji: można otworzyć folder i przeczytać dokładnie to, co agent wie na dany temat, poprawić błędną notatkę poprzez edycję pliku lub usunąć wspomnienie poprzez usunięcie pliku. Są również przenośne, ponieważ przeniesienie agenta na nowy serwer sprowadza się do skopiowania katalogu. W przypadku osobistego agenta dla jednego użytkownika folder z plikami tekstowymi jest wystarczający i sprawia, że cały system jest łatwy do zrozumienia.

Umiejętności: przenośny sposób dodawania możliwości

Poza wbudowanymi narzędziami, OpenClaw wykorzystuje przenośny format umiejętności, dzięki któremu społeczność może rozszerzać funkcjonalność bez modyfikacji rdzenia systemu. Umiejętność to samodzielny pakiet instrukcji oraz, w niektórych przypadkach, kodu, który uczy agenta nowego zadania. Agent ładuje umiejętność, gdy wymaga tego zadanie. Wyszukiwanie internetowe jest zazwyczaj pierwszą dodawaną funkcją, a skierowanie tej umiejętności na własną instancję SearXNG pozwala uniknąć korzystania z komercyjnego API wyszukiwarek, jednocześnie jasno określając granicę zaufania dla umiejętności, ponieważ wszystkie zwracane dane są tekstem napisanym przez osobę trzecią.

Wartość takiego formatu polega na tym, że możliwości stają się współdzielone. Ktoś tworzy umiejętność do konkretnego zadania, publikuje ją, a inni użytkownicy mogą ją łatwo wdrożyć. Ta wygoda niesie ze sobą ryzyko, ponieważ umiejętność to kod od nieznajomego, który agent uruchomi bez wahania. Dlatego warto przepuścić każdy element, którego nie napisałeś samodzielnie, przez własny skaner bezpieczeństwa, zanim go załadujesz. Jeśli budujesz własnego agenta, wczesne zdefiniowanie małego i przejrzystego formatu rozszerzeń uchroni Cię przed koniecznością późniejszego wpisywania każdej możliwości na sztywno w kodzie rdzenia.

Własny model

OpenClaw jest niezależny od modelu. Nie zawiera własnego modelu językowego. Łączy się natomiast z wybranym modelem, który może być hostowanym API lub modelem uruchamianym samodzielnie.

Ten podział ma znaczenie dla kosztów, prywatności i kontroli. Hostowane API zapewnia najsilniejsze modele bez konieczności zarządzania sprzętem, przy opłacie za token i przesyłaniu promptów poza serwer. Model hostowany samodzielnie, obsługiwany przez narzędzia typu Ollama, utrzymuje każdą wiadomość na własnym serwerze i generuje jedynie koszty sprzętu oraz energii, kosztem użycia mniejszego lub wolniejszego modelu. Wielu użytkowników łączy oba rozwiązania. Jeśli celem jest pełna prywatność agenta, samodzielne hostowanie modelu na VPS stanowi element zamykający tę lukę, a Hermes Agent to inny agent hostowany samodzielnie, który warto porównać.

Czy warto budować własne rozwiązanie?

Można zbudować cały ten system samodzielnie. Komponenty nie są egzotyczne: demon, kilka konektorów czatu, pętla modelu z narzędziami, folder z plikami Markdown oraz format wtyczek. Zrozumienie ich działania jest przydatne, ponieważ demistyfikuje każdego agenta, z którego będziesz korzystać, i wskazuje dokładnie, gdzie kryje się zagrożenie.

Jednak dla większości osób uczciwa odpowiedź brzmi: należy uruchomić gotowe rozwiązanie i je zabezpieczyć, zamiast odtwarzać je od podstaw. OpenClaw ma już zaimplementowane konektory, pętlę działania i format umiejętności, a rozwiązanie przeszło rzeczywistą weryfikację pod kątem bezpieczeństwa. Wysiłek lepiej przeznaczyć na element, za który faktycznie odpowiadasz, czyli konfigurację i zabezpieczenie własnego serwera. Jeśli najpierw chcesz wybrać ścieżkę nauki, przechodzenie przez te koncepcje etapami jest lepsze niż czytanie kodu źródłowego agenta bez przygotowania, ponieważ po każdym etapie pozostaje jeden element, który został rzeczywiście zbudowany. Należy zbudować mały system, aby się nauczyć. Należy uruchomić rzeczywisty system i go zabezpieczyć, aby z niego korzystać.

Podstawy ogólne znajdują się w budowaniu własnego agenta AI na VPS, a budowanie agenta z Claude przedstawia te same koncepcje z wykorzystaniem konkretnego modelu jako jednostki centralnej.

FAQ

Czy budowa agenta takiego jak OpenClaw jest trudna?

Poszczególne elementy nie są trudne. Proces bramy, konektor czatu, pętla modelu z narzędziami oraz folder plików są same w sobie nieskomplikowane. Trudność polega na zapewnieniu bezpieczeństwa. Agent wykonujący polecenia powłoki na podstawie wiadomości z czatu stanowi poważną powierzchnię ataku. Poprawna konfiguracja piaskownicy (sandboxing), uprawnień oraz użytkownika bez uprawnień (unprivileged user) wymaga więcej pracy niż samo połączenie funkcji w całość.

Dlaczego OpenClaw przechowuje pamięć w plikach Markdown, a nie w bazie danych?

Ponieważ w przypadku osobistego agenta dla jednego użytkownika pliki są wystarczające i znacznie prostsze. Nie ma potrzeby uruchamiania usługi bazy danych, pamięć jest łatwa do odczytania i ręcznej korekty, a przeniesienie agenta na inny serwer sprowadza się do skopiowania katalogu. Baza danych zyskuje na znaczeniu przy większej skali, a nie tutaj.

Co jest najbardziej niebezpiecznym elementem osobistego agenta AI?

Narzędzia pozwalające na działanie: wykonywanie poleceń powłoki, sterowanie przeglądarką i zapisywanie plików. Są one powodem, dla którego buduje się takie rozwiązania, ale też źródłem potencjalnych szkód. Incydent bezpieczeństwa OpenClaw z marca 2026 roku, obejmujący dziewięć problemów w cztery dni, w tym lukę krytyczną o ocenie 9.9, stanowi najdobitniejszy argument za ostrożnym traktowaniem warstwy narzędziowej: uruchamiaj procesy jako użytkownik bez uprawnień, ograniczaj działania destrukcyjne i stosuj piaskownicę dla wykonywanego kodu.

Czy do budowy własnego agenta potrzebuję własnego modelu językowego?

Nie. Agenci tacy jak OpenClaw są niezależni od modelu, więc można podłączyć dowolnie wybrany. Może to być hostowane API dla najpotężniejszych modeli lub model uruchamiany lokalnie w celu zachowania pełnej prywatności. Samodzielne hostowanie przy użyciu Ollama pozwala zatrzymać każdą wiadomość na własnym serwerze, kosztem konieczności korzystania z mniejszego modelu.