I'll be back. And I route tokens properly.
Eine Agenten-Architektur die Tokens spart bevor sie entstehen. Query-Classifier, Retrieval-Orchestrierung und Skill-Execution arbeiten zusammen, sodass nur der wirklich relevante Kontext ins Modell geht — egal ob lokal auf deiner Hardware oder in der Cloud.
Was ist Clawminator?
Ein Open-Source-Projekt in aktiver Entwicklung. Noch nicht öffentlich verfügbar.
Clawminator ist eine Agenten-Architektur, kein Chatbot. Der Kern ist Token-Effizienz: Anfragen werden zuerst klassifiziert, dann über Routing, Memory und Retrieval aufbereitet und nur mit dem Kontext angereichert der wirklich relevant ist. Smart klein statt dumm groß. Das Ergebnis: ein Agent der auf 16K Context und 9B Parameter alltagstauglich antwortet — oder dieselbe Pipeline mit einem Frontier-Modell in der Cloud nutzt. Provider-agnostisch: der Orchestrator bleibt derselbe, egal ob lokal oder Cloud.
| Architektur | Query-Classifier → IR-Orchestrator → 7-Layer Router → Skill/LLM-Execution |
| Lokale Referenz-HW | Mac Mini M4, 16 GB RAM |
| Lokales Modell | qwen3.5:9b (16K Context) |
| Cloud-Option | Mistral Small (EU-Server, DSGVO-konform, 128K Context) — weitere angedacht |
| Philosophie | Token-effizient zuerst. Lokal ist der Default, Cloud ist gleichwertige Option — das Routing bleibt gleich. |
| Interfaces | Telegram (aktuell) · Web / API / MS Teams geplant |
| Sprachen | Deutsch + Englisch |
| Lizenz | MIT (Core) — Enterprise-Integration auf Anfrage |
75 Skills — ausführbare Aktionen ohne LLM-Generierung
Skills sind keine Regex-Matcher — sie sind ausführbare Funktionen. Der Router entscheidet auf Basis des Query-Classifier-Outputs welcher Skill aufgerufen wird. Das LLM greift nur wenn kein Skill passt oder Kreativität gefragt ist.
Dateien
Erstellen, lesen, schreiben, suchen, löschen
Wetter
Aktuell + Vorhersage via Open-Meteo (kein API-Key)
Timer & Erinnerungen
Cron-basiert erstellen, auflisten, löschen
Gedächtnis
Fakten merken, abrufen, durchsuchen. Knowledge Graph (Clawminator) + Volltextsuche (OpenClaw)
System
CPU, RAM, Disk, Prozesse, Netzwerk, WLAN-Passwort
Gateway
Status, Neustart, Config einsehen
Browser
URLs öffnen, navigieren, Tabs auflisten/schließen, Screenshots
Canvas
HTML anzeigen, ausblenden, JS ausführen, Snapshots
Apple Notes & Reminders
Erstellen, durchsuchen, auflisten
Spotify
Play, Pause, Skip (wenn spotify_player installiert)
Philips Hue
Licht steuern (wenn openhue installiert)
iMessage
Nachrichten senden via AppleScript
Telegram
Reactions, Antworten, Umfragen
Sessions
Status, Verlauf, Subagenten verwalten
Nodes / Geräte
Kamera, Standort, Akku, Benachrichtigungen
Gesundheitscheck
Ollama + Gateway + Disk + RAM auf einen Blick
13 Slash-Commands — 0ms, kein LLM
52 SKILL.md Templates — für kreative Aufgaben
Wenn das Sprachmodell denken muss (Gedichte, Erklärungen, Code), wird per FTS5/BM25 das passende Skill-Template geladen (~2K Tokens). Der Rest des 16K-Budgets bleibt für den Chat.
Schicht 1 · 2 · 3 — die Wirkkette
Jede Nachricht durchläuft drei Schichten. Die erste die auflösen kann, antwortet.
Slash-Commands < 100ms 0 Tokens
Sofort, deterministisch, kein Modell wird geweckt.
Classifier → IR → Router → Skill-Execute 200–500ms 0 Output-Tokens
Multi-Head Query-Classifier erkennt Intent / Domain / Task-Type. IR-Orchestrator fusioniert Knowledge Graph, Memory und Documents. 7-Layer Router matcht den Skill. Skill-Execute führt die Funktion aus — deterministisch, ohne LLM-Generierung. Regex ist ein Layer von sieben, kein Entscheidungsfinder.
LLM + SKILL.md 2–15s 500–4.000 Tokens
Alles was Denken erfordert — Erklärungen, Analyse, Code, kreatives Schreiben — geht an das lokale Sprachmodell.
→ Schicht 2 classifier+router+weather 280ms · 0 Output-Tokens
🌤️ Wien: 22°C, leicht bewölkt, kein Regen.
Du: Erkläre mir Monaden in Haskell
→ Schicht 3 qwen3.5:9b HEAVY · 8.2s · 2.1K Tokens
Eine Monade ist eine Struktur die sequentielle...
Du: /cyberclaw
→ Schicht 1 slash <1ms · 0 Tokens
CPU: 12% · RAM: 8.2/16 GB · Disk: 142 GB frei
Unter der Haube — Details für Entwickler
Aufklappen wer's genau wissen will.
Query-Classifier — Multi-Head Neural Network, 4 parallele Klassifikationen
Bevor irgendwas anderes passiert, klassifiziert Clawminator die Anfrage. Ein shared Embedding (nomic-embed-text, 768 Dimensionen) wird einmal berechnet und von vier parallelen Heads konsumiert:
| Head | Klassen | Zweck |
|---|---|---|
| intent-head | 3 | actionable / conversational / ambiguous |
| domain-head | 17 | weather / calendar / email / ... (Domain-Routing) |
| task-type-head | 8 (Multi-Label) | small_talk, skill_action, knowledge_personal, knowledge_general, safety_critical, meta_question, follow_up, multi_action |
| segmentation-head | Token-Level BIO | Teilt Multi-Action-Queries in atomare Aufgaben |
Nachgelagert: Anaphora Resolver (Layer A–D lokal, Layer E optional Cloud) löst "sie", "dort", "das" gegen den Dialog-State auf. Dependency-Detector (Deiktika + lastResult-Slot) erkennt Referenzen auf vorherige Antworten. Ergebnis: ein Query-Plan mit einer Liste klassifizierter Segmente.
IR-Orchestrator — Reciprocal Rank Fusion über 4 Stores
Information Retrieval ist nicht "eine Vector-DB anfragen". Clawminator orchestriert vier parallele Quellen policy-driven — welche Quelle wie stark gewichtet wird, hängt vom task-type ab.
| Store | Inhalt | Retrieval |
|---|---|---|
| Knowledge Graph | Entity-Gazetteer + Fakten | Lookup + FTS-Fallback |
| Memory Chunks (Session) | Dialog-Historie | BM25 + sqlite-vec Cosine |
| Memory Chunks (Workspace) | SOUL / IDENTITY / USER.md | Persistente Profildaten |
| Document Store | User-Uploads: PDF/TXT/MD/DOCX | Chunk-basiert indexiert |
RRF-Fusion (Reciprocal Rank Fusion): Die Ergebnisse aller Quellen werden über eine Policy-Matrix fusioniert. Beispiel: Bei knowledge_personal zählt der Knowledge Graph mehr, bei knowledge_general der Document Store. Kein statisches Mergen — die Gewichte kommen aus dem Query-Classifier-Output.
7-Layer Router — ADR-021, policy-driven Skill-Matching
Der Router durchläuft sieben Layer in fester Reihenfolge. Jeder Layer kann matchen und direkt antworten, matchen und an den nächsten durchreichen, oder gar nicht matchen.
| Layer | Funktion |
|---|---|
| 2.0 Slash/Regex Support | Explizite Commands und Regex-Skills |
| 2.1 Entity-Gazetteer | Bekannte Entitäten aus dem KG |
| 2.2 KG-First (Fakten-Fragen) | Bei knowledge_personal zuerst KG-Lookup |
| 2.3 Dialog-State-Prior | Kontext aus der letzten Antwort |
| 2.4 Hybrid BM25 + Dense + RRF | KERN — die Fusion aus Text- und Vektorsuche |
| 2.5 MLP-Domain-Gate | Boost für domain-spezifische Skills (kein Block) |
| 2.6 Cross-Encoder Re-rank | Optional — teuer, aber präzise |
Nach dem Router: Confidence-Gate (ADR-025). HIGH (gap > 0.02) → Skill ausführen. MEDIUM (0.005–0.02) → Intent-LLM (qwen3.5:9b lokal, 1-Token-Antwort, 200–500ms) klärt. LOW (< 0.005) → direkt an Schicht-3 LLM weiter.
Complexity-Router — ein Modell, vier Tiers, optional Cloud
Nicht jede Anfrage braucht ein volles Generierungs-Budget. Der Router analysiert die Komplexität jeder Nachricht heuristisch (kein LLM-Call, <5ms) und wählt automatisch Token-Budget und Ausführungs-Ziel.
Lokales Modell: qwen3.5:9b läuft auf Mac Mini M4 mit 16 GB RAM. Der Trick: nicht das Modell muss klein sein, sondern der Kontext. Durch Classifier + Retrieval kommt nur der wirklich relevante Kontext rein — 16K Tokens sind dann genug.
Vier Complexity-Tiers:
| Tier | Max Tokens | Ziel | Beispiel |
|---|---|---|---|
| SUPER_LIGHT | 256 | Lokal | "Hallo", "Danke" |
| LIGHT | 512 | Lokal | Einfache Fragen |
| MEDIUM | 2.048 | Lokal oder Cloud (wenn cloud=on) | Erklärungen, Zusammenfassungen |
| HEAVY | 3.072 | Lokal oder Cloud (wenn cloud=on) | Code-Generierung, Analyse |
Cloud-Option: Aktuell integriert ist Mistral Small mit 128K Context. Gewählt wegen EU-Server und DSGVO-Konformität. Weitere Provider sind angedacht — das Routing bleibt identisch, egal welches Modell am Ende den Prompt bekommt.
Schicht-3 LLM-Pipeline — Bridge-Tool, Capability-Injection, Context-Guard
Wenn die Anfrage wirklich das LLM braucht, geht sie nicht einfach als Prompt rein. Vier Stationen davor sorgen dafür dass der Kontext klein und relevant bleibt:
| Station | Funktion |
|---|---|
Bridge-Tool execute_action | ~650 Token Budget. Einheitlicher Einstiegspunkt für LLM-gesteuerte Skill-Aufrufe. Ersetzt das Hochladen aller 26 Tool-Definitionen. |
| Capability-Injection | Nur die für die aktuelle Anfrage relevanten Fähigkeiten werden eingefügt. Statt 8.000 Tokens für alle Tools: 400–800 für die richtigen. |
| Context-Engine | Zwei-Slot-System: systemMessages[0] statisch (KV-Cache-fähig), systemMessages[1] dynamisch mit den IR-Chunks aus dem Orchestrator. |
| Context-Guard | Regelbasiertes Pruning bei 70% Context-Fill. Bevor das Modell hallucinieren kann weil der Kontext zu voll ist, wird aufgeräumt. |
Quality-Gate & Mistral Improve — Output-Prüfung, async Fallback
Nach der LLM-Antwort prüft ein regelbasiertes Quality-Gate den Output lokal — keine weitere LLM-Abfrage. Gesucht wird nach typischen Fehlermustern:
too_short— Antwort abgeschnitten oder leerrepetition— Modell wiederholt sich (Endlosschleife)placeholder— "[Antwort hier einfügen]" oder ähnlichrefusal— ungewolltes "Ich kann das nicht"lang_mix— falsche Sprache oder Mix
Mistral Improve (async Fire-and-Forget): Wenn cloud=on und das Quality-Gate ein FAIL meldet, wird die Antwort im Hintergrund an Mistral Small geschickt für eine verbesserte Version. Die erste (lokale) Antwort geht trotzdem sofort raus — keine zusätzliche Wartezeit für den User. Die Verbesserung kommt als Follow-up mit einer ☁️-Markierung.
Hardware-Profil-System — aktuelles Referenz-Setup + geplante Profile
Hardware-Profile als JSON-Dateien mit Schema-Validierung. Jedes Profil definiert Modellwahl, Context-Budget, Memory-Parameter, Timeouts und Ollama-Tuning.
Aktuell getestet:
| Profil | RAM | Modell | Context | Status |
|---|---|---|---|---|
| reference | 16 GB | qwen3.5:9b | 16K | Mac Mini M4 — in Betrieb |
| tiny / medium / large | 4–64+ GB | — | — | geplant |
Was jedes Profil steuern wird: Modell-Konfiguration, Context-Budget mit Ratios (System-Prompt 8–20%, Memory 10–40%, History 37–45%, Tools 10%), Memory-Parameter (maxResults, minScore, Fusion-Weights), Stability-Timeouts und Ollama-spezifisches Tuning (keepAlive, flashAttention, kvCacheType).
Memory & Knowledge Graph — Stanford Generative Agents Scoring
OpenClaw liefert die Basis: SQLite mit FTS5-Volltextsuche und Vector-Embeddings. Das funktioniert.
Clawminator fügt hinzu: Einen Knowledge Graph als SQLite-Tripel-Store. Zwei Tabellen (entities, relations) in memory.db. Traversal über rekursive CTEs — bis 3 Hops. Temporale Gewichtung und Confidence-basierte Extraktion per Regex + LLM.
Retrieval-Scoring (angelehnt an Park et al., 2023):
score = 0.35 × weight + 0.35 × confidence + 0.30 × recency
| Faktor | Mechanismus |
|---|---|
| Weight | +0.15 pro Wiederholung (Ebbinghaus-inspiriert) |
| Confidence | Pro Quelle: Selbstaussage 0.95, LLM-extrahiert 0.50, System-Seed 0.40 |
| Recency | 7-Tage exponentieller Decay |
Temporal Contradiction Detection: Single-valued Prädikate invalidieren automatisch veraltete Fakten ("lebt in Wien" ersetzt "lebt in Berlin").
Cross-System-Index: KG-Fakten werden in die Volltextsuche synchronisiert.
Hybrid-Retrieval (OpenClaw): BM25 + Vektor-Cosinus-Fusion, profil-abhängig konfigurierbar.
Memory-Lifecycle: Altersbasiertes Ablaufen (Default 90 Tage) + zählbasiertes Trim. WAL-Mode verhindert Locking-Probleme. Seed-Protection: seedFromWorkspace() überschreibt keine vom Nutzer gesetzten Werte bei Neustarts.
Anti-Halluzination: Extrahierte Entitäten müssen wörtlich in der User-Nachricht vorkommen. Keine Phantasie-Verknüpfungen.
Fork-Strategie — Plugin-First, minimale Core-Patches
Clawminator nutzt einen hybriden Ansatz: ≥90% Plugin-Code, ≤10% Core-Patches. OpenClaw wird als git-subtree eingebunden mit automatisiertem wöchentlichem Sync via GitHub Actions.
Das bedeutet: Upstream-Updates von OpenClaw fließen regelmäßig ein, ohne dass der Clawminator-Code bricht. Die wenigen Core-Patches sind klar dokumentiert und isoliert.
Testing — 655 automatisierte + 170 manuelle Tests
Clawminator folgt einem ASPICE-adaptierten Requirements-Prozess mit formalen IDs, MoSCoW-Prioritäten und Verifikationsmethoden.
| Kategorie | Anzahl | Abdeckung |
|---|---|---|
| Automatisiert | 655 | Skills, Router, Memory, Profile, Gateway |
| Manuell | 170 | Telegram-Integration, macOS-Features, E2E |
| Gesamt | 825 | Alle Schichten + Integrationen |
Die manuelle Test-Suite deckt alles ab was Automatisierung nicht kann: Telegram-Nachrichten, Spotify-Steuerung, iMessage, Kamera-Auslösung, Apple Notes — echte macOS-Interaktionen die einen laufenden Desktop brauchen.
Health Monitor — Echtzeit-Dashboard im Browser
Clawminator liefert einen eingebauten Health-Endpoint unter /clawminator/health, der den Gesamtzustand des Systems auf einen Blick zeigt — direkt im Browser, kein Extra-Tool nötig.
Was der Health Monitor prüft:
| Check | Was geprüft wird |
|---|---|
| Ollama | Erreichbarkeit, geladene Modelle, VRAM-Auslastung |
| Gateway | Prozess-Status, Uptime, aktive Sessions |
| Memory | SQLite-Zustand, Knowledge Graph Größe, FTS5-Index |
| Disk | Freier Speicherplatz, Modell-Verzeichnis |
| RAM | Systemspeicher, Swap-Nutzung |
| Telegram | Bot-Verbindung, letzte Nachricht |
18789 — ausschließlich auf localhost erreichbar, kein Zugriff von außen. Keine Authentifizierung nötig, weil nichts das Gerät verlässt.Warum diese Architektur?
Fünf Punkte. Kein Marketing. No problemo.
🎯 Token-Effizienz zuerst
Der Classifier entscheidet bevor das Modell denkt. Viele Anfragen werden durch Skills beantwortet — ganz ohne Generierung. Was übrig bleibt bekommt nur den Kontext der wirklich relevant ist.
🏠 Lokal-tauglich, nicht Lokal-only
Läuft auf einem Mac Mini M4 mit 16 GB RAM und qwen3.5:9b. Das funktioniert weil der Kontext klein gehalten wird — nicht weil das Modell klein sein muss. Die gleiche Architektur skaliert mit größerer Hardware.
☁️ Cloud als gleichwertige Option
Wer mehr Qualität, mehr Context oder DSGVO-konforme Skalierung braucht: Mistral Small (EU-Server) ist vorkonfiguriert. Weitere Provider werden ergänzt. Der Orchestrator bleibt gleich, egal wer am Ende generiert.
🔒 Daten bleiben wo sie hingehören
Im Lokal-Modus verlässt nichts das Gerät. Im Cloud-Modus gehen nur die gefilterten Chunks raus — nicht der ganze Verlauf, nicht das ganze Memory. Der IR-Orchestrator ist gleichzeitig eine Datenschutz-Schicht.
🧠 Orchestrator für komplexe Aufgaben
Für Aufgaben die ein starkes Modell brauchen: Clawminator kann an Claude Code, Codex, Gemini oder andere CLI-Agenten delegieren — direkt vom Server, ohne API-Keys in Clawminator zu konfigurieren. Du entscheidest wann und ob.
Gebaut auf OpenClaw
OpenClaw liefert das Fundament. Clawminator baut die Orchestrierung darum.
OpenClaw ist ein generisches Open-Source AI Gateway — es unterstützt Cloud-LLMs und lokale Modelle (via Ollama) gleichermaßen. 26 native Tools, 53 bundled Skills, 13.700+ Community-Skills auf ClawHub. Clawminator nutzt OpenClaw als Basis und fügt die fehlende Schicht hinzu: alles was vor dem LLM-Call passiert. Query-Classifier, IR-Orchestrator, 7-Layer Router, Stanford-Scoring im Knowledge Graph. Das Ergebnis: ein Agent der auf 16K Context genauso sauber funktioniert wie auf 128K.
| OpenClaw | Clawminator | |
|---|---|---|
| Ansatz | Generisches Framework für alle Modellgrößen | Spezialisiert auf 4B-Modelle, Consumer-HW |
| Context Window | Typisch 128K+ Tokens | 16K Tokens (jedes Token budgetiert) |
| LLM-Tools | 26 native (Clawminator nutzt diese in Schicht 3) | + 13 eigene Slash-Commands (0 Tokens) |
| Deterministische Skills | — | 75 Skills via Classifier+Router (0 Output-Tokens, 200–500ms) |
| Model-Routing | 1 Modell konfigurierbar | 2 Modelle + Complexity-Analyzer (<5ms) |
| Knowledge Graph | — | SQLite-Tripel-Store mit temporaler Gewichtung |
| Sprache | Englisch | Deutsch + Englisch |
| Zielgruppe | Entwickler, Power-User, alle Modellgrößen | Consumer-Hardware, kleine Modelle |
OpenClaw ist ein generisches Framework das mit allen Modellgrößen funktioniert. Clawminator spezialisiert sich auf den 16K-Context-Bereich und fügt eigene Schichten hinzu: einen Multi-Head Query-Classifier, 75 deterministische Skills, einen 7-Layer Router, Quality-Gate mit async Improve-Loop und einen Knowledge Graph mit Stanford-Scoring.
Mission Timeline
Was existiert — und was noch kommt.
⚠️ Geplante Features existieren noch nicht — sie sind für zukünftige Versionen vorgesehen.
Lizenz & Zusammenarbeit
Open Source Core. Enterprise-Integration auf Anfrage.
📖 MIT-Lizenz — Core
Die komplette Architektur ist unter MIT-Lizenz öffentlich verfügbar sobald die Test-Suite abgeschlossen ist: Query-Classifier, IR-Orchestrator, 7-Layer Router, Memory-System mit Stanford-Scoring, CLI-Tooling, alle ADRs. Nutz es, fork es, bau drauf.
🏗️ Gebaut mit Engineering-Disziplin
Clawminator entsteht mit derselben Disziplin wie sicherheitskritische Automotive-Software: formale Requirements, Architecture Decision Records (ADR-016 bis ADR-026), Verifikationsmethoden, 825 Tests. Jede Design-Entscheidung ist dokumentiert und nachvollziehbar.
💬 Offen für Gespräche
Ich bin Requirements Engineer und Software System Designer mit Automotive-Hintergrund (ASPICE, Bosch seit 2017). Clawminator ist die Verbindung aus beidem: RE-Disziplin angewandt auf AI-Agenten. Offen für Consulting, Integrations-Projekte und die richtige Vollzeitrolle.
Clawminator ist in Entwicklung. Bleib dran. 🦞
Das Projekt ist noch nicht öffentlich verfügbar. Trag dich ein und wir informieren dich per Mail über Fortschritte, Beta-Zugang und Release. Kein Spam — nur echte Updates.