Die vollständige OpenClaw-Architektur, die wirklich skaliert — Memory, Cron Jobs, Dashboard und die Fehler, die jeder macht

9 min read

Wie ein Skyrim-Savegame, das durch 200 Mods und zu viel Optimismus korrumpiert wurde.

Update (20. Feb 2026): Dieser Architektur-Guide entstand, bevor Anthropic die Claude Max OAuth-Token abschaffte. Die Patterns unten (Memory, Cron, Dashboard, Skills) sind gleich geblieben — aber die Model-Ebene hat sich geändert.

Was jetzt anders ist: Mein Stack läuft mit Kimi K2.5 primär + MiniMax M2.5 fallback, über OpenRouter auf zwei $5/Monat VPS (Hostinger + Hetzner). $200/Monat → $15. Die Architektur wurde einfacher — kein OAuth-Management, kein Rate-Limit-Tanz. Komplette Migration: für $15 neu aufgebaut.

Ich nutze OpenClaw täglich, seit es noch Clawdbot hieß. Meine Architektur habe ich dreimal komplett neu gebaut. Die erste Version war ein Chaos aus flachen Markdown-Dateien, das nach 10 Tagen unter seinem eigenen Gewicht kollabierte. Die zweite war besser, hatte aber kein Zeitgefühl — mein Agent verwies selbstbewusst auf ein Meeting vom Januar, als wäre es heute Morgen gewesen. Die dritte Version teile ich heute mit euch, und sie läuft seit Wochen stabil.

Kompletter Breakdown: Memory-Struktur, Cron Jobs, Dashboard, Voice Training, API-Management und die Security-Sachen, die die meisten überspringen. Keine Theorie. Nur das System, mit dem ich täglich meine Projekte per Slack-Nachricht steuere.

OpenClaw AI agent architecture memory organization system with folders and files structure
Wenn dein AI-Agent organisierter ist als dein Desktop-Ordner.

Warum dein OpenClaw ständig alles vergisst

Was passiert also wirklich. Du installierst OpenClaw, verbindest es mit Slack oder WhatsApp, fütterst es mit Informationen — Meetings, Tasks, Präferenzen, Projekt-Kontext — und die ersten Tage fühlen sich wie Magie an. Dein eigener Jarvis. Dann füllt sich das Context Window, Memory Compaction kickt rein, und plötzlich hält dein Agent dein Supabase-Projekt für ein Kochrezept, das er irgendwo halluziniert hat.

Die Index-Datei ist das, was alles zusammenhält

Mehr Memory auf das Problem zu werfen macht das Chaos nur größer. Was bei mir funktioniert hat: die Hölle aus Organisation. Stell dir vor wie Inventar-Management in jedem RPG — du kannst 200 Items tragen, aber wenn sie alle in einem Beutel liegen, findest du deinen Heiltrank nie, wenn der Boss-Fight startet.

Meine Architektur nutzt sechs Ordner mit klarer Hierarchie:

  • soul/ — Identity-Dateien. Wer der Agent ist, wie er sich verhält, auf welche Tools er Zugriff hat. Das Charakterblatt.
  • user/ — wer ich bin, meine Zeitzone, meine Präferenzen, mein Stack. Zeug, das sich nie ändert. Die NPC-Quest-Info.
  • daily/ — lebende Daily Briefs. Einer pro Tag, den ganzen Tag über aktualisiert, nach 7 Tagen archiviert.
  • projects/ — detaillierter Kontext zu aktiven Projekten. Agentur-Arbeit, SaaS-Builds, Content-Pipeline.
  • meetings/ — unterkategorisiert nach Typ (Agentur, Content, intern, extern). Jedes Meeting bekommt eine Zusammenfassung, nicht das komplette Transkript.
  • archive/ — alles älter als 7 Tage. Niedrigere Priorität beim Retrieval, aber noch zugänglich. Der Cold Storage. Das /dev/null-Wartezimmer.

Die Index-Datei ist das, was alles zusammenhält. Liegt im Root des Memory-Ordners, funktioniert wie ein Inhaltsverzeichnis.

Jedes Mal, wenn der Agent einen neuen Input verarbeitet, aktualisiert er zuerst den Index — so weiß er immer, wo er schauen muss, bevor er anfängt zu suchen.

Ohne das macht dein Agent im Grunde grep -r auf 400 Dateien und hofft auf das Beste. (Spoiler: Er findet nicht, was du brauchst. Er findet eine Einkaufsliste von vor 2 Wochen und einen halb geschriebenen Cron-Prompt.)

Jetzt zu den Daily Briefs. Die verdienen einen eigenen Absatz, weil ich ohne sie festgestellt habe, dass OpenClaw Dinge zwischen Morgen und Abend am selben Tag vergisst. Stell dir vor, du erzählst deinem Pair-Programmer um 10 Uhr von einem kritischen Bug und um 16 Uhr fragt er dich, an welchem Projekt du arbeitest. Das passiert ohne Daily Briefs.

Der Brief ist ein lebendes Dokument: um 7 Uhr mit Prioritäten erstellt, alle 3 Stunden mit Fortschritt aktualisiert, am Tagesende mit Ergebnissen abgeschlossen. Er gibt dem Agent einen zeitlichen Anker — ein Gefühl für "was heute passiert ist", das flaches Memory einfach nicht liefern kann.

Ich sichere das in Supabase, anstatt mich auf pures Markdown zu verlassen:

-- daily_briefs table  
create table daily_briefs (  
  id uuid default gen_random_uuid() primary key,  
  brief_date date not null unique,  
  priorities jsonb default '[]',  
  completed jsonb default '[]',  
  notes text,  
  meeting_summaries jsonb default '[]',  
  archived boolean default false,  
  created_at timestamptz default now(),  
  updated_at timestamptz default now()  
);  
  
-- Auto-archive after 7 days  
create or replace function archive_old_briefs()  
returns void as $$  
  update daily_briefs   
  set archived = true   
  where brief_date < current_date - interval '7 days'  
  and archived = false;  
$$ language sql;

Warum eine Datenbank, wenn OpenClaw Memory selbst verwaltet

Weil Markdown-Dateien vom LLM stillschweigend komprimiert werden. Einen Tag sind deine Meeting-Notizen da, am nächsten wurden sie zu einer vagen Zusammenfassung zusammengeführt, die du kaum wiedererkennst. Wie git squash, aber niemand hat danach gefragt und es gibt keinen reflog. Supabase gibt mir abfragbare, persistente Daten, die nicht verschwinden. Plus kann ich Dashboards darauf aufbauen. (Und falls du einen VPS brauchst, um das Ganze 24/7 laufen zu lassen, nutze ich Contabos One-Click OpenClaw Setup — mehr dazu später.)


Die Cron Jobs, die alles laufen lassen, während ich schlafe

Cron Jobs sind der Punkt, wo OpenClaw von "schicker Chatbot" zu echtem Agent wird. Stell dir vor, du programmierst deinen NPC zum Grinden, während du offline bist. Das funktioniert natürlich nur, wenn dein Agent 24/7 läuft — ein dedizierter VPS statt deines Laptops, der jedes Mal schläft, wenn du den Deckel zuklappst. Mein Schedule:

crons:  
  - name: "morning-brief"  
    schedule: "0 7 * * *"  
    prompt: "Erstelle den heutigen Daily Brief. Ziehe meine Top 3 Prioritäten   
    basierend auf gestrigen unerledigten Tasks und heutigem Kalender.   
    Speichere in daily/ Ordner und aktualisiere den Index."  
  - name: "brief-update"  
    schedule: "0 */3 * * *"  
    prompt: "Aktualisiere heutigen Daily Brief mit erledigten Items,   
    neuen Inputs und Änderungen. Halte es knapp."  
  - name: "meeting-sync"  
    schedule: "0 21 * * *"  
    prompt: "Ziehe heutige Meetings aus Fathom. Kategorisiere nach   
    Projekt. Speichere Zusammenfassungen in meetings/ Ordner. Gleiche   
    mit aktiven Projekten ab."  
  - name: "day-wrap"  
    schedule: "0 3 * * *"  
    prompt: "Schließe heute ab. Archiviere Briefs älter als 7 Tage.   
    Fasse wichtige Ergebnisse zusammen. Bereite Kontext für morgen vor."  
  - name: "content-draft"  
    schedule: "0 9 * * 0"  
    prompt: "Entwirf Content dieser Woche basierend auf aktuellen Projekten,   
    Wins und Beobachtungen. Nutze Voice Profile. Output nach content/."  
  - name: "heartbeat"  
    schedule: "*/30 * * * *"  
    prompt: "Prüfe Slack auf unbeantwortete Nachrichten. Rotiere E-Mails.   
    Markiere Kalender-Items in den nächsten 2 Stunden."  
  - name: "weekly-compaction"  
    schedule: "0 2 * * 1"  
    prompt: "Konsolidiere letzte Woche Memory in eine einzige Wochen-   
    zusammenfassung. Entferne redundante Dateien. Aktualisiere Index."

Das 3:00 Uhr Wrap-up statt Mitternacht — absichtlich. Wenn du spät arbeitest, willst du nicht, dass deine Abendsession über zwei Briefs aufgeteilt wird. Ich setze es auf 3 Uhr, weil ich schon mal um 2:47 Uhr an einem Dienstag Commits gepusht habe und ich bin nicht stolz darauf, aber ich werde nicht so tun, als würde es nicht passieren.

Die Weekly Compaction ist die, die mein Setup vor sich selbst gerettet hat. Nach 3 Wochen ohne sie war mein memory/ Ordner auf 400+ Dateien angewachsen und OpenClaw war verwirrt, welches "Projekt-Update" ich meinte, wenn ich "das Projekt-Update" sagte. Wie jemanden zu fragen, welchen "John" du meinst in einer Firma, wo 40% der Angestellten John heißen. Montag 2 Uhr, alles von letzter Woche in eine Summary-Datei konsolidieren, den Rest aufräumen. Himmelweiter Unterschied.

Für komplexere Sachen (wie Meeting-to-Task-Pipelines) route ich über n8n Webhooks, anstatt OpenClaw direkte API-Calls machen zu lassen. Agent sendet strukturierte JSON-Payload an n8n, n8n handhabt den Fathom → Supabase → Notification Flow. Viel zuverlässiger, als ein LLM 4 Endpoints gleichzeitig jonglieren zu lassen — ich habs zuerst anders versucht und es lief ungefähr so gut wie ein Production Deploy an einem Freitagnachmittag.


Der "API Amnesia" Fix

## tools-reference.md (in soul/)  
## Available APIs  
- **Supabase**: REST at [URL], key in env, RLS enabled  
- **n8n webhooks**: POST to [webhook-url] for complex flows  
- **GitHub**: token in env, repos: [list]  
- **Fathom**: meeting transcripts via /api/v1/meetings  
## Rules  
- NEVER ask me for API keys. They are in your environment.  
- For database writes, ALWAYS use the Supabase REST API.  
- For multi-step automations, trigger the n8n webhook.  
- When unsure about a tool, check this file FIRST.

Diese Datei da hat eines der nervigsten Probleme gelöst, die ich hatte. OpenClaw… vergisst manchmal einfach seine eigenen Tools. Mitten in der Session, nach Context Compaction, fragt dich dein Agent nach einem API-Key, den er buchstäblich vor 20 Minuten benutzt hat. Wie ein Dev, der sein eigenes .env mit rm -rf gelöscht hat und sich dann wundert, warum nichts funktioniert.

Weil diese Datei in soul/ (der Identity-Layer des Agents) liegt, wird sie mit hoher Priorität in jeder Session geladen. Es ist im Grunde eine .env-Datei für das Gehirn deines Agents. Der Agent hörte am selben Tag auf, mich nach Credentials zu fragen, als ich sie hinzufügte. Fühlte mich dumm, es nicht früher gemacht zu haben.


Die Dashboard-Debatte

Ich sage jetzt etwas, was mich in der OpenClaw-Community vielleicht unbeliebt macht: hört auf, Dashboards mit No-Code-Tools zu bauen, wenn ihr bereits coden könnt.

Es gab kürzlich eine Welle davon. Mit Supabase verbinden, Kanban Board per Drag & Drop, API verdrahten, YouTube-Tutorial shippen. Die Demos sehen toll aus, die Videos bekommen Views, alle bauen ihr "Betriebssystem."

Es funktioniert gut. Ich hab die Demos gesehen, sie sehen sauber aus.

Aber wenn du bereits Supabase in deinem Stack hast und weißt, wie man eine React-Komponente schreibt, warum fügst du eine Abhängigkeit hinzu, die du nicht kontrollierst? Das ist wie eine VS Code Extension zu installieren, um eine for-Schleife zu schreiben. Jedes Mal, wenn die No-Code-Plattform ihre API aktualisiert oder ihre Preise ändert, ist das ein Problem, das du jetzt lösen musst. Für ein Dashboard.

Mein Ansatz — Next.js, das aus derselben Supabase-Instanz liest:

// app/dashboard/page.tsx  
import { createClient } from '@supabase/supabase-js'  
const supabase = createClient(  
  process.env.NEXT_PUBLIC_SUPABASE_URL!,  
  process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!  
)  
export default async function Dashboard() {  
  const { data: tasks } = await supabase  
    .from('tasks')  
    .select('*')  
    .order('updated_at', { ascending: false })  
  const columns = {  
    todo: tasks?.filter(t => t.status === 'todo') || [],  
    in_progress: tasks?.filter(t => t.status === 'in_progress') || [],  
    done: tasks?.filter(t => t.status === 'done') || [],  
  }  
  return (  
    <div className="grid grid-cols-3 gap-4 p-6">  
      {Object.entries(columns).map(([status, items]) => (  
        <Column key={status} title={status} tasks={items} />  
      ))}  
    </div>  
  )  
}

Dasselbe Kanban. Volle Kontrolle. Deploy zu Vercel in 30 Sekunden. OpenClaw schreibt in Supabase, Dashboard liest aus Supabase. Keine Middleware, keine extra Verkabelung, kein Beten, dass ein Third-Party-Service nicht nächsten Dienstag dein Lieblings-Feature einstellt.

Vielleicht bin ich voreingenommen, weil ich es genuinely genieße, Frontends mit Claude Code zu bauen und No-Code-Tools frustrierend finde — jedes Mal, wenn ich eins benutze, fühle ich mich wie in einem Point-and-Click-Adventure, wo die Puzzle-Logik für niemanden Sinn ergibt. Aber der Punkt steht — wenn du coden kannst, solltest du es wahrscheinlich einfach coden. Ein Ding weniger, das um 3 Uhr nachts kaputtgehen kann, wenn du bereits etwas anderes debuggst.


Voice Training: Deinem Agent beibringen, nicht wie ein LinkedIn-Post zu klingen 🤓

Mein Content-Drafting Cron Job produzierte die ersten 2 Wochen Müll. Jeden Sonntagmorgen bekam ich einen Entwurf, der klang wie "Ich freue mich, anzukündigen" trifft "Gedanken? 👇" — die Art von Zeug, an der man schneller vorbeiscrollt als an einem Cookie-Consent-Banner. Das Problem war, ich hatte einfach 50 Posts in Memory gedumpt und gesagt "lerne meine Stimme." So funktioniert das nicht.

Was es gefixt hat waren Annotationen. Ernsthaft, das ist der ganze Trick. Dumpe nicht einfach rohe Posts.

## voice-profile.md (in soul/)  
## Style rules  
- Kurze Absätze. Max 2-3 Sätze.  
- Öffne mit Ergebnis oder konträrer Meinung, nie mit Frage  
- Code-Beispiele aus echten Projekten, nicht Toy-Demos  
- Humor: trocken, selbstironisch, Dev-Referenzen  
- Keine Gedankenstriche. Kein Corporate Speak.  
## Top posts (annotated)  
### Post 1 (2.400 Impressions - funktionierte wegen spezifischer €-Zahlen)  
[content]  
### Post 2 (1.800 Impressions - funktionierte wegen unerwarteter Analogie)    
[content]  
### Post 3 (900 Impressions - Thread-Struktur trug es)  
[content]

Ohne Annotationen mittelt der Agent deinen Stil — und der Durchschnitt aller deiner Posts ist die fadeste mögliche Version von dir. Mit ihnen erkennt er, was tatsächlich performt — die Patterns, die Strukturen, die Openings, die Leute hooken.

Die Prosa braucht noch Editing, ich würde sagen, es bringt mich 70% des Weges, aber als First-Draft-Engine spart es mir jeden Sonntag Stunden. Das sind Stunden, die ich damit verbringen kann, buchstäblich alles andere zu machen, einschließlich auf mein Terminal zu starren und so zu tun, als wäre ich produktiv.


Über die virale $250K-Architektur 🦞

Ihr habt vielleicht den Hype diese Woche gesehen. Ein Tweet ging viral mit der Behauptung, eine $250K/Monat-Agentur läuft komplett auf einem OpenClaw-Setup — Memory-Strukturen, Cron Job Templates, Voice Training, Custom Dashboard. Tausende Leute kommentierten, um sich die Architektur per DM schicken zu lassen. Peak "gib mir den Meta-Build" Energy.

Niemand macht $250K im Monat wegen seiner OpenClaw-Config

Ich hab es mir angeschaut. Die Architektur ist legit solide — viele der Memory-Organisation-Ideen überschneiden sich mit dem, was ich oben beschrieben habe, und die Cron Job Patterns sind fast identisch mit meinen. Gutes Zeug, genuinely nützlich.

Aber seien wir real. Niemand macht $250K im Monat wegen seiner OpenClaw-Config. Das ist wie zu sagen, du hast das Turnier wegen deiner Tastatur gewonnen. Sie machen es, weil sie Kunden haben, sie liefern Ergebnisse und sie schließen Deals ab. Der AI Agent macht dich schneller. Er ersetzt dich nicht. Die Leute, die sich beeilen, die exakte Ordnerstruktur zu kopieren und denken, es sei eine Art Cheat Code — so funktioniert dieses Spiel nicht.

Was es wert ist von diesen Setups zu stehlen: die Memory-Hierarchie, die zeitliche Verankerung mit Daily Briefs, das API-Referenz-Pattern. Borge dir die Prinzipien, adaptiere sie an deinen eigenen Stack und Workflow. Das hab ich gemacht und es funktionierte viel besser, als als ich versuchte, jemand anderes Setup eins-zu-eins zu kopieren.


Security. Bitte lest diesen Teil wirklich.

Ich weiß, ich weiß. Security-Abschnitte sind die AGBs von Tech-Artikeln — alle scrollen daran vorbei. Aber dieser ist anders, weil die Zahlen genuinely erschreckend sind.

SecurityScorecard fand diese Woche über 135.000 OpenClaw-Instanzen, die dem öffentlichen Internet ausgesetzt sind.

Über 50.000 anfällig für einen bekannten Remote Code Execution Bug. Gestern — buchstäblich gestern — pushte OpenClaw Version 2026.2.12 mit Patches für 40+ Vulnerabilities. SSRF im Gateway, Directory Traversal in Skills, Session Hijacking via Webhooks. Vierzig. Plus. Das ist kein Patch, das ist eine Rettungsmission.

Wenn du etwas wie das Setup laufen lässt, das ich beschrieben habe, mit Supabase-Creds, API-Keys, Meeting-Transkripten und Business-Daten, die durch deinen Agent fließen — du musst das heute machen:

  • Binde an localhost, nicht 0.0.0.0. Default-Config exponiert deinen Agent dem gesamten Internet. Es ist wie deinen SSH-Key in ein öffentliches GitHub-Repo zu legen, außer das Repo ist dein gesamtes digitales Leben.
  • Aktiviere Gateway Authentication. Default ist weit offen.
  • Lass Row Level Security in Supabase an. Deaktiviere RLS nicht, weil "die API es braucht." Nutze Service Role Keys mit proper Scoping.
  • Auditiere deine Skills. Bitdefender fand ~900 malicious Packages auf ClawHub. Installiere aus Source, verifiziere bevor du vertraust.
  • Führe **openclaw update** jetzt aus. Der 2026.MM.DD Patch ist nicht optional.

Dein Agent hat deine Meeting-Aufzeichnungen, deine Datenbank-Credentials, deinen Business-Kontext. Wenn das Gateway exponiert ist, ist all das auch exponiert. Ich will dir keine Angst machen, nur — mach es jetzt, nicht "später am Wochenende." Dauert 10 Minuten. 🔒


Die Kurzfassung

  • Memory: 6 Ordner + Index-Datei. Daily Briefs alle 3 Stunden aktualisiert. Nach 7 Tagen archivieren. In Supabase sichern, damit das LLM nicht stillschweigend deinen Kontext löscht.
  • Automation: 6–7 Cron Jobs für Morning Brief, Updates, Meeting Sync, Wrap-up, Content Drafting, Heartbeat, Weekly Compaction.
  • Dashboard: bau es selbst, wenn du coden kannst. Next.js + Supabase + Vercel. Überspringe die No-Code-Schicht, es ist ein Ding mehr zum Maintainen.
  • Security: localhost, auth, RLS, auditierte Skills, neueste Patches. Mach es, bevor du etwas anderes machst. Falls du einen VPS brauchst, der all das out of the box handhabt, Contabo hat einen One-Click OpenClaw Deploy, der vorkonfiguriert kommt — das nutze ich.

Die Architektur ist nicht der Burggraben. Jeden Tag aufzutauchen und es tatsächlich zu nutzen ist es. 🧱


Falls das dir die drei Rebuilds erspart hat, die ich durchgemacht habe — folge mir für mehr field-tested Breakdowns von AI Agent Workflows, Automation Setups und den Security-Sachen, über die niemand reden will. Als nächstes: OpenClaw mit n8n verdrahten für eine self-healing Monitoring Pipeline, die Probleme erkennt, bevor es deine User tun.


Wie du deinen AI-Agenten von einem chaotischen Markdown-Flickenteppich zu einer präzisen Produktionsmaschine umwandelst – direkt aus der Praxis eines Senior-Entwicklers.

Hol dir den AI-Architektur Welcome Kit