Foutopsporingsoverschrijvingen tijdens runtime
/debug stelt configuratieoverschrijvingen alleen voor de runtime in (in het geheugen, niet op schijf). Standaard uitgeschakeld; schakel dit in met commands.debug: true.
/debug reset wist alle overschrijvingen en keert terug naar de configuratie op schijf.
Uitvoer van sessietraces
/trace toont trace-/foutopsporingsregels die eigendom zijn van de Plugin voor één sessie, zonder de volledig uitgebreide modus in te schakelen. Gebruik dit voor Plugin-diagnostiek, zoals foutopsporingsoverzichten van Active Memory; gebruik /verbose voor normale status-/tooluitvoer.
Levenscyclustrace van Plugins
StelOPENCLAW_PLUGIN_LIFECYCLE_TRACE=1 in voor een uitsplitsing per fase van Plugin-metadata, detectie, register, runtimespiegel, configuratiewijziging en vernieuwingswerk. Schrijft naar stderr, zodat JSON-opdrachtuitvoer parseerbaar blijft.
Mislukte Plugin-ladingen bevatten hun stacktrace zolang deze trace is ingeschakeld.
node dist/entry.js ... na pnpm build; pnpm openclaw ... meet ook de overhead van de bronrunner.
Gebruik voor synchrone timing van het laden van modules het gedeelde diagnostische oppervlak in plaats van een afzonderlijke omgevingsschakelaar die alleen voor Plugins geldt:
Profilering van CLI-opstart en opdrachten
Ingecheckte opstartbenchmarks:OPENCLAW_RUN_NODE_CPU_PROF_DIR in:
.cpuprofile voor de opdracht. Gebruik dit voordat je tijdelijke instrumentatie aan opdrachtcode toevoegt.
Voeg voor opstartvertragingen die op synchroon bestandssysteem- of moduleladerwerk lijken, via de bronrunner de tracevlag voor synchrone I/O van Node toe:
pnpm gateway:watch laat deze vlag standaard uitgeschakeld voor het bewaakte onderliggende Gateway-proces; stel OPENCLAW_TRACE_SYNC_IO=1 in als je ook in de bewakingsmodus trace-uitvoer voor synchrone I/O wilt.
Bewakingsmodus van de Gateway
openclaw-gateway-watch-<profile> (bijvoorbeeld openclaw-gateway-watch-main), waarbij alleen een poortsuffix zoals openclaw-gateway-watch-dev-19001 wordt toegevoegd wanneer OPENCLAW_GATEWAY_PORT afwijkt van de standaardpoort 18789. Vanuit interactieve terminals wordt automatisch gekoppeld; niet-interactieve shells, CI en uitvoeraanroepen van agents blijven losgekoppeld en tonen in plaats daarvan instructies om te koppelen:
remain-on-exit, zodat opstartfouten beschikbaar blijven om te koppelen of vast te leggen, in plaats van de sessie te verwijderen. Door pnpm gateway:watch opnieuw uit te voeren, wordt dat paneel opnieuw gestart.
Het tmux-paneel voert de onbewerkte watcher uit:
--port of OPENCLAW_GATEWAY_PORT afwijkt van de effectieve poort van de geïnstalleerde service, laat de wrapper de service actief zodat beide Gateways naast elkaar kunnen draaien.
Voorgrondmodus zonder tmux:
pnpm openclaw gateway stop uit wanneer deze dezelfde poort gebruikt.
Behoud tmux-beheer, maar schakel automatisch koppelen uit:
--benchmark voordat de Gateway wordt aangeroepen en schrijft bij elke beëindiging van een onderliggend Gateway-proces één V8-.cpuprofile onder .artifacts/gateway-watch-profiles/. Stop of herstart de bewaakte Gateway om het huidige profiel weg te schrijven en open het daarna met Chrome DevTools of Speedscope:
--benchmark-dir <path>: schrijf profielen ergens anders.--benchmark-no-force: sla de standaardopschoning van poort--forceover en stop onmiddellijk met een fout als de Gateway-poort al in gebruik is.
OPENCLAW_TRACE_SYNC_IO=1 samen met --benchmark in om zowel CPU-profielen als stacktraces voor synchrone I/O te verkrijgen; in de benchmarkmodus worden die traceblokken naar gateway-watch-output.log onder de benchmarkmap geschreven (en uit het terminalpaneel gefilterd), terwijl normale Gateway-logboeken zichtbaar blijven.
De tmux-wrapper geeft algemene niet-geheime runtimeselectors door aan het paneel, waaronder OPENCLAW_PROFILE, OPENCLAW_CONFIG_PATH, OPENCLAW_STATE_DIR, OPENCLAW_GATEWAY_PORT en OPENCLAW_SKIP_CHANNELS. Plaats providerreferenties in je normale profiel/configuratie of gebruik de onbewerkte voorgrondmodus voor eenmalige tijdelijke geheimen.
Als de bewaakte Gateway tijdens het opstarten wordt afgesloten, voert de watcher openclaw doctor --fix --non-interactive eenmaal uit en herstart deze het onderliggende Gateway-proces. Stel OPENCLAW_GATEWAY_WATCH_AUTO_DOCTOR=0 in om de oorspronkelijke opstartfout te zien zonder de herstelstap die alleen voor ontwikkeling is bedoeld.
Het beheerde tmux-paneel gebruikt standaard gekleurde Gateway-logboeken; stel FORCE_COLOR=0 in bij het starten van pnpm gateway:watch om ANSI-uitvoer uit te schakelen.
De watcher herstart bij wijzigingen in bouwrelevante bestanden onder src/, bronbestanden van extensies, extensiemetadata in package.json en openclaw.plugin.json, tsconfig.json, package.json en tsdown.config.ts. Wijzigingen in extensiemetadata herstarten de Gateway zonder een herbouw af te dwingen; bij bron- en configuratiewijzigingen wordt nog steeds eerst dist herbouwd.
Voeg CLI-vlaggen voor de Gateway toe na gateway:watch; deze worden bij elke herstart doorgegeven. Als dezelfde bewakingsopdracht opnieuw wordt uitgevoerd, wordt het benoemde tmux-paneel opnieuw gestart; de onbewerkte watcher gebruikt een vergrendeling voor één watcher, zodat dubbele bovenliggende watcherprocessen worden vervangen in plaats van zich op te stapelen.
Ontwikkelprofiel + ontwikkel-Gateway (—dev)
Twee afzonderlijke--dev-vlaggen:
- Globale
--dev(profiel): isoleert de status onder~/.openclaw-deven stelt de standaardpoort van de Gateway in op19001(afgeleide poorten verschuiven mee). gateway --dev: instrueert de Gateway om automatisch een standaardconfiguratie en werkruimte te maken wanneer die ontbreken (en bootstrap over te slaan).
pnpm openclaw ....
Wat dit doet:
-
Profielisolatie (globale
--dev)OPENCLAW_PROFILE=devOPENCLAW_STATE_DIR=~/.openclaw-devOPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.jsonOPENCLAW_GATEWAY_PORT=19001(browser-/canvaspoorten verschuiven overeenkomstig)
-
Ontwikkelbootstrap (
gateway --dev)- Schrijft een minimale configuratie als die ontbreekt (
gateway.mode=local, koppeling aan loopback). - Stelt
agents.defaults.workspacein op de ontwikkelwerkruimte enagents.defaults.skipBootstrap=true. - Maakt de werkruimtebestanden aan als ze ontbreken:
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md. - Standaardidentiteit: C3-PO (protocol-droid).
pnpm gateway:devstelt ookOPENCLAW_SKIP_CHANNELS=1in om kanaalproviders over te slaan.
- Schrijft een minimale configuratie als die ontbreekt (
channels.<id> blijft werken. Geef --dev-ambient-channels samen met --dev door om de automatische kanaalconfiguratie vanuit de omgeving voor die uitvoering te herstellen.
Herstelwerkwijze (nieuwe start):
--dev is een globale profielvlag en wordt door sommige runners verwerkt en verwijderd. Gebruik de vorm met de omgevingsvariabele als je deze expliciet moet opgeven:--reset wist de configuratie, referenties, sessies en de ontwikkelwerkruimte (verplaatst naar de prullenbak, niet verwijderd) en maakt vervolgens de standaardontwikkelomgeving opnieuw aan.
Logboekregistratie van onbewerkte streams
OpenClaw kan de onbewerkte assistentstream registreren voordat filtering of opmaak plaatsvindt. Dit is de beste manier om te zien of redeneringen binnenkomen als delta’s met platte tekst (of als afzonderlijke denkblokken). Schakel dit in via de CLI:~/.openclaw/logs/raw-stream.jsonl
Veiligheidsopmerkingen
- Logboeken van onbewerkte streams kunnen volledige prompts, tooluitvoer en gebruikersgegevens bevatten.
- Bewaar logboeken lokaal en verwijder ze na het foutopsporen.
- Verwijder eerst geheimen en persoonsgegevens als je logboeken deelt.
Foutopsporing in VSCode
Bronkaarten zijn vereist omdat de build gegenereerde bestandsnamen hasht. De meegeleverdelaunch.json is gericht op de Gateway-service:
- Rebuild and Debug Gateway - verwijdert
/disten bouwt opnieuw met foutopsporing ingeschakeld voordat de Gateway wordt gestart. - Debug Gateway - spoort fouten op in een bestaande build zonder
/distte wijzigen.
Instellen
- Open Run and Debug (Activity Bar of
Ctrl+Shift+D). - Selecteer Rebuild and Debug Gateway en druk op Start Debugging.
- Schakel bronkaarten in een terminal in:
- Linux/macOS:
export OUTPUT_SOURCE_MAPS=1 - Windows (PowerShell):
$env:OUTPUT_SOURCE_MAPS="1" - Windows (CMD):
set OUTPUT_SOURCE_MAPS=1
- Linux/macOS:
- Bouw opnieuw:
pnpm clean:dist && pnpm build - Selecteer Debug Gateway en druk op Start Debugging.
src/ TypeScript-bestanden in; de debugger koppelt deze via bronkaarten aan gecompileerde JavaScript.
Opmerkingen
- Rebuild and Debug Gateway verwijdert
/disten voert bij elke start een volledigepnpm buildmet bronkaarten uit. - Debug Gateway kan starten en stoppen zonder
/distte beïnvloeden, maar je beheert de bouwcyclus in een afzonderlijke terminal. - Bewerk
launch.jsonargsom fouten in andere CLI-subopdrachten op te sporen. - Als je de gebouwde CLI voor andere taken wilt gebruiken (bijvoorbeeld
dashboard --no-openals je foutopsporingssessie een nieuw authenticatietoken genereert), voer je deze uit vanuit een andere terminal:node ./openclaw.mjsof een alias zoalsalias openclaw-build="node $(pwd)/openclaw.mjs".