Installation und Validierung von lossless-claw als OpenClaw’s Kontext-Engine. Aber was lossless-claw eigentlich kann und warum es OpenClaw fundamental verändert, geht weit über eine reine Plugin-Installation hinaus.
In diesem Artikel erkläre ich, was lossless-claw ist, wie es funktioniert, warum die Deinstallation von qmd notwendig war, und was der Status aller Konfigurationsparameter bedeutet.
OpenClaw vergisst mitten in einer Session, was du vor 45 Minuten erklärt hast. lossless-claw löst das — nicht mit Summaries, sondern mit einem DAG-basierten Speichersystem.
Das Problem: OpenClaw vergisst
OpenClaw’s Standard-Kompaktierung ist ein rolling summary: Wenn das Kontext-Fenster voll wird, komprimiert es alte Nachrichten in einen Absatz und fährt fort. Das klingt vernünftig, ist aber in der Praxis verlustbehaftet — genau an den Stellen, die am meisten wehtun.
Was überlebt: die Geste dessen, was du gemacht hast.
Was nicht überlebt: der genaue Dateipfad, die Entscheidung warum Approach B nicht genommen wurde, die Fehlermeldung von vor drei Schritten, die exakte Library-Version, die Tatsache dass die API POST statt GET für den einen Endpoint nutzt.
Diese Details sind der gesamte Punkt. Ohne sie resümiert der Agent nicht — er fängt mit einer vagen Einweisung von vorne an.
Die Lösung: lossless-claw (LCM)
lossless-claw (LCM = Lossless Context Management) ist ein Plugin von Martian Engineering, basierend auf dem LCM-Paper von Voltropy. Es ersetzt OpenClaw’s Standard-Kompaktierung durch ein DAG-basiertes (Directed Acyclic Graph) Zusammenfassungssystem.
Der Kernansatz: Statt Konversationen zu komprimieren, serialisiert es den Agenten-Zustand — die strukturierte Repräsentation dessen, was der Agent tatsächlich weiß und tut:
- Aktive Tasks und deren Status
- Wichtige Entscheidungen und deren Begründung
- Working Files, Pfade und deren Änderungshistorie
- Environment-State (Variablen, Tool-Konfigurationen)
- Tool-Call-Historie mit Ergebnissen
Beim Kompaktieren werden nicht Prosa, sondern State-Einträge bereinigt: alte abgeschlossene Tasks, aufgelöste Entscheidungen, veraltete Tool-Calls. Die Dinge, die tatsächlich nicht mehr wichtig sind.
Youtube Video zum Artikel
Architektur im Detail
lossless-claw persistiert jede Nachricht in einer SQLite-Datenbank, organisiert nach Konversation. Ältere Nachrichten-Chunks werden durch den konfigurierten LLM in Zusammenfassungen transformiert. Diese Zusammenfassungen werden zu höherwertigen Nodes kondensiert, sobald sie sich anhäufen — und bilden dabei einen DAG.
Jeder Turn assembliert den Kontext durch Kombination von Zusammenfassungen + aktuellen Roh-Nachrichten. Die Tools lcm_grep, lcm_describe und lcm_expand_query ermöglichen dem Agenten, in der kompaktierten Historie zu suchen und Details zu rekurieren.
Das Ergebnis: Nichts geht verloren. Roh-Nachrichten bleiben in der Datenbank. Zusammenfassungen verweisen auf ihre Quell-Nachrichten. Der Agent kann in jede Zusammenfassung hineinzoomen, um das Original-Detail wiederherzustellen.
Installation \ Konfiguration
Die Installation erfolgt über OpenClaw’s Plugin-System:
Das Install-Command recordiert das Plugin, aktiviert es und übernimmt die kompatible Slot-Auswahl — inklusive contextEngine, wenn zutreffend.
In Issue #143 wurde folgende Konfiguration verifiziert:
| Parameter | Wert | Bedeutung |
|---|---|---|
| contextEngine | lossless-claw | Plugin als Kontext-Engine aktiv |
| enabled | true | Plugin aktiviert |
| contextThreshold | 0.75 | Kompaktierung bei 75% des Kontext-Fensters |
| freshTailCount | 64 | Anzahl unverdichteter Nachrichten am Ende |
| leafChunkTokens | 20000 | Token-Budget pro Zusammenfassungs-Chunk |
| sweepMaxDepth | 1 | Tiefe der DAG-Zusammenfassungs-Sweeps |
| summaryModel | ollama/gemma4:e2b | LLM für Zusammenfassungen |
| expansionModel | ollama/gemma4:e2b | LLM für Expansion/Recall |
| transcriptGcEnabled | false | Transcript-GC deaktiviert |
| proactiveThresholdCompactionMode | deferred | Deferred Compaction Mode |
Der contextThreshold von 0.75 bedeutet: Kompaktierung feuert, wenn der Kontext 75% des Modell-Fensters erreicht — mit Headroom für die Antwort des Modells. freshTailCount von 64 sorgt dafür, dass die letzten 64 Nachrichten immer unverdichtet bleiben.
Gateway-Status
Beim Check in Issue #143:
- Gateway: PID 2418030, aktiv, erreichbar in 73ms
- Sessions: 100 aktiv
- Kontext-Fenster: 262k Tokens
- Alle Probes: grün
lossless-claw vs. soul.py: Was ist der Unterschied?
Ein häufiges Missverständnis: lossless-claw und soul.py lösen das gleiche Problem. Das tun sie nicht.
| Problem | Lösung |
|---|---|
| Agent vergisst innerhalb einer Session | lossless-claw |
| Agent vergisst zwischen Sessions | soul.py |
| Agent vergisst über Team-Mitglieder hinweg | SoulMate |
lossless-claw operiert auf der Session-Ebene — es ersetzt was passiert, wenn das Kontext-Fenster während einer Session voll wird. soul.py operiert auf der persistenten Memory-Ebene — es verhindert dass der Agent beim Neustart wie ein Fremder aufwacht.
Die ideale Stack-Kombination: beide. lossless-claw hält den Agenten während der Arbeit kohärent, soul.py persistiert die Ergebnisse.
Praktische Bedeutung
Der Post von Peter Steinberger (OpenClaw’s Creator) über lossless-claw erhielt 277K+ Views und 3.200+ Likes in Stunden. Diese Zahl sagt alles: Es ist nicht nur ein Nischen-Problem von Power-Usern. Es ist der häufigste Fehlermodus in der produktiven OpenClaw-Nutzung.
Wenn dein Agent keinen Zustand über eine lange Session halten kann, kannst du ihm keine langen Aufgaben vertrauen. Du wirst zum menschlichen RAM — musst mental tracken, was der Agent fallen gelassen hat, und es stückweise zurückfüttern. Das ist das Gegenteil von dem, was autonome Agents leisten sollen.
lossless-claw macht langfristige Aufgaben tractable. Und langfristige Aufgaben sind der gesamte Werteproposition von KI-Agenten.
Issue #143 — https://github.com/hannsdemo-oc/openclaw-workspace/issues/143
Status: Abgeschlossen | Ersteller: Hanns


Schreibe einen Kommentar