WhatsApp to miejsce, gdzie toczą się rozmowy. Nie Slack, nie Discord, nie Telegram — dla większości świata WhatsApp jest domyślnym komunikatorem. Dwa miliardy aktywnych użytkowników miesięcznie, dominacja w Europie, Ameryce Łacińskiej, Azji Południowej i Afryce. Jeśli chcesz asystenta AI, który naprawdę jest częścią Twojego codziennego życia, musi być tam, gdzie Twoje codzienne rozmowy już się toczą.
Problem polega na tym, że WhatsApp nie oferuje API botów dla osób prywatnych. WhatsApp Business API istnieje, ale wymaga konta firmowego, zatwierdzenia przez Meta i struktury opłat za wiadomość zaprojektowanej dla obsługi klienta, nie osobistych asystentów. Dla dewelopera, który chce osobistego bota AI w swoim WhatsApp — takiego, który odpowiada w czatach grupowych, pamięta kontekst i działa na jego własnym sprzęcie — oficjalna ścieżka to ślepy zaułek.
NanoClaw rozwiązuje to za pomocą Baileys, biblioteki open source WhatsApp Web, która łączy się z serwerami WhatsApp w ten sam sposób co klient WhatsApp Web. Skanujesz kod QR, połączenie jest nawiązane i NanoClaw może wysyłać i odbierać wiadomości jako Twoje konto WhatsApp. Bez Business API, bez zatwierdzenia Meta, bez opłat za wiadomość.
Architektura: dlaczego WhatsApp jest wyjątkowy
Integracja WhatsApp w NanoClaw to nie tylko most wiadomości — to główny kanał, wokół którego zaprojektowana jest cała architektura. Podczas gdy inne kanały (Telegram, Discord, Slack) są dodawane przez skille Claude Code, WhatsApp jest wbudowany w rdzeń. To nie faworyzowanie; to odzwierciedlenie tego, jak model grupowy WhatsApp naturalnie mapuje się na model bezpieczeństwa NanoClaw.
Grupy WhatsApp to granica izolacji. Każda grupa dostaje własny kontener, własny plik pamięci CLAUDE.md i własną zapisywalną przestrzeń roboczą. Kiedy ktoś wysyła wiadomość w grupie rodzinnej, agent, który odpowiada, ma dostęp tylko do historii i pamięci tej grupy. Nie widzi wiadomości z Twojej grupy roboczej, nie ma dostępu do Twojej prywatnej historii czatu i nie może czytać plików należących do innych grup. Izolacja jest wymuszana przez montowania kontenerów, nie przez logikę aplikacji.
Ta izolacja per grupa jest tym, co czyni NanoClaw bezpiecznym dla sposobu, w jaki ludzie naprawdę używają WhatsApp. Twoja grupa rodzinna omawia sprawy osobiste. Twoja grupa robocza omawia zastrzeżone projekty. Twoja grupa znajomych dzieli się rzeczami, których nie dzieliłaby publicznie. Każdy z tych kontekstów musi być oddzielny, a NanoClaw zapewnia, że są — nie przez listy kontroli dostępu, które mogą mieć bugi, ale przez fizyczną separację kontenerów, której nie da się obejść exploitami na poziomie aplikacji.
Konfiguracja
Proces konfiguracji zajmuje około dziesięciu minut, z czego większość to czekanie na npm install.
Sklonuj repozytorium i zainstaluj zależności:
```bash git clone https://github.com/qwibitai/NanoClaw.git cd NanoClaw npm install ```
Skonfiguruj środowisko. Minimalna konfiguracja to tylko klucz Anthropic API:
```bash echo 'ANTHROPIC_API_KEY=sk-ant-your-key-here' > .env ```
Uruchom parowanie WhatsApp:
```bash npm run auth ```
To wyświetla kod QR w terminalu. Otwórz WhatsApp na telefonie, przejdź do Połączonych urządzeń i zeskanuj kod. Połączenie jest nawiązane i NanoClaw nasłuchuje wiadomości.
Uruchom agenta:
```bash npm start ```
To wszystko. Wyślij wiadomość do dowolnej grupy WhatsApp, w której chcesz aktywować bota, wspomnij imię asystenta (konfigurowalne przez ASSISTANT_NAME w .env), a on odpowie. Pierwsza odpowiedź trwa kilka sekund, bo kontener się uruchamia; kolejne wiadomości w tej samej sesji są szybsze, bo kontener pozostaje ciepły.
Jak przepływają wiadomości
Zrozumienie przepływu wiadomości pomaga wyjaśnić, dlaczego NanoClaw wydaje się responsywny pomimo narzutu kontenerowego. Kiedy wiadomość przychodzi na WhatsApp, proces hosta — ~500-liniowy rdzeń TypeScript NanoClaw — odbiera ją przez Baileys. Sprawdza, czy wiadomość jest skierowana do asystenta (przez wzmiankę imienia lub wiadomość bezpośrednią). Jeśli tak, host sprawdza stan kontenera grupy.
Jeśli kontener już działa dla tej grupy (z niedawnej rozmowy), wiadomość jest kierowana do niego przez IPC. Agent wewnątrz kontenera odbiera wiadomość, przetwarza ją z Claude Agent SDK i wysyła odpowiedź z powrotem przez IPC. Host przekazuje odpowiedź do WhatsApp. Całkowite dodane opóźnienie: kilka milisekund na IPC, plus czas odpowiedzi API Claude.
Jeśli żaden kontener nie działa, host tworzy nowy. Na macOS z Apple Container zajmuje to 200-400ms. Na Linux z Docker 1-2 sekundy. Kontener otrzymuje plik pamięci CLAUDE.md grupy, historię rozmów z SQLite i klucz API przez stdin. Przetwarza wiadomość i odpowiada. Kontener pozostaje aktywny przez konfigurowalny timeout (domyślnie: 30 minut), by obsługiwać kolejne wiadomości bez narzutu tworzenia.
Rezultat jest taki, że większość wiadomości — te, które przychodzą podczas aktywnej rozmowy — wydaje się natychmiastowa. Czas odpowiedzi AI jest zdominowany przez opóźnienie API Claude, nie przez infrastrukturę NanoClaw. Tylko pierwsza wiadomość po dłuższej ciszy ma narzut startu kontenera, a nawet to jest wystarczająco szybkie, by użytkownicy rzadko to zauważali.
Pamięć per grupa: funkcja, która czyni to użytecznym
Plik CLAUDE.md per grupa jest tym, co zamienia bezstanowego chatbota w naprawdę użytecznego asystenta. Plik pamięci każdej grupy akumuluje kontekst z czasem — preferencje, bieżące projekty, powtarzające się tematy, wewnętrzne żarty. Agent czyta ten plik na początku każdej tury rozmowy, co oznacza, że pamięta, co mu powiedziałeś w zeszłym tygodniu, bez konieczności powtarzania.
W grupie rodzinnej pamięć może notować preferencje dietetyczne, plany szkolne i powtarzające się aktywności. W grupie roboczej może śledzić terminy projektów, preferencje zespołu i decyzje techniczne. W grupie znajomych może pamiętać plany podróży, rekomendacje restauracji i wspólne zainteresowania.
Pamięć jest edytowalna. Możesz poprosić agenta, by zapamiętał coś konkretnego („zapamiętaj, że mama jest uczulona na owoce morza") lub zapomniał coś („zapomnij, co powiedziałem o przyjęciu niespodziance"). Możesz też edytować plik CLAUDE.md bezpośrednio — to zwykły plik tekstowy w Twoim systemie plików, nie zamknięty w bazie danych.
Rzeczywistość prywatności
Uruchamianie bota AI na WhatsApp rodzi uzasadnione pytania o prywatność i warto być bezpośrednim. Wiadomości przetwarzane przez NanoClaw są wysyłane do API Anthropic, by Claude mógł generować odpowiedzi. To oznacza, że Twoje wiadomości WhatsApp — a przynajmniej te skierowane do asystenta — opuszczają Twoje urządzenie i są przetwarzane przez serwery Anthropic.
NanoClaw łagodzi to na kilka sposobów. Tylko wiadomości jawnie skierowane do asystenta są wysyłane do API — bot nie przetwarza ani nie przechowuje wiadomości, które nie są do niego skierowane. Historia rozmów przechowywana w SQLite pozostaje na Twoim komputerze. Pliki pamięci CLAUDE.md pozostają na Twoim komputerze. A jeśli skonfigurujesz NanoClaw do używania Ollama zamiast Anthropic, przetwarzanie AI odbywa się lokalnie — nic nie opuszcza Twojej sieci.
Dla większości użytkowników praktyczna postawa prywatności jest taka: Twoje wiadomości WhatsApp pozostają na Twoim urządzeniu, z wyjątkiem sytuacji, gdy jawnie zadajesz asystentowi AI pytanie, wtedy ta konkretna wiadomość jest wysyłana do Anthropic (lub przetwarzana lokalnie z Ollama). To znacząco lepsza historia prywatności niż usługi AI w chmurze, które przetwarzają i przechowują wszystko, co wpisujesz.
WhatsApp to miejsce, gdzie toczy się Twoje życie. NanoClaw umieszcza tam asystenta AI — z izolacją, pamięcią i modelem prywatności, który sprawia, że jest bezpieczny w użyciu w grupach, gdzie omawiasz rzeczy, które naprawdę mają znaczenie.