Çalışma zamanı hata ayıklama geçersiz kılmaları
/debug, yalnızca çalışma zamanına özgü yapılandırma geçersiz kılmaları (diskte değil, bellekte) ayarlar. Varsayılan olarak devre dışıdır; commands.debug: true ile etkinleştirin.
/debug reset, tüm geçersiz kılmaları temizler ve diskteki yapılandırmaya geri döner.
Oturum izleme çıktısı
/trace, tam ayrıntılı modu etkinleştirmeden tek bir oturum için plugin’e ait izleme/hata ayıklama satırlarını gösterir. Active Memory hata ayıklama özetleri gibi plugin tanılamaları için bunu; normal durum/araç çıktısı için /verbose kullanın.
Plugin yaşam döngüsü izlemesi
Plugin meta verileri, keşif, kayıt defteri, çalışma zamanı aynası, yapılandırma değişikliği ve yenileme çalışmalarının aşama aşama dökümü içinOPENCLAW_PLUGIN_LIFECYCLE_TRACE=1 ayarlayın. stderr’e yazar; böylece JSON komut çıktısı ayrıştırılabilir kalır.
Bu izleme etkin olduğunda plugin yükleme hataları yığın izlerini içerir.
pnpm build sonrasında node dist/entry.js ... ile derlenmiş çalışma zamanını ölçün; pnpm openclaw ... ayrıca kaynak çalıştırıcı ek yükünü de ölçer.
Eşzamanlı modül yükleme süreleri için plugin’e özgü ayrı bir ortam anahtarı yerine paylaşılan tanılama yüzeyini kullanın:
CLI başlangıç ve komut profillemesi
Depoya kaydedilmiş başlangıç karşılaştırmalı değerlendirmeleri:OPENCLAW_RUN_NODE_CPU_PROF_DIR ayarlayın:
.cpuprofile yazar. Komut koduna geçici enstrümantasyon eklemeden önce bunu kullanın.
Eşzamanlı dosya sistemi veya modül yükleyici çalışması gibi görünen başlangıç takılmalarında, kaynak çalıştırıcı üzerinden Node’un eşzamanlı G/Ç izleme bayrağını ekleyin:
pnpm gateway:watch, izlenen Gateway alt süreci için bu bayrağı varsayılan olarak devre dışı bırakır; izleme modunda da eşzamanlı G/Ç izleme çıktısı istediğinizde OPENCLAW_TRACE_SYNC_IO=1 ayarlayın.
Gateway izleme modu
openclaw-gateway-watch-<profile> adlı bir tmux oturumunu başlatır veya yeniden başlatır (örneğin openclaw-gateway-watch-main). OPENCLAW_GATEWAY_PORT, varsayılan 18789 portundan farklı olduğunda openclaw-gateway-watch-dev-19001 gibi bir port son eki eklenir. Etkileşimli terminallerden otomatik olarak bağlanır; etkileşimsiz kabuklar, CI ve ajan yürütme çağrıları bağlantısız kalır ve bunun yerine bağlanma talimatlarını yazdırır:
remain-on-exit kullanır; böylece başlangıç hataları oturumu silmek yerine bağlanma veya yakalama için kullanılabilir kalır. pnpm gateway:watch komutunun yeniden çalıştırılması bu bölmeyi yeniden oluşturur.
tmux bölmesi ham izleyiciyi çalıştırır:
--port veya OPENCLAW_GATEWAY_PORT, kurulu hizmetin etkin portundan farklı olduğunda sarmalayıcı hizmeti çalışır durumda bırakır; böylece her iki Gateway yan yana çalışabilir.
tmux olmadan ön plan modu:
pnpm openclaw gateway stop çalıştırın.
tmux yönetimini koruyup otomatik bağlanmayı devre dışı bırakın:
--benchmark değerini tüketir ve .artifacts/gateway-watch-profiles/ altında her Gateway alt süreç çıkışı için bir V8 .cpuprofile dosyası yazar. Geçerli profili diske yazmak için izlenen Gateway’i durdurun veya yeniden başlatın, ardından Chrome DevTools ya da Speedscope ile açın:
--benchmark-dir <path>: profilleri başka bir yere yazın.--benchmark-no-force: varsayılan--forceport temizliğini atlayın ve Gateway portu zaten kullanımdaysa hemen başarısız olun.
--benchmark ile OPENCLAW_TRACE_SYNC_IO=1 ayarlayın; karşılaştırmalı değerlendirme modunda bu izleme blokları karşılaştırmalı değerlendirme dizini altındaki gateway-watch-output.log konumuna gider (terminal bölmesinden filtrelenir), normal Gateway günlükleri ise görünür kalır.
tmux sarmalayıcı, OPENCLAW_PROFILE, OPENCLAW_CONFIG_PATH, OPENCLAW_STATE_DIR, OPENCLAW_GATEWAY_PORT ve OPENCLAW_SKIP_CHANNELS dahil olmak üzere yaygın ve gizli olmayan çalışma zamanı seçicilerini bölmeye taşır. Sağlayıcı kimlik bilgilerini normal profilinize/yapılandırmanıza koyun veya tek seferlik geçici gizli değerler için ham ön plan modunu kullanın.
İzlenen Gateway başlangıç sırasında çıkarsa izleyici openclaw doctor --fix --non-interactive komutunu bir kez çalıştırır ve Gateway alt sürecini yeniden başlatır. Geliştirmeye özgü onarım geçişi olmadan özgün başlangıç hatasını görmek için OPENCLAW_GATEWAY_WATCH_AUTO_DOCTOR=0 ayarlayın.
Yönetilen tmux bölmesi varsayılan olarak renkli Gateway günlükleri kullanır; ANSI çıktısını devre dışı bırakmak için pnpm gateway:watch başlatılırken FORCE_COLOR=0 ayarlayın.
İzleyici; src/ altındaki derlemeyle ilgili dosyalarda, uzantı kaynak dosyalarında, uzantı package.json ve openclaw.plugin.json meta verilerinde, tsconfig.json, package.json ve tsdown.config.ts dosyalarında değişiklik olduğunda yeniden başlatılır. Uzantı meta verisi değişiklikleri yeniden derlemeyi zorlamadan Gateway’i yeniden başlatır; kaynak ve yapılandırma değişiklikleri yine de önce dist öğesini yeniden derler.
Gateway CLI bayraklarını gateway:watch sonrasına eklediğinizde her yeniden başlatmada aktarılırlar. Aynı izleme komutunun yeniden çalıştırılması adlandırılmış tmux bölmesini yeniden oluşturur; ham izleyici tek izleyici kilidi kullanır, böylece yinelenen izleyici üst süreçleri birikmek yerine değiştirilir.
Geliştirme profili + geliştirme Gateway’i (—dev)
İki ayrı--dev bayrağı:
- Genel
--dev(profil): durumu~/.openclaw-devaltında yalıtır ve Gateway portunu varsayılan olarak19001değerine ayarlar (türetilmiş portlar da buna göre kayar). gateway --dev: Gateway’e, eksik olduğunda varsayılan yapılandırmayı ve çalışma alanını otomatik oluşturmasını (ve önyüklemeyi atlamasını) söyler.
pnpm openclaw ... üzerinden çalıştırın.
Yaptıkları:
-
Profil yalıtımı (genel
--dev)OPENCLAW_PROFILE=devOPENCLAW_STATE_DIR=~/.openclaw-devOPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.jsonOPENCLAW_GATEWAY_PORT=19001(tarayıcı/canvas portları buna göre kayar)
-
Geliştirme önyüklemesi (
gateway --dev)- Eksikse en küçük yapılandırmayı yazar (
gateway.mode=local, geri döngüye bağlanır). agents.defaults.workspacedeğerini geliştirme çalışma alanına,agents.defaults.skipBootstrap=truedeğerine ayarlar.- Eksikse çalışma alanı dosyalarını başlangıç verileriyle oluşturur:
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md. - Varsayılan kimlik: C3-PO (protokol droidi).
pnpm gateway:devayrıca kanal sağlayıcılarını atlamak içinOPENCLAW_SKIP_CHANNELS=1değerini ayarlar.
- Eksikse en küçük yapılandırmayı yazar (
channels.<id> yapılandırması çalışmaya devam eder. O çalıştırma için ortamdaki kanal otomatik yapılandırmasını geri yüklemek üzere --dev ile --dev-ambient-channels aktarın.
Sıfırlama akışı (temiz başlangıç):
--dev, genel bir profil bayrağıdır ve bazı çalıştırıcılar tarafından tüketilir. Açıkça belirtmeniz gerekiyorsa ortam değişkeni biçimini kullanın:--reset; yapılandırmayı, kimlik bilgilerini, oturumları ve geliştirme çalışma alanını temizler (silmek yerine çöp kutusuna taşır), ardından varsayılan geliştirme kurulumunu yeniden oluşturur.
Ham akış günlükleme
OpenClaw, herhangi bir filtreleme/biçimlendirme öncesinde ham asistan akışını günlüğe kaydedebilir. Bu, akıl yürütmenin düz metin deltaları olarak mı (yoksa ayrı düşünme blokları olarak mı) geldiğini görmenin en iyi yoludur. CLI üzerinden etkinleştirin:~/.openclaw/logs/raw-stream.jsonl
Güvenlik notları
- Ham akış günlükleri tam istemleri, araç çıktısını ve kullanıcı verilerini içerebilir.
- Günlükleri yerel olarak tutun ve hata ayıklamadan sonra silin.
- Günlükleri paylaşırsanız önce gizli değerleri ve kişisel olarak tanımlanabilir bilgileri temizleyin.
VSCode’da hata ayıklama
Derleme, oluşturulan dosya adlarını özetlediği için kaynak haritaları gereklidir. Dahil edilenlaunch.json, Gateway hizmetini hedefler:
- Rebuild and Debug Gateway - Gateway’i başlatmadan önce
/distöğesini siler ve hata ayıklama etkin olarak yeniden derler. - Debug Gateway -
/distöğesine dokunmadan mevcut bir derlemede hata ayıklar.
Kurulum
- Run and Debug seçeneğini açın (Activity Bar veya
Ctrl+Shift+D). - Rebuild and Debug Gateway seçeneğini belirleyin ve Start Debugging düğmesine basın.
- Bir terminalde kaynak haritalarını etkinleştirin:
- Linux/macOS:
export OUTPUT_SOURCE_MAPS=1 - Windows (PowerShell):
$env:OUTPUT_SOURCE_MAPS="1" - Windows (CMD):
set OUTPUT_SOURCE_MAPS=1
- Linux/macOS:
- Yeniden derleyin:
pnpm clean:dist && pnpm build - Debug Gateway seçeneğini belirleyin ve Start Debugging düğmesine basın.
src/ TypeScript dosyalarında kesme noktaları ayarlayın; hata ayıklayıcı bunları kaynak haritaları aracılığıyla derlenmiş JavaScript’e eşler.
Notlar
- Rebuild and Debug Gateway,
/distöğesini siler ve her başlatmada kaynak haritalarıyla tam birpnpm buildçalıştırır. - Debug Gateway,
/distöğesini etkilemeden başlatılıp durdurulabilir; ancak derleme döngüsünü ayrı bir terminalde yönetirsiniz. - Diğer CLI alt komutlarında hata ayıklamak için
launch.jsoniçindekiargsöğesini düzenleyin. - Derlenmiş CLI’yi başka görevlerde kullanmak için (örneğin hata ayıklama oturumunuz yeni bir kimlik doğrulama belirteci oluşturuyorsa
dashboard --no-open), başka bir terminalden çalıştırın:node ./openclaw.mjsveyaalias openclaw-build="node $(pwd)/openclaw.mjs"gibi bir takma ad.