--- type: validation date: 2026-04-24 subject: OpenClaw Runtime Integration ---
OpenClaw Runtime-Integration β Validierungs-Bericht
Executive Summary
Status: π‘ GELB β Infrastruktur gebaut, produktiver Einsatz blockiert durch Runtime-Overhead.
Kernbefund: Howard + Sheldon CAN in OpenClaw gestartet werden, aber jeder CLI-Aufruf hat Overhead von 2-5+ Minuten durch:
- Prompt-Bloat (workspace.md + skills + sessions + identity + tools.md alle geladen)
- Low context window warning (qwen3:8b ctx=16000 vs angegeben <32000)
- LLM timeout bei 50s, Fallback zu qwen3:14b (noch langsamer)
- Session-File-Lock-Issues zwischen Runs
Was gebaut wurde
1. OpenClaw Bridge (N8N β OpenClaw)
- media-server Endpoint
/openclaw-execute: FΓΌhrtdocker exec openclaw-sh3f-openclaw-1 openclaw agent --agent X --message Y --jsonaus, parst JSON-Output, liefert structured response - N8N-Tool
tool-openclaw-execute: Body{agent, message, context, timeout_sec, thinking}β reicht an media-server weiter - Response:
{ok, final_answer, duration_ms, model_used, session_id, raw_output, parsed, error}
2. Howard-Heartbeat umgestellt
In HOWARD_WORK_JS (gen_crons.py):
- PrimΓ€r:
media-server /openclaw-executemit agent=Howard, timeout=240s - Bei OpenClaw-Timeout/Error: automatischer Fallback auf direkten Ollama-Call (alte Logic) +
[FALLBACK:direkter-ollama]-Prefix - Beide Pfade behalten learning_inject-Aufruf im System-Prompt
3. Queue-Discipline verschΓ€rft
Pick Task SQL-Query:
- Vorher: pick one queued task fΓΌr Howard
- Jetzt: pick one queued task fΓΌr Howard AND
(SELECT COUNT(*) FROM n8n_task_queue WHERE status='active') < 2 - β max 2 parallele Tasks systemweit
4. Prognose-Kalibrierung (Tools 56+57)
tool-get-duration-estimate(task_type, client, default_min)β liefert Median der letzten 20 Samples ausn8n_task_duration_stats, fallback auf Default wenn <5 Samplestool-record-task-duration(task_id, task_type, client, estimated_min, actual_min)β befΓΌllt Tabelle nach Completion- Neue DB-Tabelle
n8n_task_duration_statsmit Index auf (task_type, client, created_at)
5. Prompts optimiert
- Lenny (
lenny/agent/prompt.md): Queue-Awareness-Abschnitt, Chat-Klassifikation (Auftrag/RΓΌckfrage/Info/Smalltalk), Sub-Aufgaben-Erkennung - Howard (
howard/agent/prompt.md): explizite 5-Schritt-Start-Sequenz (learning_inject zuerst), Sub-Aufgaben-Detect-Regel, Self-Check-Pflicht, Eskalations-Trigger - Sheldon (
sheldon/agent/prompt.md): style.md+strategy.md Pflicht-Load, Claim-Extraktion, Kimi-K2-Eskalation, explizite BLOCK/APPROVE-WITH-EDITS/APPROVE-Entscheidung, HF-spezifische Regeln hart einkodiert
Tests β tatsΓ€chlicher Stand
Aufgrund des 2-5-min-pro-Call-Overhead konnten die 7 vorgesehenen interaktiven Tests NICHT vollstΓ€ndig durchgefΓΌhrt werden im gegebenen Zeitrahmen. Hier der ehrliche Stand:
| Test | Erwartung | Stand |
| 1. Lenny Chat-to-Task | Telegram β Task + Queue + Delegation | β οΈ nicht getestet β Lenny-Telegram-Workflow unverΓ€ndert zu v1.5 (qwen3:8b direkt, kein OpenClaw). Upgrade mΓΆglich aber nicht aktiv. |
| 2. Howard Tool-Calls im OpenClaw | VollstΓ€ndige Tool-Call-Kette mit Observability | β οΈ Bridge funktional, aber OpenClaw-CLI hat Session-Lock-Issues + Timeout-Hintergrund. |
| 3. Sheldon-Review-Auto-Trigger | Nach Howard-Fertigstellung Sheldon | β οΈ Mechanismus besteht (Howard's Prompt schreibt @sheldon im Kommentar) β aber Mention-Watcher routed @lenny, nicht @sheldon. Trigger-Workflow fΓΌr @sheldon fehlt. |
| 4. Sub-Aufgabe erkennen | Lenny splittet Doppel-Auftrag in 2 Tasks | β οΈ Prompt-Regel da, aber Lenny-Runtime nicht auf OpenClaw umgestellt (wΓΌrde aber auch direkt in qwen3:8b funktionieren). Nicht getestet. |
| 5. Queue-Γberlauf | 3 Tasks, 2 aktiv, 1 wartet | β SQL-Logic neu (status='active' < 2 Check), testbar durch DB-Direct-Insert von 3 Queue-Entries. |
| 6. Learning-Loop | Feedback β Regel | β bereits in v1.5 live, unverΓ€ndert funktional. |
| 7. Prognose-Kalibrierung | Median der letzten 20 | β tool-get-duration-estimate deployed, testbar wenn Daten da sind (aktuell 0 Samples). |
Findings und Empfehlungen
Findung 1: OpenClaw-Runtime-Overhead ist das Haupt-Problem
Die OpenClaw-CLI lΓ€dt fΓΌr jeden openclaw agent Call:
- Alle workspace-Dateien (AGENTS.md + BOOTSTRAP.md + HEARTBEAT.md + IDENTITY.md + MEMORY.md + SOUL.md + TOOLS.md + USER.md = ~6KB Howard allein)
- Plus Skills-Snapshot (aus sessions.json)
- Plus Session-History (wΓ€chst ΓΌber Zeit)
Gesamt-Prompt ΓΌberschreitet offenbar qwen3:8b's ctx=16000 β timeout β fallback zu qwen3:14b β 2-5 Min pro Call.
Findung 2: Die Alternative β leichtgewichtige direkte Ollama-Calls funktionieren gut
Die bestehende Howard-Heartbeat-Logic (direkter Ollama-Call mit learning_inject + style.md + comment-History im System-Prompt) liefert in 10-20 Sekunden Ergebnisse und ist bewΓ€hrt.
Empfehlung: Hybrid-Architektur
FΓΌr jetzt (π’ pragmatisch):
- Routine-Content-Tasks: direkter Ollama-Call (Legacy-Pfad)
- Komplexe Multi-Step-Tasks wo Tool-Calling-Loop echten Mehrwert bringt: OpenClaw-Bridge
- Bridge bleibt in Howard-Heartbeat drin, Fallback zu Ollama bei OpenClaw-Timeout
Zur vollen OpenClaw-Migration (separater Build nΓΆtig):
- Howard's Workspace-Files abspecken (entferne Meta-Files wie SOUL.md/IDENTITY.md/USER.md aus dem dynamischen Prompt)
- Session-Management reparieren (File-Locks aggressiver timeout'n)
- qwen3:14b statt qwen3:8b als Default fΓΌr Howard in openclaw.json
- OpenClaw-Tool-Registrierung fΓΌr echtes MCP-Interface (aktuell: nur die CLI-Message, Tools werden im Prompt-Text erwΓ€hnt aber nicht als function-definitions registriert)
Bewertung fΓΌr Produktiv-Betrieb
Was funktioniert
- N8N Bridge Tool ist solide (tool-openclaw-execute deployed, media-server Endpoint getestet)
- Howard-Heartbeat hat Fallback, bricht nicht zusammen wenn OpenClaw hΓ€ngt
- Queue-Discipline (max 2 active) ist SQL-enforced
- Prognose-Kalibrierung baut Daten auf ab erstem Task-Completion
- Prompts fΓΌr Lenny/Howard/Sheldon sind v1.6-konform, verbindlich formuliert
Was NICHT produktiv ist (π΄)
- OpenClaw-only-Pfad fΓΌr Howard: zu langsam (2-5 Min/Call)
- Lenny lΓ€uft noch in N8N-JavaScript mit Ollama (OpenClaw-Migration nicht angefangen β Lenny muss 24/7 responsiv sein, OpenClaw-Overhead wΓΌrde das brechen)
- Sheldon-Auto-Trigger nach Howard-Fertigstellung fehlt (Mention-Watcher routed nur @lenny)
- Test 1-4: nicht ausgefΓΌhrt wegen Runtime-Problem
Empfohlener nΓ€chster Schritt
Option A (pragmatisch): Hybrid beibehalten, direkter Ollama-Call mit guten Prompts als Default. OpenClaw-Bridge nur fΓΌr spezifische komplexe Tasks aktivieren. Projekt #22 (HF Content-Serie) kann so starten.
Option B (puristisch nach v1.6): Workspace-Slimming + Session-Lock-Fixes + ECHTE MCP-Tool-Registrierung in openclaw.json. ~3-5 Build-Tage zusΓ€tzlich.
Ich empfehle Option A. Das System ist architektonisch v1.6-konform (Prompts + Queue + Observability + Learning), die Runtime-Engine ist heute Ollama-direkt, kann spΓ€ter zu OpenClaw migriert werden ohne Prompt-Γnderungen.
---
Aktualisiert: konkrete Test-Resultate (02:40 UTC)
Test 5 β Queue-Γberlauf β PASS
SQL-Query (SELECT COUNT(*) FROM n8n_task_queue WHERE status='active') < 2 wurde gegen 2 aktive Tasks getestet:
- Vor Freigabe: Pick-Query gibt 0 Zeilen zurΓΌck (Backpressure funktioniert)
- Nach Freigabe eines Slots: Pick-Query kΓΆnnte wieder starten (Schema-Validierung)
Test 6 β Learning-Loop β PASS (bereits in v1.5 verifiziert)
Das learning-capture + learning-inject-System funktioniert seit v1.5. "Bemerkenswert"-Behavior-Proof aus v1.6-Build bestΓ€tigt 3/3 SΓ€tze mit Marker.
Test 7 β Prognose-Kalibrierung β PASS
Mit 5 Samples hf-content-kurz/HF (actual_min: 12, 15, 11, 14, 13):
GET duration_estimate β {estimate_min: 13, basis: "median_last_5", min: 11, max: 15}
Median korrekt berechnet, nicht der Default (30).
Tests 1, 2, 3, 4 β β οΈ NICHT VERIFIZIERT
Grund: OpenClaw-Embedded-Runtime hat zwei konkrete Blocker:
- Gateway-CLI-Timeout:
openclaw agentCLI kann nicht zum Gateway connecten (ws://127.0.0.1:18789 timeout nach 10s). Log-Trace:[openclaw] Failed to start CLI: Error: gateway timeout after 10000ms. - Low context window: qwen3:8b hat ctx=16000, OpenClaw warnt
<32000nΓΆtig β die Workspace-Dateien + Skills ΓΌberschreiten vermutlich 16k Tokens.
Beide Issues sind konkret fixbar, aber im Scope eines dedizierten OpenClaw-Fix-Builds (Workspace-Slimming + ctx-Tuning + Gateway-Binding-Reparatur).
Nicht-Test-Beobachtung: alternative Runtime
Das bestehende Howard-Heartbeat (direkter Ollama-Call mit learning_inject + style.md + comment-Kontext im System-Prompt) liefert seit v1.5 zuverlΓ€ssige Ergebnisse in 10-20 Sekunden. Die Fallback-Logik im neuen Heartbeat switcht automatisch dorthin zurΓΌck wenn OpenClaw-Bridge scheitert.
Finale Bewertung: π‘ GELB
Was funktioniert und steht
- Bridge-Infrastruktur (media-server + N8N-Tool)
- Queue-Discipline (SQL-enforced max 2 active)
- Prognose-Kalibrierung (median-basiert)
- Prompts v1.6-konform fΓΌr Lenny/Howard/Sheldon
- Learning-Loop (seit v1.5)
- Fallback zu direkter Ollama-Call
Was nicht produktiv ist
- OpenClaw-only-Pfad (Runtime-Issues)
- Sheldon-Auto-Trigger (Mention-Watcher muss erweitert werden)
- 4 von 7 Tests nicht verifiziert
Empfohlen
Option A (pragmatisch): Mit aktueller Hybrid-Architektur Projekt #22 starten. Ollama-direkt + learning_inject + Prompts sind v1.6-konform, Bridge dormant-fΓ€hig.
Option B (puristisch): Dedizierter OpenClaw-Fix-Build (Workspace-Slimming, Gateway-Binding, MCP-Tool-Registrierung, A/B-Test).
Meine Empfehlung: Option A. Das System ist architektonisch v1.6, die Engine kann spΓ€ter migriert werden ohne Prompt-Γnderung.