PODS · OPENCLAW · · 13 MIN READ

De mentale kaart van OpenClaw

Een conceptuele blauwdruk: hoe OpenClaw denkt, niet wat het oplevert

Pill that activates the Mental Program
Pill · MENTAL PROGRAM

OpenClaw vertrekt vanuit een hardnekkige observatie. De meeste mensen praten al de hele dag met software, alleen niet met AI. Hun WhatsApp draait, hun Telegram zoemt, hun Slack staat open. Daar bespreken ze projecten, geven ze antwoorden, sturen ze foto’s, leggen ze afspraken vast. Een AI-assistent die in een aparte browser-tab woont en daar wacht tot ze komen, is structureel buitenboord. Hij mist de context van wat ze zojuist deden, hij mist de continuïteit van een lopend gesprek, hij mist de plek waar het werk gebeurt.

01 · KERNINTUITIEEen collega die in jouw kanalen leeft

De kernintuïtie achter OpenClaw is dat een persoonlijke AI moet wonen waar de gebruiker al woont. In zijn messaging-apps, in zijn telefoongesprek, in zijn voicememo. Met toegang tot het materiaal dat hij toch al verzamelt. Op zijn eigen machine, zodat de data niet eerst naar een vendor reist voor hij erover kan praten.

Die intuïtie verklaart de hele architectuur. Het verklaart waarom er een aparte laag is voor kanalen, waarom er een centrale gateway is, waarom workspaces als folders op disk leven, waarom er een heartbeat bestaat zodat de agent eigen tijd heeft, waarom skills uitbreidbaar zijn vanuit conversatie. Alles wat in de fieldguide volgt is een uitwerking van één gedachte: een persoonlijke AI moet een collega worden die in jouw werkomgeving leeft, niet een tool die je opent.

02 · DRIE LAGENWaarom de scheiding tussen kanaal, brein en bron

OpenClaw splitst zichzelf in drie lagen: Interfaces, Gateway en Services. Op het eerste gezicht lijkt dat een standaard drie-laag-architectuur. Het wordt interessant zodra je vraagt wat er misgaat als je een laag samen zou voegen.

De Interfaces-laag bestaat omdat mensen op verschillende manieren met software praten. Iemand op zijn telefoon wil voicememo’s sturen vanuit WhatsApp. Iemand achter zijn bureau wil tikken in de macOS-menubar. Iemand op SSH-afstand wil een TUI. Zonder een aparte interfaces-laag zou OpenClaw moeten kiezen welke modaliteit hij ondersteunt, en alle andere uitsluiten. Door de laag te isoleren, kan elk kanaal zijn eigen ergonomie hebben, terwijl wat er onder gebeurt overal hetzelfde is.

De Gateway-laag bestaat omdat anders elk kanaal zijn eigen authenticatie, sessie-management, routing en agent-aansturing moest doen. Twintig kanalen zouden dan twintig keer dezelfde logica bevatten, met twintig manieren waarop het ergens net iets anders werkt. De Gateway is de zuinige keuze: één proces dat alles dirigeert, één plek waar regels staan, één deur die naar de buitenwereld leidt.

De Services-laag bestaat omdat OpenClaw geen LLM is, geen messaging-platform, geen browser-engine. Het maakt gebruik van die dingen. Door ze als externe services te behandelen, kan OpenClaw zonder eigen herziening van model wisselen, van messaging-provider wisselen, van browser-implementatie wisselen. De services-laag is de plek waar OpenClaw zegt: dit hoort niet bij mij, ik werk er alleen mee.

De vrijheid die elke laag geeft aan de erop-volgende is precies wat de architectuur duurzaam maakt. De interfaces hoeven niets te weten over LLM-providers, de gateway hoeft niets te weten over Discord’s gateway-protocol, de services hoeven niets te weten over de gebruiker. Elke laag denkt in zijn eigen taal.

Interfaces WhatsApp · Telegram · Discord · iOS · macOS · TUI · CLI Gateway routing · sessies · auth · agent-runtime · heartbeat Services LLM-providers · messaging-API's · browser · filesystem
CONCEPTUELE AFHANKELIJKHEID, GEEN MESSAGE-FLOW

De pijlen geven de afhankelijkheid aan, niet de richting waarin een message reist. Een message reist uiteraard beide kanten op. Maar conceptueel hangt de gateway boven de services en de interfaces boven de gateway, in de zin dat hogere lagen mogen weten van lagere maar niet andersom.

03 · PRIMAIRE ABSTRACTIESDe woorden waarmee OpenClaw zichzelf denkt

OpenClaw heeft elf primaire abstracties. Geen ervan is gekozen voor encyclopedische compleetheid; samen vormen ze het minimale woordenboek waarmee het systeem zichzelf kan beschrijven. Wie deze elf in zijn hoofd heeft, kan de fieldguide vrij doorbladeren en weet altijd waar de tekst zich bevindt.

Claw

Een individuele agent met eigen persoonlijkheid, geheugen en kanaalverbindingen. Eén gateway kan meerdere claws tegelijk draaien.

Metafoor: een huishoudelijke hulp die jouw spullen kent en niet die van de buren.

Gateway

Het centrale Node.js-proces dat alle kanalen, sessies en agent-runs orkestreert. Eén gateway per machine; de claws leven erbinnen.

Metafoor: de telefooncentrale die alle lijnen aan elkaar knoopt.

Daemon

De gateway wanneer hij als achtergrondservice draait, zodat je geen terminal hoeft open te houden. Op macOS via launchd, op Linux via systemd, op de Mac ook via de menubar-app.

Metafoor: de telefooncentrale die ook 's nachts werkt zonder dat iemand aanwezig is.

Workspace

De folder met markdown-bestanden die een claw zijn persoonlijkheid en geheugen geeft. Standaard onder ~/.openclaw/workspace/. Elke claw heeft één workspace.

Metafoor: zijn brein op disk, te lezen met een tekst-editor.

Channel

Een verbinding met een messaging-platform of een directe interface. Eén claw kan op meerdere channels tegelijk aanwezig zijn, en op één channel kunnen meerdere claws bedienen.

Metafoor: een lijn waarover gesprekken kunnen lopen, ongeacht wie er aan welke kant zit.

Session

Een doorlopend gesprek tussen jou en een claw, met geheugen tussen beurten. Sessies zijn gebonden aan een combinatie van channel plus peer; verschillende chats zijn verschillende sessies.

Metafoor: een doorlopende thread waar nieuwe beurten zich aanhechten.

Skill

Een herbruikbare vaardigheid, opgeslagen als een mapje met een SKILL.md erin. De claw weet wanneer hij een skill kan aanroepen, op basis van wat in die markdown staat.

Metafoor: een vakman-toolkit waarvan elk gereedschap zelf vertelt waar het voor is.

Tool

Een primitieve actie die de claw kan uitvoeren: een bestand lezen, een webpagina openen, een bash-commando draaien. Skills zijn opgebouwd uit tools.

Metafoor: een schroevendraaier, voor zichzelf niet veel waard, samen met andere gereedschap onmisbaar.

Heartbeat

Een interne timer die de claw periodiek wakker maakt zonder dat jij iets stuurt. Hierdoor kan hij proactief geheugen onderhouden, herinneringen sturen, lopende taken bekijken.

Metafoor: de hartslag, niet hoorbaar als alles goed gaat, onmisbaar voor het feit van leven.

Soul

Het bestand SOUL.md in de workspace dat de persoonlijkheid en waarden van de claw vastlegt. Wordt bij elke sessie als systeem-context geladen.

Metafoor: het karakter, redelijk stabiel, niet helemaal onveranderlijk maar zelden herzien.

Memory

Alles wat de claw onthoudt tussen sessies door: korte-termijn (MEMORY.md), dagnotities, en optioneel een vector-index voor semantisch zoeken.

Metafoor: het geheugen van een vakman, opgebouwd door ervaring, toegankelijk via context.

Wat het denkmodel scherp maakt: Soul en Memory zijn met opzet gescheiden. Persoonlijkheid is wat de claw IS; geheugen is wat hij meegemaakt heeft. De ene laag verandert zelden, de andere groeit dagelijks. Door ze als aparte bestanden te modelleren kunnen ze in verschillende tempo’s evolueren, en kun je het ene resetten zonder het andere te raken. Dat is geen technisch detail, het is een onderliggende opvatting over wat een persoon is.

04 · HET LEVENSRITMEWaarom OpenClaw geen reactieve service is

Een gewone API-service wacht op een request, doet zijn werk, gaat dan idle. Tussen requests is hij effectief niet bestaand. OpenClaw doet dat anders. Het systeem heeft een eigen ritme dat doorgaat ongeacht of jij iets stuurt of niet.

Waarom kiest OpenClaw daarvoor? Omdat een agent die alleen leeft wanneer hij wordt aangesproken, geen agent is. Hij is een functie. Een collega die alleen iets doet als jij hem aanstuurt, is een uitvoerder. Een collega die zelf doorpraat, zelf herinneringen onderhoudt, zelf zijn ochtend voorbereidt, is iemand naast je. Die verschuiving van functie naar iemand is wat het levensritme architectonisch mogelijk maakt.

Vier mechanismen samen vormen dat ritme.

De heartbeat

De heartbeat geeft de claw eigen tijd. Elke X minuten, binnen actieve uren die jij configureert, wordt hij wakker en leest hij zijn HEARTBEAT.md. Daar staat wat hij in zijn eigen tijd hoort te doen: geheugen samenvatten, herinneringen checken, lopende projecten reviewen. Als er niets is, zwijgt hij. Het belangrijke is niet wat hij doet bij elke heartbeat, het belangrijke is dat hij kan. Daardoor kan een agent verantwoordelijkheid dragen voor iets dat niet aan jou hangt.

Sessies als coherentie-eenheid

De sessie, niet de individuele message, is de eenheid van coherentie. Dat is een keuze. Per-message zou betekenen dat elk antwoord vanuit nul context begint en alle voorgaande beurten als een doos vol losse zinnen aan het LLM aanlevert. Per-sessie betekent dat een gesprek zich opbouwt en de claw bij elke beurt de hele opbouw kan zien. Sessies zijn daarom gebonden aan een specifieke combinatie van channel en peer: jouw gesprek in Telegram is een andere sessie dan jouw gesprek in WhatsApp, ook al praat dezelfde claw met dezelfde jou.

Hooks als poort voor de buitenwereld

De wereld gaat door zonder de claw. Er komt een mail binnen, een Gmail Pub/Sub piept, een webhook vuurt. Zonder hooks zou de claw alleen weten wat jij hem vertelt. Met hooks kan de buitenwereld het ritme van de claw binnenkomen, en kan de claw daarop reageren alsof het een gesprek was. Belangrijk: deze externe events worden gemarkeerd als untrusted. De claw weet dat ze van buiten komen, hij behandelt ze met dezelfde voorzichtigheid als een bericht van een onbekende.

Cron als ingebouwde scheduler

Waarom cron niet uitbesteden aan een externe scheduler? Omdat een externe scheduler niet weet welke sessie erbij hoort, welke skills relevant zijn, hoeveel context er beschikbaar moet zijn, welk model gebruikt mag worden. De claw weet dat allemaal wel. Door cron intern te modelleren, kan een geplande taak dezelfde rijkdom hebben als een handmatige conversatie. Een job kan in een nieuwe geïsoleerde sessie draaien of in een bestaande lopende thread, met zwaardere of lichtere modellen, met fallback-paden, met announcement-policies. Een externe cron-daemon kan dat niet.

Samen vormen heartbeat, sessies, hooks en cron geen serie van features maar een opvatting over wat tijd is voor een agent. Tijd is geen wachtkamer tussen requests. Tijd is materie waarmee de agent iets kan doen.

05 · WAAR DE MAGIE ZITVier ontwerpkeuzes die uitstijgen boven het functioneel-noodzakelijke

Een hoop in OpenClaw is gewoon goed engineering. Een paar dingen zijn opvallend: keuzes die je niet zou tegenkomen in een minder doordachte runtime. Die plekken zijn waar de auteur iets meer wilde dan werken.

  • De scheiding Soul en Memory

    Persoonlijkheid en ervaring leven in aparte bestanden, in verschillende lifecycles. Een runtime die deze twee samen had geknepen, zou bij elke memory-flush een impliciete personality-drift krijgen. Door ze te scheiden blijft de claw zichzelf terwijl hij groeit. Dat is geen optimization, dat is een visie op identiteit.

  • De heartbeat als architecturaal element, niet als feature

    Veel systemen hebben een ergens-een-cron-job. OpenClaw heeft het concept van eigen tijd ingebakken op laag-niveau, met activeHours, target, eigen model-keuze en HEARTBEAT_OK-stilte. Wat dit anders maakt: de heartbeat is niet bedoeld om iets aan te tonen. Hij is bedoeld om in stilte te bestaan totdat hij iets te zeggen heeft.

  • Channel-bound state als veiligheidsgrens

    Wat in WhatsApp besproken is, blijft in WhatsApp. Wat in Telegram gebeurt, lekt niet over naar Slack. Dat klinkt vanzelfsprekend maar het is een keuze: een runtime die alles in één geheugen had gestopt, was makkelijker te bouwen. Door per-channel-peer als sessie-scope te kiezen, beschermt OpenClaw de gebruiker tegen onbedoelde context-vermenging die in andere systemen wel zou voorkomen.

  • De pragmatische Docker-non-main-mode

    Sandboxen kost cold-start-seconden. Een dogmatische runtime had alles in de sandbox gezet of niets. OpenClaw kiest een tussenweg: de hoofdsessie waar je zelf met de claw praat blijft snel, gespawnde subagents (die met onbekende data werken) gaan automatisch in een container. Dat is geen compromis, dat is een afweging op het juiste niveau, op basis van waar het risico daadwerkelijk zit.

Wat deze vier punten gemeen hebben: ze geven antwoord op een vraag die de architectuur had kunnen ontwijken. Een minder zorgvuldig systeem had die vragen open gelaten. OpenClaw heeft ze beantwoord, en de antwoorden in code gezet.

06 · WAAR HET SCHAAFWERK ZITSpanningen die de fieldguide niet helemaal verbergt

Een eerlijke mentale kaart wijst ook waar de naden zichtbaar zijn. OpenClaw is een levend systeem; sommige delen voelen afgerond, andere voelen alsof er nog gewerkt wordt.

De WhatsApp-koppeling. De ban-risico-waarschuwing in Deel 3 is meer dan een disclaimer; het is een erkenning dat OpenClaw’s primaire kanaal voor veel gebruikers via een reverse-engineered protocol loopt dat tegen WhatsApp’s terms-of-service ingaat. Voor de gebruiker betekent dat een eeuwige spanning tussen ik wil mijn AI in WhatsApp en ik kan mijn nummer kwijt raken. Voor OpenClaw zelf betekent het dat een belangrijk gebruiks-scenario op een infrastructurele wankelheid rust.

De memory-uitbreidingen die naast core staan. Memory-wiki, active-memory, dreaming, REM backfill, grounded scenes. Je leest het en je voelt dat hier veel iteratie heeft gezeten. Sommige onderdelen zitten in core, andere als plugins, weer andere worden als “extension” geïntroduceerd. De functionele waarde lijkt aanwezig; de mentale netheid van één geheugen-systeem nog niet.

De DM-policies die nu gecentraliseerd zijn. Deel 8 vermeldt dat alle kanalen nu één mention-policy delen, “voorheen had elk kanaal zijn eigen regels, wat tot verwarrende verschillen leidde.” Dat is een ingebakken erkenning van groei-pijn. Het is opgelost, maar de voetafdruk van de oude inconsistentie zal nog wel in oude configuraties terugkomen.

De fieldguide zelf is een snapshot. De inleiding zegt het expliciet: OpenClaw evolueert in een hoog tempo, dit document beschrijft v2026.5.22, voor actuele documentatie zie docs.openclaw.ai. Dat is eerlijk, maar het betekent ook dat een groot deel van de fieldguide-lezing een soort archeologie wordt: wat klopte op die datum, wat is inmiddels anders?

Geen van deze punten is een argument tegen OpenClaw. Het zijn de plekken waar je voelt dat het systeem leeft, op een manier die voor de schrijvers misschien ongemakkelijk is om te benoemen maar voor de lezer juist scherp houdt waar de aandacht naartoe moet.

07 · WAT BUITEN OPENCLAW BLIJFTDe grenzen die het systeem bewust trekt

OpenClaw probeert niet alles te zijn. Een paar dingen zijn met opzet buiten de scope gehouden, en die keuzes verklaren wat het wel is.

OpenClaw is geen LLM-provider. Het ondersteunt er meer dan een dozijn, van Anthropic en OpenAI tot lokaal-Ollama. Maar het bouwt geen eigen model. Door provider te zijn van providers in plaats van model, kan OpenClaw mee-evolueren met een markt die sneller verandert dan het zelf zou kunnen volgen.

OpenClaw is geen messaging-platform. Het brengt geen eigen netwerk, geen eigen identiteitsbeheer, geen eigen chat-app. Het haakt aan op WhatsApp, Telegram, Discord, Slack en zo verder. De native iOS- en macOS-apps zijn de uitzondering, en die zijn er omdat een eigen interface voor direct gebruik onmisbaar bleek. Maar het collectief-messaging blijft buitenstaander-werk.

OpenClaw is geen browser-engine. Playwright doet het zware werk, OpenClaw geeft de claw de tools om Playwright aan te sturen. De ARIA-snapshots, het hot-reloaden van profielen, de SSRF-bescherming, dat is bovenop een browser die al bestaat.

OpenClaw is geen marktplaats voor skills. Er is ClawHub als publieke registry, maar OpenClaw zelf bemoeit zich niet met wie skills bouwt of distribueert. De skill-policy-validatie staat in de gateway, het commerciële ecosysteem ligt eromheen.

OpenClaw is geen orchestratie voor cloud-deployments. Hij draait op jouw machine, met optioneel een server in plaats van je laptop. Maar Kubernetes, multi-tenant deployments, enterprise-SSO; dat is een ander spel. OpenClaw zegt: ik ben persoonlijk. Wat schaalbaar is, is wat één persoon ermee kan, niet hoeveel mensen samen.

Het uittekenen van wat OpenClaw niet is, geeft helderheid over wat het wel is: een persoonlijke, lokale, model-onafhankelijke runtime die in jouw bestaande digitale wereld leeft, niet eromheen.

08 · HET MENTALE HOUVASTVijf zinnen om mee te dragen

Wat je over zou houden als alle hierboven uitgevouwen ideeen samen tot vijf zinnen zouden inkrimpen. Geen samenvatting; vijf ankers die zich in de fieldguide steeds opnieuw zullen herhalen, en die hem doorlopend klein houden.

  1. Een claw is geen vraag-antwoord-tool, hij is een collega die in je bestaande gesprekken leeft.
  2. De gateway is één Node.js-proces dat alles dirigeert; de drie lagen erboven en eronder zijn opt-in en swap-baar.
  3. Persoonlijkheid en geheugen wonen als markdown-bestanden in een workspace die je zelf bezit, en zijn met opzet gescheiden.
  4. De heartbeat geeft de agent eigen tijd, anders zou het niets meer zijn dan een function-call met taalvermogen.
  5. Lokaal draaien is geen privacy-claim alleen, het is een architectuur-keuze die verklaart waarom alles eromheen werkt zoals het werkt.

Wie deze vijf zinnen in zijn hoofd heeft, kan elke pagina van de fieldguide herleiden tot iets dat hij al kent. Dat is wat een mentale kaart hoort te doen.

← Terug naar de OpenClaw Pod