WhatsApp is waar gesprekken plaatsvinden. Niet Slack, niet Discord, niet Telegram — voor het grootste deel van de wereld is WhatsApp de standaard. Twee miljard maandelijks actieve gebruikers, dominant in Europa, Latijns-Amerika, Zuid-Azië en Afrika. Als je een AI-assistent wilt die daadwerkelijk onderdeel is van je dagelijks leven, moet deze zijn waar je dagelijkse gesprekken al plaatsvinden.
Het probleem is dat WhatsApp geen bot-API biedt voor particulieren. De WhatsApp Business API bestaat, maar vereist een zakelijk account, goedkeuring van Meta en een berichtentarief dat ontworpen is voor klantenservice, niet voor persoonlijke assistenten. Voor een ontwikkelaar die een persoonlijke AI-bot in zijn WhatsApp wil — een die reageert in groepschats, context onthoudt en op eigen hardware draait — is het officiële pad een doodlopende weg.
NanoClaw lost dit op met Baileys, een open-source WhatsApp Web-bibliotheek die op dezelfde manier verbindt met WhatsApp's servers als de WhatsApp Web-client. Je scant een QR-code, de verbinding wordt opgezet, en NanoClaw kan berichten verzenden en ontvangen als jouw WhatsApp-account. Geen Business API, geen Meta-goedkeuring, geen berichtentarieven. ## De architectuur: waarom WhatsApp speciaal is
NanoClaw's WhatsApp-integratie is niet zomaar een berichtenbrug — het is het primaire kanaal waar de hele architectuur omheen ontworpen is. Terwijl andere kanalen (Telegram, Discord, Slack) worden toegevoegd via Claude Code skills, is WhatsApp ingebouwd in de kern. Dit is geen favoritisme; het weerspiegelt hoe WhatsApp's groepsmodel op natuurlijke wijze aansluit bij NanoClaw's beveiligingsmodel.
WhatsApp-groepen zijn de isolatiegrens. Elke groep krijgt zijn eigen container, zijn eigen CLAUDE.md-geheugenbestand en zijn eigen beschrijfbare werkruimte. Wanneer iemand een bericht stuurt in een gezinsgroep, heeft de agent die reageert alleen toegang tot de geschiedenis en het geheugen van die groep. Het kan geen berichten van je werkgroep zien, geen toegang krijgen tot je privéchatgeschiedenis en geen bestanden lezen die bij andere groepen horen. De isolatie wordt afgedwongen door container-mounts, niet door applicatielogica.
Deze per-groep isolatie is wat NanoClaw veilig maakt voor de manier waarop mensen WhatsApp daadwerkelijk gebruiken. Je gezinsgroep bespreekt persoonlijke zaken. Je werkgroep bespreekt bedrijfseigen projecten. Je vriendengroep deelt dingen die ze niet openbaar zouden delen. Elk van deze contexten moet gescheiden zijn, en NanoClaw zorgt daarvoor — niet via toegangscontrolelijsten die bugs kunnen bevatten, maar via fysieke containerscheiding die niet omzeild kan worden door exploits op applicatieniveau.
Het opzetten
Het installatieproces duurt ongeveer tien minuten, waarvan het grootste deel wachten op npm install is.
Kloon de repository en installeer dependencies:
```bash git clone https://github.com/qwibitai/NanoClaw.git cd NanoClaw npm install ```
Configureer je omgeving. De minimale configuratie is slechts een Anthropic API-key:
```bash echo 'ANTHROPIC_API_KEY=sk-ant-your-key-here' > .env ```
Voer de WhatsApp-koppeling uit:
```bash npm run auth ```
Dit toont een QR-code in je terminal. Open WhatsApp op je telefoon, ga naar Gekoppelde apparaten en scan de code. De verbinding is opgezet en NanoClaw luistert nu naar berichten.
Start de agent:
```bash npm start ```
Dat is alles. Stuur een bericht naar een WhatsApp-groep waar je de bot actief wilt hebben, noem de naam van de assistent (configureerbaar via ASSISTANT_NAME in .env), en het reageert. Het eerste antwoord duurt een paar seconden terwijl de container opstart; volgende berichten in dezelfde sessie zijn sneller omdat de container warm blijft. ## Hoe berichten stromen
Het begrijpen van de berichtenstroom helpt verklaren waarom NanoClaw responsief aanvoelt ondanks de containeroverhead. Wanneer een bericht binnenkomt op WhatsApp, ontvangt het hostproces — NanoClaw's ~500-regelige TypeScript-kern — het via Baileys. Het controleert of het bericht gericht is aan de assistent (via naamsvermelding of direct bericht). Als dat zo is, zoekt de host de containerstatus van de groep op.
Als er al een container draait voor die groep (van een recent gesprek), wordt het bericht via IPC ernaar gerouteerd. De agent in de container ontvangt het bericht, verwerkt het met Claude Agent SDK en stuurt het antwoord terug via IPC. De host stuurt het antwoord door naar WhatsApp. Totale toegevoegde latentie: een paar milliseconden voor IPC, plus wat Claude's API nodig heeft om te antwoorden.
Als er geen container draait, start de host er een. Op macOS met Apple Container duurt dit 200-400ms. Op Linux met Docker 1-2 seconden. De container ontvangt het CLAUDE.md-geheugenbestand van de groep, de gespreksgeschiedenis uit SQLite en de API-key via stdin. Het verwerkt het bericht en antwoordt. De container blijft actief voor een configureerbare timeout (standaard: 30 minuten) om vervolgberichten af te handelen zonder de opstartoverhead.
Het resultaat is dat de meeste berichten — die tijdens een actief gesprek komen — instant aanvoelen. De AI-responstijd wordt gedomineerd door Claude's API-latentie, niet door NanoClaw's infrastructuur. Alleen het eerste bericht na een lange stilte heeft de containeropstartoverhead, en zelfs dat is snel genoeg dat gebruikers het zelden opmerken.
Per-groep geheugen: de feature die het nuttig maakt
Het per-groep CLAUDE.md-bestand is wat een stateless chatbot omzet in een oprecht nuttige assistent. Het geheugenbestand van elke groep accumuleert context over tijd — voorkeuren, lopende projecten, terugkerende onderwerpen, inside jokes. De agent leest dit bestand aan het begin van elke gespreksturn, wat betekent dat het onthoudt wat je vorige week vertelde zonder dat je het hoeft te herhalen.
In een gezinsgroep kan het geheugen dieetvoorkeuren, schoolroosters en terugkerende activiteiten noteren. In een werkgroep kan het projectdeadlines, teamvoorkeuren en technische beslissingen bijhouden. In een vriendengroep kan het reisplannen, restaurantaanbevelingen en gedeelde interesses onthouden.
Het geheugen is bewerkbaar. Je kunt de agent vragen om iets specifieks te onthouden ("onthoud dat mama allergisch is voor schaaldieren") of iets te vergeten ("vergeet wat ik zei over het verrassingsfeest"). Je kunt het CLAUDE.md-bestand ook direct bewerken — het is een plat tekstbestand op je bestandssysteem, niet opgesloten in een database.
De privacyrealiteit
Het draaien van een WhatsApp AI-bot roept legitieme privacyvragen op, en het is de moeite waard om hier direct over te zijn. De berichten die NanoClaw verwerkt worden naar Anthropic's API gestuurd zodat Claude antwoorden kan genereren. Dit betekent dat je WhatsApp-berichten — of in ieder geval de berichten gericht aan de assistent — je apparaat verlaten en verwerkt worden door Anthropic's servers. NanoClaw beperkt dit op verschillende manieren. Alleen berichten die expliciet aan de assistent gericht zijn worden naar de API gestuurd — de bot verwerkt of bewaart geen berichten die niet aan hem gericht zijn. De gespreksgeschiedenis opgeslagen in SQLite blijft op je machine. De CLAUDE.md-geheugenbestanden blijven op je machine. En als je NanoClaw configureert om Ollama te gebruiken in plaats van Anthropic, vindt de AI-verwerking ook lokaal plaats — niets verlaat je netwerk.
Voor de meeste gebruikers is de praktische privacysituatie: je WhatsApp-berichten blijven op je apparaat behalve wanneer je de AI-assistent expliciet een vraag stelt, op welk moment dat specifieke bericht naar Anthropic wordt gestuurd (of lokaal verwerkt met Ollama). Dat is een wezenlijk beter privacyverhaal dan cloud-AI-services die alles wat je typt verwerken en opslaan.
WhatsApp is waar je leven zich afspeelt. NanoClaw plaatst daar een AI-assistent — met de isolatie, het geheugen en het privacymodel dat het veilig maakt om te gebruiken in de groepen waar je dingen bespreekt die er echt toe doen.