Hoe bouw ik een OpenClaw AI agent?
Leer hoe u een self-hosted AI agent bouwt zoals OpenClaw. Wij bespreken de architectuur en de noodzaak van hardening na CVE-2026-32922 met een score van 9.9.
Wat OpenClaw precies is
OpenClaw is een self-hosted persoonlijke AI-agent. U voert het uit op uw eigen server, koppelt het aan de chat-apps die u al gebruikt, en het kan shell-commando's uitvoeren, een browser besturen, uw bestanden lezen en schrijven, en handelen op basis van de berichten die u stuurt. Het heeft een MIT-licentie, is local-first, en heeft halverwege 2026 meer dan 380.000 GitHub stars, wat het een van de meest-starred projecten op het platform maakt. Onder de complexiteit is het een relatief kleine set onderdelen die op een logische manier aan elkaar zijn gekoppeld. Deze post behandelt deze onderdelen, zodat u begrijpt hoe een tool als deze is gebouwd en waar de risico's liggen.
Eén waarschuwing vooraf, omdat dit elke ontwerpkeuze hieronder beïnvloedt. In maart 2026 werden er negen beveiligingsproblemen van OpenClaw bekendgemaakt binnen vier dagen, inclusief een kritiek privilege-escalatie-lek met een score van 9.9 uit 10 (CVE-2026-32922). Het project is ontworpen om door u, de operator, te worden beveiligd. Een agent die elke opdracht kan uitvoeren, is slechts zo veilig als de machine waarop deze draait en de beperkingen die u instelt. Houd dit in gedachten tijdens het lezen.
De gateway daemon: één proces, privé gehouden
In het centrum staat één proces dat continu draait, meestal de gateway genoemd. Dit is het control plane. Het ontvangt berichten, bepaalt wat er moet gebeuren, voert de tools uit en stuurt antwoorden terug. Alles wat overig is, wordt hierop aangesloten.
Het belangrijkste feit over de gateway is waar deze luistert. Standaard bindt OpenClaw dit aan het loopback-adres, 127.0.0.1, waardoor het niet bereikbaar is via het internet, tenzij u dit expliciet blootstelt. Laat het daar staan. Dit is het enige proces dat commando's uitvoert; een blootgestelde gateway geeft iedereen die hem vindt een remote foothold in uw server. Wanneer u de gateway vanaf uw laptop moet bereiken, doe dit dan via een VPN of een SSH-tunnel in plaats van een poort te openen. Niemand kan een poort aanvallen die niet bereikbaar is.
Channel connectors: een bericht ontvangen en een antwoord verzenden
Een persoonlijke agent is alleen nuttig als u erover kunt communiceren via de apps die u al gebruikt. Dat is de taak van de channel connectors. Elke connector spreekt met één platform, zoals Telegram, WhatsApp, Slack of Discord, via de bot API of webhooks van dat platform.
De structuur is voor alle connectoren gelijk. De connector registreert een bot bij het platform, ontvangt uw inkomende bericht (door het platform te pollen of door een webhook te ontvangen die het platform pusht), geeft dat bericht door aan de gateway, en plaatst het antwoord van de gateway via dezelfde API terug. De connector is een dunne vertaallaag. Het zet "een Telegram-bericht is gearriveerd" om in "hier is tekst voor de agent" en vice versa. Het bouwen van een eigen connector is voornamelijk een kwestie van de bot-documentatie van één platform lezen en het berichtformaat mappen op dat van de gateway.
De hersenen en de tool loop
Binnen de gateway bevindt zich het onderdeel dat het een agent maakt in plaats van een chatbot. Het is een loop.
Een bericht komt binnen. De gateway stuwt het naar een taalmodel samen met een lijst met tools die het model mag gebruiken. Het model leest het bericht en beslist: direct antwoorden, of een tool aanroepen. Als het een tool aanroept, voert de gateway die tool uit, vangt het resultaat op en stuurt het resultaat terug naar het model. Het model bekijkt het resultaat en beslist opnieuw. Dit herhaalt zich totdat het model niets meer te doen heeft en een definitief antwoord genereert.
Die loop is het kernconcept van een agent, en het is dezelfde loop of de agent nu in een chat-app of in een terminal leeft. Voor de manier waarop tools op een standaard manier aan die loop worden gekoppeld, is connecting tools through the Model Context Protocol een goede volgende stap, en voor de model-zijde vult running the model itself on your own hardware de andere helft aan.
De tool set is het doel, en het gevaar
De tools zijn wat OpenClaw krachtig maakt. Een tool die een shell-commando uitvoert, een tool die een browser bestuurt, een tool die bestanden leest en schrijft. Geef de bovenstaande loop toegang tot deze tools, en het kan bijna alles doen wat u met een toetsenbord kunt doen. Die reikwijdte is het volledige product, en het is ook het volledige risico.
Een agent die elke opdracht kan uitvoeren, handelend op instructies die via een chat-app binnenkomen, is een groot aanvalsoppervlak. Een slechte instructie, een prompt-injection aanval verborgen in een webpagina die de browser-tool bezoekt, of een bug zoals de gebreken van maart 2026, kan "lees mijn agenda" veranderen in "verwijder mijn bestanden". De beperkingen zijn dus geen optionele extra's. Draai de agent als een dedicated, unprivileged user zonder sudo, zodat een compromis niet kan escaleren. Beveilig de gevaarlijke tools achter een goedkeuringsstap, zodat de agent eerst vraagt voordat hij iets destructiefs doet. Sandbox de uitvoering van tools, zodat een runaway command wordt ingeperkt. Isoleer de API-key van het model, zodat een lek niet de toegang tot uw account aan een aanvaller geeft.
Voordat u iets blootstelt dat shell-commando's uitvoert, werk dan bewust de basisprincipes door. Genereer hier een checklist voor uw eigen systeem, en volg deze van boven naar beneden:
Het onderdeel over de unprivileged-user wordt uitgebreid behandeld in running services as an unprivileged user, en de volledige handleiding voor een veilige setup voor het echte project staat in running OpenClaw safely on a VPS.
Geheugen als gewone bestanden
De meeste mensen verwachten dat het geheugen van een agent in een database leeft. Dat is bij OpenClaw niet het geval. Het slaat geheugen op als gewone Markdown-bestanden op de schijf, en die keuze is het waard om te kopiëren.
Bestanden zijn eenvoudig. Er is geen schema om te migreren, geen service die draaiende moet blijven, en geen querytaal om te leren. Ze zijn inspecteerbaar: u kunt de map openen en precies lezen wat de agent over u gelooft, een foutieve notitie corrigeren door een bestand te bewerken, of een herinnering verwijderen door een bestand te verwijderen. En ze zijn verplaatsbaar, want het verplaatsen van de agent naar een nieuwe server is slechts een kwestie van een map kopiëren. Voor een persoonlijke agent voor één gebruiker is een map met tekstbestanden voldoende, en het houdt het hele systeem eenvoudig te begrijpen.
Skills: een verplaatsbare manier om vaardigheden toe te voegen
Naast de ingebouwde tools gebruikt OpenClaw een verplaatsbaar skill-formaat, zodat de community de mogelijkheden kan uitbreiden zonder de kern te wijzigen. Een skill is een zelfstandige bundel van instructies en soms code die de agent een nieuwe taak aanleert. De agent laadt een skill wanneer de taak daarom vraagt.
De waarde van een formaat als dit is dat vaardigheden deelbaar worden. Iemand schrijft een skill voor een specifieke taak, publiceert deze, en anderen voegen deze toe. Als u uw eigen agent bouwt, bespaart het vroegtijdig definiëren van een klein, duidelijk extensieformaat u het hardcoderen van elke capaciteit in de kern op een later moment.
Gebruik uw eigen model
OpenClaw is model-agnostisch. Het bevat geen eigen taalmodel. In plaats daarvan maakt het verbinding met een model naar uw keuze, wat een gehoste API kan zijn of een model dat u zelf draait.
Deze splitsing is belangrijk voor kosten, privacy en controle. Een gehoste API biedt u de sterkste modellen zonder hardware te beheren, tegen een prijs per token en waarbij uw prompts uw server verlaten. Een zelf-gehost model, geserveerd met iets als Ollama, houdt elk bericht op uw eigen machine en kost alleen hardware en stroom, tegen de prijs van het draaien van een kleiner of langzamer model. Veel mensen combineren beide. Als u een agent volledig privé wilt houden, is self-hosting the model on your VPS het onderdeel dat die laatste kloof dicht, en Hermes Agent is een andere zelf-gehoste agent die het waard is om mee te vergelijken.
Moet u er een bouwen?
U kunt dit alles zelf bouwen. De onderdelen zijn niet exotisch: een daemon, een paar chat-connectors, een model-en-tools loop, een map met Markdown, en een plugin-formaat. Het begrijpen ervan is zeer nuttig, omdat het elke agent die u gebruikt ontmystificeert en u precies vertelt waar het gevaar schuilt.
Maar voor de meeste mensen is het eerlijke antwoord: gebruik het echte product en maak het beveiligd, in plaats van het opnieuw uit te vinden. OpenClaw heeft de connectoren, de loop en het skill-formaat al opgelost, en het heeft echte security-audits ondergaan. Uw inspanning is beter besteed aan het deel dat daadwerkelijk van u is om goed te doen: de setup en de beveiliging op uw eigen server. Bouw een kleine versie om te leren. Draai en beveilig de echte versie voor gebruik.
De algemene fundamenten staan in building your own AI agent on a VPS, en building an agent with Claude laat dezelfde concepten zien met een specifiek model als de hersenen.
FAQ
Is het moeilijk om een agent zoals OpenClaw te bouwen?
De individuele onderdelen zijn niet moeilijk. Een gateway-proces, een chat-connector, een model-en-tools loop en een map met bestanden zijn elk op zichzelf eenvoudig. Het moeilijke deel is het veilig uitvoeren. Een agent die shell-commando's uitvoert via chatberichten is een serieus aanvalsoppervlak, en het correct instellen van de sandboxing, permissies en de unprivileged-user setup kost meer werk dan het aan elkaar koppelen van de functies.
Waarom slaat OpenClaw geheugen op als Markdown-bestanden in plaats van een database?
Omdat voor een persoonlijke agent voor één gebruiker bestanden voldoende zijn en veel eenvoudiger. Er is geen databaseservice die draait, het geheugen is gemakkelijk met de hand te lezen en te corrigeren, en het verplaatsen van de agent naar een andere server is simpelweg het kopiëren van een map. Een database is nuttig op grotere schaal, niet hier.
Wat is het gevaarlijkste onderdeel van een persoonlijke AI-agent?
De tools die de agent in staat stellen te handelen: het uitvoeren van shell-commando's, het besturen van een browser en het schrijven van bestanden. Dat is de reden om hem te bouwen en de reden dat hij u schade kan toebrengen. Het beveiligingsincident van OpenClaw in maart 2026, met negen problemen in vier dagen inclusief een kritiek lek met een score van 9.9, is het duidelijkste argument om de tool-laag met zorg te behandelen: draai als een unprivileged user, beper schadelijke acties en gebruik sandboxing voor de uitvoering.
Heb ik mijn eigen taalmodel nodig om er een te bouwen?
Nee. Agents zoals OpenClaw zijn model-agnostisch, dus u koppelt een model naar uw keuze. Dat kan een gehoste API zijn voor de sterkste modellen, of een model dat u zelf draait voor volledige privacy. Zelf-hosten met Ollama houdt elk bericht op uw eigen server tegen de kosten van het draaien van een kleiner model.