allowlista
Allowlista to lista nadawców, grup albo pokojów, którym wolno rozmawiać z agentem. Wszystko spoza niej jest odrzucane, a w logu zostaje wpis „blocked” lub „allowlist”.
Allowlista działa razem z dmPolicy albo groupPolicy ustawionym na „allowlist”. Pierwsza pułapka jest nieoczywista: tryb „open” też wymaga jawnego wpisu „*” na allowliście kanału, bo bez niego wiadomości nadal lecą do kosza. Druga potrafi zjeść pół dnia i dotyczy Slacka — allowlisty muszą używać identyfikatorów w formacie C12345678, a klucze oparte na nazwie kanału po cichu nie działają: nic się nie wywala, po prostu nic nie przechodzi. Uzupełniają je groupAllowFrom z listą dozwolonych nadawców w grupach, rejestr groups oraz requireMention; sam allowFrom działa już tylko jako fallback. Milczący agent to prawie zawsze polityka dostępu, nie awaria.
dmPolicy · requireMention · parowanie · kanał · izolacja · audyt dostępu · wyciek danych · Lekcja 7: Dane firmowe, RODO i pytania, które zada Wam dział prawny
ClawHub
ClawHub to katalog pluginów i skilli do OpenClaw, z którego instaluje się kanały i umiejętności agenta jedną komendą. Drugim źródłem tych samych paczek jest npm.
Składnia instalacji wygląda tak: openclaw plugins install clawhub:@openclaw/whatsapp albo openclaw plugins install @openclaw/slack. Gateway ładuje zewnętrzny plugin dopiero wtedy, gdy kanał jest faktycznie aktywny, więc nieużywana paczka nie obciąża procesu — ale po każdej instalacji potrzebny jest restart. Część pluginów kanałów pochodzi od społeczności, a nie z oficjalnych paczek @openclaw/*, i to jest moment na sprawdzenie autora: skill uruchamia się z uprawnieniami Twojego agenta.
skill · kanał · Gateway · Lekcja 6: Narzędzia agenta, czyli skąd bierze się różnica
dmPolicy
dmPolicy to klucz konfiguracji OpenClaw decydujący, kto może napisać do agenta prywatnie. Przyjmuje cztery wartości: pairing (domyślna), allowlist, open i disabled.
Domyślne „pairing” oznacza, że nieznany nadawca dostaje kod parowania, a Ty zatwierdzasz go komendą openclaw pairing approve. Kody wygasają po godzinie, a WhatsApp limituje oczekujące żądania do trzech na konto — gdy ktoś próbuje trzeci raz i nic się nie dzieje, zajrzyj do kolejki parowania, zanim zaczniesz szukać błędu w konfiguracji. Odpowiednikiem dla rozmów grupowych jest groupPolicy z wartościami open, allowlist i disabled. Wpisy „pairing request” i „blocked” w logach to najczęstsze źródło wrażenia, że agent jest zepsuty.
parowanie · allowlista · requireMention · kanał · Lekcja 13: Agent na Slacku i w Teams: gdzie ma odpowiadać
Gateway
Gateway to centralny proces OpenClaw: przyjmuje wiadomości ze wszystkich kanałów, uruchamia agenta i wystawia Control UI. Domyślnie nasłuchuje na porcie 18789.
Gateway obserwuje openclaw.json i przeładowuje zmiany na gorąco — restart jest potrzebny tylko przy zmianie portu, ustawień uwierzytelniania albo po instalacji pluginu kanału. Uwierzytelnianie działa fail-closed: bez skonfigurowanego tokenu, hasła lub trybu trusted-proxy Gateway odmawia połączeń WebSocket, i to nie jest awaria, tylko zamierzone zachowanie. Gdy port jest zajęty, dostaniesz EADDRINUSE — sprawdź lsof -i :18789, bo precedencja idzie od flagi --port przez zmienną OPENCLAW_GATEWAY_PORT do klucza gateway.port i to zwykle tłumaczy, dlaczego „port się nie zmienia” mimo edycji configu.
OpenClaw · openclaw.json · kanał · kontener Docker · Lekcja 9: Od testu do produkcji, bez psucia sobie opinii
HEARTBEAT.md
HEARTBEAT.md to plik workspace'u z listą zadań proaktywnych agenta. Dzisiejszy silnik go nie czyta: instrukcje przeniosły się do notatnika harmonogramu, a stary plik jest importowany przy aktualizacji.
Podział ról jest czytelny: harmonogram odpowiada na pytanie „jak wygląda sytuacja” o stałej godzinie, webhook reaguje na zdarzenie, a heartbeat bierze rzeczy, które nie mają swojej godziny, ale nie powinny czekać do jutra. Pobudka co pół godziny to 48 wywołań na dobę i każde kosztuje tokeny, więc lista ma być krótka. Jeśli pozycję da się domknąć porannym raportem o siódmej, przenieś ją na harmonogram. Sam plik HEARTBEAT.md spotkasz jeszcze w starszych instalacjach i w poradnikach z pierwszej połowy 2026 roku — przy aktualizacji jego treść trafia do notatnika harmonogramu, a plik zostaje zarchiwizowany.
workspace · zadanie cykliczne (cron) · MEMORY.md · Lekcja 5: Zadania cykliczne, czyli agent, który odzywa się sam
IDENTITY.md
IDENTITY.md to plik workspace'u OpenClaw z tożsamością agenta: imieniem, rolą, emoji i obszarami, w których ma być kompetentny. Odpowiada na pytanie „kim jesteś”, a nie „jak masz się zachowywać”.
Podział zaczyna się opłacać, gdy w firmie działa więcej niż jeden agent: SOUL.md bywa wspólny dla całego zespołu, a IDENTITY.md rozróżnia, kto siedzi na kanale sprzedaży, a kto na kadrach. Plik jest opcjonalny — bez niego agent nadal działa, tylko przedstawia się ogólnie. Pułapka polega na wpisywaniu tu listy narzędzi: ekspertyza to obszar tematyczny, a uprawnienia nadaje się osobno i to one są ścianą.
workspace · SOUL.md · narzędzie (tool) · Lekcja 3: Jak napisać prompt systemowy, który naprawdę działa
kanał
Kanał to komunikator, przez który piszesz do agenta. W OpenClaw wbudowane w rdzeń są WebChat, Telegram i iMessage, a każdy pozostały komunikator to osobny plugin do zainstalowania.
Instalacja to openclaw plugins install @openclaw/<id>, a po niej restart Gateway — bez restartu kanał nie wstanie i stąd bierze się większość zgłoszeń „zainstalowałem, a nic się nie dzieje”. Najszybszy start ma Telegram: wystarczy token bota od @BotFather, bez publicznego adresu i certyfikatu. Wszystkie kanały obsługują tekst, natomiast media, reakcje i potwierdzenia odczytu różnią się mocno i zwykle to decyduje o wyborze kanału głównego — Telegram tnie tekst co 4000 znaków, Discord co 2000. ClawLabs oddaje 13 kanałów podpiętych z góry.
Gateway · dmPolicy · requireMention · ClawHub · Lekcja 13: Agent na Slacku i w Teams: gdzie ma odpowiadać
kontener Docker
Kontener Docker to izolowana paczka z aplikacją i wszystkim, czego ona potrzebuje do pracy. OpenClaw uruchomiony w kontenerze nie miesza się z resztą serwera i przenosi się jednym poleceniem.
W Dockerze najczęściej wykłada się sieć: domyślny gateway.bind = loopback nasłuchuje na 127.0.0.1 wewnątrz kontenera, więc przy zwykłym mapowaniu -p 18789:18789 ruch przychodzi na eth0, a Gateway pozostaje nieosiągalny. Zmiana bindu wymaga wcześniejszego ustawienia uwierzytelniania — dokumentacja ostrzega wprost, żeby nigdy nie wystawiać Gateway bez auth na 0.0.0.0, i zamiast bindowania na LAN poleca Tailscale Serve. Drugi klasyk to komunikat „blocked plugin candidate: suspicious ownership (uid=1000...)”, który naprawia chown -R 1000:1000 na katalogu konfiguracji i workspace, a potem openclaw doctor --fix.
Gateway · self-hosting · openclaw.json · Lekcja 9: Od testu do produkcji, bez psucia sobie opinii
MCPMCP — Model Context Protocol, protokół kontekstu modelu
MCP to otwarty standard, w którym agent rozmawia z zewnętrznymi narzędziami przez jeden wspólny protokół, zamiast mieć osobną integrację napisaną do każdego systemu z osobna.
W praktyce serwer MCP wystawia zestaw narzędzi, a agent podłącza się do niego jako klient. ClawLabs Office uruchamia taki serwer lokalnie na komputerze użytkownika — nowe narzędzia dokładane są po stronie serwera, bez aktualizowania aplikacji desktopowej. Zysk dla firmy jest konkretny: jedna integracja z Waszym CRM-em obsługuje potem dowolnego agenta, zamiast być pisana od nowa przy każdej zmianie platformy. Częsty błąd polega na traktowaniu MCP jak zabezpieczenia — protokół standaryzuje dostęp, ale go nie zawęża, o zakresie decydują nadane uprawnienia.
narzędzie (tool) · skill · Lekcja 6: Narzędzia agenta, czyli skąd bierze się różnica
MEMORY.md
MEMORY.md to plik workspace'u OpenClaw z trwałą wiedzą agenta, ładowany na starcie każdej sesji. Trafiają tam fakty, które mają obowiązywać zawsze, a nie tylko w jednej rozmowie.
Kontekst rozmowy znika razem z sesją, MEMORY.md zostaje — dlatego wpisuje się tu wiedzę w rodzaju „faktury wystawiamy do 7. dnia miesiąca”, a nie przebieg wczorajszej dyskusji. W branżowych szablonach ClawLabs plik pełni rolę indeksu: trzyma spis sekcji i odsyła do katalogu memory/<branża>/, żeby agent nie ładował całej bazy przy każdym starcie. Za wygodę płaci się tokenami, bo wszystko z MEMORY.md jedzie w kontekście przy każdej sesji, więc rozrastanie pliku bez limitu widać wprost na rachunku. Osobna pułapka: na Discordzie MEMORY.md nie ładuje się automatycznie w kontekście serwerów.
workspace · SOUL.md · HEARTBEAT.md · Lekcja 3: Jak napisać prompt systemowy, który naprawdę działa
narzędzie (tool)
Narzędzie to funkcja, którą model może wywołać, żeby wyjść poza generowanie tekstu — otworzyć stronę, zapisać plik albo odpytać cudze API. Narzędzia wyznaczają zasięg agenta: bez nich zostaje sam tekst.
Większość codziennej pracy robią cztery zdolności: przeglądarka, pliki, uruchamianie kodu i wywołania cudzego API. Każde narzędzie kosztuje dwa razy — opisem w promptcie, bo model musi wiedzieć, że coś takiego istnieje, i wynikiem, który wraca do kontekstu i jedzie z nim przy kolejnych krokach. Zestawienie Iternal AI z lipca 2026 daje skalę: prosty agent z jednym czy dwoma wywołaniami mieści się w 5–15 tysiącach tokenów na zadanie, wieloetapowe rozumowanie zjada 50–200 tysięcy. Linię rysuje się raz: narzędzia czytające włączaj szeroko, zapisujące pojedynczo i z wąskim zakresem uprawnień, bo uprawnienie jest ścianą, a reguła w promptcie tylko prośbą.
skill · MCP · allowlista · Lekcja 6: Narzędzia agenta, czyli skąd bierze się różnica
OpenClaw
OpenClaw to otwartoźródłowy silnik agentów AI, który uruchamiasz na własnym serwerze i podpinasz do komunikatorów, z których zespół już korzysta — od Telegrama i WhatsAppa po Slacka.
Architektura jest prosta: Gateway przyjmuje ruch z komunikatorów, pliki workspace opisują zachowanie agenta, a każdy dodatkowy komunikator dokładasz jako osobny plugin. Silnik jest darmowy — płacisz za serwer i za tokeny modelu, bo OpenClaw modelu w sobie nie zawiera i wymaga klucza API. Stąd bierze się najczęstsze nieporozumienie: ludzie oceniają OpenClaw po jakości odpowiedzi, a ta zależy od wybranego modelu, nie od silnika. Gotową instancję w chmurze EU uruchamia ClawLabs w około 60 sekund, od 399 zł miesięcznie.
Gateway · workspace · kanał · self-hosting · openclaw.json · Lekcja 1: Czym jest agent AI i czym różni się od chatbota
openclaw.json
openclaw.json to plik ustawień technicznych OpenClaw — Gateway, kanały, agenci, narzędzia — w formacie JSON5. Jest opcjonalny: bez niego silnik startuje na bezpiecznych wartościach domyślnych.
Konfigurację zmienia się na cztery sposoby i wszystkie prowadzą do tego samego pliku: kreator openclaw configure, komendy openclaw config get/set, Control UI pod http://127.0.0.1:18789 albo zwykła edycja w edytorze. Schemat jest ścisły — nieznany klucz, zły typ albo niepoprawna wartość i konfiguracja zostaje odrzucona. To akurat dobra wiadomość, bo błędna edycja nie nadpisuje działającej wersji: ląduje obok jako openclaw.json.rejected.<timestamp>, więc masz do czego wrócić. Powrót do ostatniej znanej dobrej kopii robi openclaw doctor --fix. Zachowanie agenta — ton, granice, pamięć — nie mieszka tutaj, tylko w plikach workspace'u.
Gateway · workspace · snapshot · Lekcja 18: Gdy agent zaczyna się mylić: przeglądy, model, wyłączenie
parowanie
Parowanie to zatwierdzenie nowego rozmówcy kodem, zanim agent zacznie mu odpowiadać. Nieznany nadawca dostaje kod, Ty akceptujesz go z linii poleceń, a sam kod wygasa po godzinie.
Komendy to openclaw pairing list <kanał> i openclaw pairing approve <kanał> <CODE>. Sens jest czysto praktyczny: agent podpięty do firmowego numeru WhatsAppa nie odpowiada przypadkowym osobom tylko dlatego, że zdobyły numer. W WhatsAppie oczekujące żądania są limitowane do trzech na konto, więc gdy ktoś próbuje trzeci raz i nic się nie dzieje, sprawdź kolejkę zamiast przeglądać logi. Zachowanie zmienia się kluczem dmPolicy — wartość „open” wyłącza parowanie całkowicie.
dmPolicy · allowlista · kanał · Lekcja 7: Dane firmowe, RODO i pytania, które zada Wam dział prawny
requireMention
requireMention to ustawienie OpenClaw, które każe agentowi ignorować wiadomości grupowe do czasu, aż ktoś go wprost wspomni. To najczęstszy powód, dla którego agent milczy na kanale zespołu.
Wpis w logu brzmi „drop guild message (mention required)” i nie oznacza awarii, tylko świadome odrzucenie wiadomości przez politykę dostępu. Na ruchliwym kanale zespołu warto zostawić to włączone, bo inaczej agent reaguje na każdą rozmowę i płaci za nią tokenami. W Telegramie sprawdź dodatkowo tryb privacy bota — przy włączonym bot w ogóle nie widzi wiadomości, w których nie został wywołany, więc sama zmiana requireMention niczego nie naprawi.
dmPolicy · allowlista · kanał · Lekcja 13: Agent na Slacku i w Teams: gdzie ma odpowiadać
self-hosting
Self-hosting to uruchomienie agenta na własnym serwerze zamiast korzystania z hostingu zarządzanego. Sam OpenClaw jest darmowy i otwarty, więc koszt przesuwa się z abonamentu na Twój czas.
Po Twojej stronie zostają aktualizacje silnika, kopie zapasowe, pilnowanie portów i odnawianie tokenów kanałów, a do tego openclaw doctor po każdej aktualizacji. Rachunek robi się czytelny dopiero po przeliczeniu na godziny: pełny koszt godziny pracodawcy to 68 zł, samo utrzymanie agenta zajmuje 1,5–2 h miesięcznie, a warstwa serwerowa dokłada się do tego osobno. Abonament ClawLabs od 399 zł miesięcznie jest wariantem, w którym ta warstwa siedzi po stronie dostawcy. Wybór nie dotyczy licencji, bo OpenClaw jest darmowy w obu przypadkach — dotyczy tego, kto ma pilnować infrastruktury.
kontener Docker · snapshot · Gateway · BYOK (własny klucz API) · Lekcja 9: Od testu do produkcji, bez psucia sobie opinii
skill
Skill to gotowa paczka dokładająca agentowi jedną zdolność: wyszukiwanie w sieci, czytanie PDF-a albo wysyłkę wiadomości na Slacka. Instaluje się ją z katalogu, bez pisania kodu.
Katalog ClawLabs ma 40 skilli w dziesięciu kategoriach, od Web & Search po Finanse, i jak na 2026 rok nie jest to lista wyjątkowo bogata. Przy dokładaniu kolejnej pozycji zadaj jedno pytanie: czy to nowa zdolność, czy wygodniejsza wersja czegoś, co agent już potrafi? Włączanie wszystkiego „na zapas” działa odwrotnie, niż podpowiada intuicja — im więcej skilli, tym częściej agent sięga po nieoczywisty, a log z jednego uruchomienia rośnie do kilkuset linii. Dokładanie zajmuje trzydzieści sekund, więc nic nie tracisz, czekając, aż agent sam zgłosi brak.
narzędzie (tool) · MCP · ClawHub · Lekcja 6: Narzędzia agenta, czyli skąd bierze się różnica
snapshot
Snapshot to zamrożona kopia stanu — dysku serwera albo bazy agenta — z której da się odtworzyć działającą instalację. Robi się go przed zmianą, nie po awarii.
W OpenClaw działa to na dwóch poziomach. openclaw backup create --verify pakuje katalog stanu, aktywną konfigurację, poświadczenia, workspace i bazy SQLite, przy czym bazy zrzucane są przez online backup API SQLite, więc Gateway nie musi być zatrzymany; osobny zestaw openclaw backup sqlite obsługuje create, list, verify i restore pojedynczych baz. Na poziomie serwera ClawLabs startuje instancje z przygotowanego wcześniej snapshotu Hetznera i stąd bierze się start w około 60 sekund. Najczęstszy błąd to sięganie po kopię dopiero po awarii zamiast robienie jej przed planowaną zmianą.
workspace · self-hosting · openclaw.json · Lekcja 18: Gdy agent zaczyna się mylić: przeglądy, model, wyłączenie
SOUL.md
SOUL.md to plik workspace'u OpenClaw opisujący ton, wartości i granice agenta — czyli to, jak ma się zachowywać, zanim jeszcze dostanie pierwsze zadanie.
Domyślny szablon dzieli plik na wartości, ton i granice. Granice działają tu lepiej niż w pojedynczej wiadomości, bo agent czyta SOUL.md przy każdym starcie sesji — reguła „nigdy nie podaję danych innych klientów, przy takich pytaniach przekazuję sprawę człowiekowi” trzyma się także wtedy, gdy ktoś próbuje podpuścić agenta pilnością albo powołaniem się na kierownika. Kwadrans pisania, efekt na każdej rozmowie. Częsty błąd polega na wpisaniu tu opisu marketingowego zamiast reguł, które da się egzekwować.
workspace · IDENTITY.md · MEMORY.md · Lekcja 3: Jak napisać prompt systemowy, który naprawdę działa
workspace
Workspace to katalog agenta OpenClaw z plikami Markdown, które opisują jego charakter, wiedzę i zadania stałe. Domyślnie leży w ~/.openclaw/workspace, a agent czyta go przy starcie sesji.
Standardowy zestaw to SOUL.md, IDENTITY.md, USER.md, MEMORY.md i HEARTBEAT.md — zwykłe pliki tekstowe, które otwierasz w edytorze i czytasz, co agent o Tobie wie. Ścieżka zmienia się przy ustawionym OPENCLAW_PROFILE na ~/.openclaw/workspace-<profil>, a zmienna OPENCLAW_WORKSPACE_DIR nadpisuje jedno i drugie. Dokumentacja radzi trzymać workspace w prywatnym repozytorium git — historia zmian pokazuje, kiedy agent zmienił zdanie na swój temat. Katalogu ~/.openclaw nie commituj nigdy: siedzą tam poświadczenia kanałów, tokeny OAuth i transkrypty sesji.
SOUL.md · IDENTITY.md · MEMORY.md · HEARTBEAT.md · snapshot · Lekcja 3: Jak napisać prompt systemowy, który naprawdę działa
zadanie cykliczne (cron)
Zadanie cykliczne to praca uruchamiana według harmonogramu, a nie na Twoje polecenie — poranne podsumowanie kalendarza, cotygodniowy przegląd cen konkurencji, piątkowy raport kosztów.
Test, który odsiewa większość pomysłów w minutę: gdyby ten raport przyszedł dziś pusty, chciałbyś o tym wiedzieć? Jeśli tak, nadaje się na harmonogram; jeśli ma sens wyłącznie wtedy, gdy coś się wydarzyło, użyj wyzwalacza zdarzeniowego — sprawdzanie co pięć minut to blisko 8700 uruchomień miesięcznie i dziesiątki milionów tokenów za informację, że nic się nie zmieniło. Zasada z lekcji piątej: jedno zadanie cykliczne naraz przez dwa tygodnie, a jeśli po tym czasie nadal je otwierasz, zostaje. Strefę czasową zapisuje się w USER.md — w polskich instalacjach ma tam stać Europe/Warsaw, bo agent na serwerze w innej strefie dostarcza poranny raport o piątej i nikt tego nie zauważa przez tydzień.
HEARTBEAT.md · workspace · Lekcja 5: Zadania cykliczne, czyli agent, który odzywa się sam