Debugging
Diese Seite behandelt Debugging-Helfer für Streaming-Ausgaben, besonders wenn ein Provider Reasoning mit normalem Text vermischt.
Runtime Debug Overrides
Nutze /debug im Chat, um nur zur Laufzeit Config-Overrides zu setzen (im Speicher, nicht auf der Festplatte).
/debug ist standardmäßig deaktiviert; aktiviere es mit commands.debug: true.
Das ist praktisch, wenn du obskure Einstellungen umschalten willst, ohne openclaw.json zu bearbeiten.
Beispiele:
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug unset messages.responsePrefix
/debug reset
/debug reset löscht alle Overrides und kehrt zur Config auf der Festplatte zurück.
Gateway Watch-Modus
Für schnelle Iteration führe den Gateway unter dem File-Watcher aus:
pnpm gateway:watch --force
Das entspricht:
tsx watch src/entry.ts gateway --force
Füge beliebige Gateway-CLI-Flags nach gateway:watch hinzu und sie werden bei jedem Neustart durchgereicht.
Dev-Profil + Dev-Gateway (—dev)
Nutze das Dev-Profil, um den State zu isolieren und ein sicheres, wegwerfbares Setup zum Debuggen aufzusetzen. Es gibt zwei --dev-Flags:
- Globales
--dev(Profil): isoliert den State unter~/.openclaw-devund setzt den Gateway-Port standardmäßig auf19001(abgeleitete Ports verschieben sich entsprechend). gateway --dev: sagt dem Gateway, dass er automatisch eine Standard-Config + Workspace erstellen soll, wenn sie fehlen (und BOOTSTRAP.md überspringen).
Empfohlener Workflow (Dev-Profil + Dev-Bootstrap):
pnpm gateway:dev
OPENCLAW_PROFILE=dev openclaw tui
Falls du noch keine globale Installation hast, führe die CLI über pnpm openclaw ... aus.
Was das macht:
-
Profil-Isolation (globales
--dev)OPENCLAW_PROFILE=devOPENCLAW_STATE_DIR=~/.openclaw-devOPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.jsonOPENCLAW_GATEWAY_PORT=19001(Browser/Canvas verschieben sich entsprechend)
-
Dev-Bootstrap (
gateway --dev)- Schreibt eine minimale Config, falls sie fehlt (
gateway.mode=local, bind loopback). - Setzt
agent.workspaceauf den Dev-Workspace. - Setzt
agent.skipBootstrap=true(kein BOOTSTRAP.md). - Erstellt die Workspace-Dateien, falls sie fehlen:
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md,HEARTBEAT.md. - Standard-Identity: C3‑PO (Protokoll-Droide).
- Überspringt Channel-Provider im Dev-Modus (
OPENCLAW_SKIP_CHANNELS=1).
- Schreibt eine minimale Config, falls sie fehlt (
Reset-Workflow (Neustart):
pnpm gateway:dev:reset
Hinweis: --dev ist ein globales Profil-Flag und wird von manchen Runnern verschluckt.
Falls du es explizit angeben musst, nutze die Env-Var-Form:
OPENCLAW_PROFILE=dev openclaw gateway --dev --reset
--reset löscht Config, Credentials, Sessions und den Dev-Workspace (mit trash, nicht rm) und erstellt dann das Standard-Dev-Setup neu.
Tipp: Falls bereits ein Nicht-Dev-Gateway läuft (launchd/systemd), stoppe ihn zuerst:
openclaw gateway stop
Raw Stream Logging (OpenClaw)
OpenClaw kann den rohen Assistant-Stream loggen, bevor jegliches Filtern/Formatieren stattfindet. Das ist der beste Weg, um zu sehen, ob Reasoning als Plain-Text-Deltas ankommt (oder als separate Thinking-Blöcke).
Aktiviere es über die CLI:
pnpm gateway:watch --force --raw-stream
Optionales Pfad-Override:
pnpm gateway:watch --force --raw-stream --raw-stream-path ~/.openclaw/logs/raw-stream.jsonl
Entsprechende Env-Vars:
OPENCLAW_RAW_STREAM=1
OPENCLAW_RAW_STREAM_PATH=~/.openclaw/logs/raw-stream.jsonl
Standard-Datei:
~/.openclaw/logs/raw-stream.jsonl
Raw Chunk Logging (pi-mono)
Um rohe OpenAI-kompatible Chunks zu erfassen, bevor sie in Blöcke geparst werden, bietet pi-mono einen separaten Logger:
PI_RAW_STREAM=1
Optionaler Pfad:
PI_RAW_STREAM_PATH=~/.pi-mono/logs/raw-openai-completions.jsonl
Standard-Datei:
~/.pi-mono/logs/raw-openai-completions.jsonl
Hinweis: Das wird nur von Prozessen ausgegeben, die pi-monos
openai-completions-Provider nutzen.
Sicherheitshinweise
- Raw-Stream-Logs können vollständige Prompts, Tool-Ausgaben und Nutzerdaten enthalten.
- Behalte Logs lokal und lösche sie nach dem Debugging.
- Falls du Logs teilst, entferne zuerst Secrets und personenbezogene Daten.