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-dev und setzt den Gateway-Port standardmäßig auf 19001 (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:

  1. Profil-Isolation (globales --dev)

    • OPENCLAW_PROFILE=dev
    • OPENCLAW_STATE_DIR=~/.openclaw-dev
    • OPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.json
    • OPENCLAW_GATEWAY_PORT=19001 (Browser/Canvas verschieben sich entsprechend)
  2. Dev-Bootstrap (gateway --dev)

    • Schreibt eine minimale Config, falls sie fehlt (gateway.mode=local, bind loopback).
    • Setzt agent.workspace auf 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).

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.