Sådan er OpenClaw bygget op — en arkitektur der kører 24/7 på din egen hardware

3 min read

De fleste AI-chatbots lever i skyen. Du sender en besked, får et svar, og så glemmer systemet dig. OpenClaw og lignende agent-frameworks vender den model på hovedet: her kører en persistent gateway lokalt på din egen maskine, klar til at modtage beskeder fra alle dine kanaler døgnet rundt.

I dette indlæg dykker vi ned i den interne arkitektur — ikke kode eller opsætning, men selve designet der gør det muligt.

Gateway-laget: én indgang til alle kanaler

OpenClaw Gateway arkitektur
OpenClaw Gateway arkitektur

Yderst i systemet sidder en Gateway, som fungerer som ren trafikdirigent uden nogen form for intelligens. Den tager imod beskeder fra WhatsApp (via Baileys), Telegram (via grammY), Slack, Discord og iMessage — og normaliserer dem til ét fælles format, inden de sendes videre.

En Session Router mapper hver samtale til en isoleret agent-session. Direkte beskeder bliver til én persistent session pr. bruger, mens gruppechat spawner separate sessioner, så kontekst aldrig lækker mellem deltagere.

For at sikre deterministisk afvikling bruger Gateway’en Lane Queues: hver session får sin egen eksekveringsbane med konfigurerbar concurrency (standard: én). Det forhindrer race conditions, når agenten udfører multi-step tool chains, hvor rækkefølgen er afgørende.

Ved siden af kører en WebSocket-server, der eksponerer sessionstranscripts, afventende tool-godkendelser og agenttilstand til kontrolinterfaces — terminal-UI’er, macOS menubar-apps eller web-dashboards. Gateway’en indeholder nul agentlogik; den router beskeder og styrer sessiongrænser. Intet andet.

Agent-eksekveringsløkken: seks trin fra besked til svar

Agent-eksekveringsløkken
Agent-eksekveringsløkken

Hver brugerbesked udløser en streng seks-trins pipeline i Agent Runtime:

  1. Intake — den normaliserede besked modtages fra lane-køen.
  2. Context Assembly — ræsonneringsprompten bygges op fra sessionshistorik, semantisk hukommelsessøgning, workspace-filer som AGENTS.md og SOUL.md (driftsinstruktioner og personlighed) samt skemaer for tilgængelige værktøjer.
  3. Model Inference — sprogmodellen genererer naturligt sprog og strukturerede tool calls via JSON Schema-baserede outputformater.
  4. Tool Execution — validerede tool calls dispatches til deres handlers, som kan køre i sandboxes eller direkte på maskinen.
  5. Result Backfill — tool-resultater injiceres tilbage i samtalen som førsteklasses beskeder, synlige for efterfølgende ræsonneringstrin.
  6. Streaming Reply — delsvar streames til brugeren i realtid, ofte inden tool-eksekvering er færdig (“Jeg tjekker din kalender nu…”).

Løkken stopper, når modellen beslutter at ingen flere tool calls er nødvendige. Ingen ekstern orkestrering styrer denne beslutning — agenten afgør autonomt, hvornår opgaven er fuldført.

Hukommelse: filsystemet som sandhedskilde

Hukommelsesarkitektur
Hukommelsesarkitektur

OpenClaw fravælger bevidst vektordatabaser. I stedet bruges et to-lags hukommelsessystem, hvor filsystemet er den autoritative kilde.

Korttidshukommelse lever i tidsstemplede daglige logfiler — simple Markdown-filer under en memory-mappe. Langtidshukommelse bor i MEMORY.md og SOUL.md: strukturerede filer med destilleret viden og kerneoverbevisninger. Workspace-filer som AGENTS.md indeholder uforanderlige driftsinstruktioner, der indlæses i hvert context window uden søgning.

Søgning kombinerer BM25 nøgleordssøgning med vektorsimilaritet for semantisk genkaldelse. Men vektorindekser behandles som flygtige caches — de genbygges automatisk fra Markdown-filerne ved opstart, så intet data går tabt, selv hvis indekserne korrumperer.

Hukommelsesskrivninger sker udelukkende gennem eksplicitte memory_write tool calls under agentens eksekvering — aldrig som automatiske sideeffekter. Resultatet: al agentviden forbliver menneskelæsbar, redigerbar i enhver teksteditor og versionerbar via Git.

Værktøjer og skills: sådan får agenten evner

Værktøjer definerer agentens handlingsmuligheder og følger et strengt registreringsmønster. Hvert værktøj deklarerer sit navn, en naturligsproglig beskrivelse, et JSON Schema-parameterspec og en eksekveringshandler.

Eksekvering foregår enten direkte på maskinen eller i en valgfri Docker-sandbox med non-root brugere, read-only filsystemer og netværksisolering. Kritiske værktøjer — sletning, finansielle transaktioner, adgang til legitimationsoplysninger — udløser et human-in-the-loop godkendelsesflow. Eksekveringen pauser, indtil brugeren bekræfter via WebSocket-kontrolfladen.

Skills udvider modellen ved at pakke relaterede værktøjer med dokumentation i distribuerbare bundles, ofte hentet fra et community-registry kaldet ClawHub. Systemet beskærer dynamisk tool-skemaer i konteksten baseret på samtalens emne, så agenten ikke bruger tokens på at præsentere irrelevante kapabiliteter.

Context window-håndtering: dynamisk komprimering

Context window-håndtering
Context window-håndtering

I stedet for naivt at tilføje al historik, indtil modellens grænse rammes, implementerer OpenClaw sofistikeret context engineering. Når token-trykket nærmer sig modellens kapacitet — dynamisk aflæst fra den tilsluttede providers specifikationer — udløses session compaction.

Processen opsummerer de ældste samtaletrin, mens den bevarer semantisk mening og den strukturelle integritet af tool call-resultatpar. For lange samtaler offloades historiske detaljer gradvist til daglige logfiler, mens kun de seneste trin forbliver i det aktive context window.

Sessioner nulstilles automatisk ved konfigurerbare grænser — typisk kl. 04:00 UTC — hvilket lukker dagens log og starter et nyt context window. Kombinationen af komprimering, offloading og periodisk reset muliggør i praksis ubegrænset samtalelængde inden for faste context windows.

Browserautomatisering: semantisk DOM-forståelse

OpenClaw undgår dyr vision-baseret browserstyring ved at udtrække semantiske snapshots af websider. Browser-værktøjet parser den levende DOM til en struktureret tekstrepræsentation, hvor interaktive elementer bliver tokens som [btn:Submit] for knapper eller [input:email] for formularfelter.

Denne tilgang bruger ca. 500 tokens pr. side, sammenlignet med tusindvis for vision-baseret analyse. Det muliggør hurtig inferens uden multimodale modeller. Når højere fidelitet kræves for komplekse UI’er, kan et vision snapshot-mode falde tilbage til fuldsidescreenshots analyseret af multimodale modeller — men det forbliver opt-in grundet den 10-50x højere token-omkostning.

Workspace-strukturen: én kilde til sandhed

Agentens workspace — typisk ~/.openclaw/workspace — er den komplette tilstandsrepræsentation af systemet:

  • AGENTS.md — driftsinstruktioner, altid indlæst i kontekst
  • SOUL.md — personlighed og kerneoverbevisninger
  • MEMORY.md — destilleret langtidsviden
  • memory/ — tidsstemplede daglige logfiler (episodisk hukommelse)
  • skills/ — eksekverbare kapabiliteter og deres dokumentation

Ingen skjult tilstand eksisterer uden for dette mappetræ. Genstart af agenten mister intet, fordi al tilstand persisterer i menneskelæsbare filer. Det muliggør trivielle backups, versionsstyring, manuel hukommelsesredigering og fuld gennemsigtighed i, hvad agenten “ved” på ethvert tidspunkt.

Fem designprincipper bag det hele

  1. Streng adskillelse af ansvar — routing, intelligens og kapabiliteter er isolerede lag, der udvikler sig uafhængigt.
  2. Filsystem først — al tilstand lever i redigerbare, inspicerbare filer frem for uigennemsigtige databaser.
  3. Minimal abstraktion — systemet undgår komplekse orkestreringsengines til fordel for en simpel persistent løkke.
  4. Forsvar i dybden — sessionsisolering, valgfri sandboxing og menneskelig godkendelse lagrer sikkerhed uden at kompromittere brugervenlighed.
  5. Kompositionel udvidbarhed — nye kapabiliteter ankommer via skill bundles frem for kernemodifikationer, hvilket bevarer opgraderingsstier.

Resultatet er en arkitektur, der er sofistikeret nok til autonom værktøjsbrug i den virkelige verden, men simpel nok til at køre uovervåget 24/7 på forbrugerhardware — alt imens brugeren bevarer fuld suverænitet over data og adfærd.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *