Akış çıktısı için hata ayıklama yardımcıları, özellikle bir sağlayıcı akıl yürütmeyi normal metne karıştırdığında.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Çalışma zamanı hata ayıklama geçersiz kılmaları
Yalnızca çalışma zamanına ait yapılandırma geçersiz kılmaları (bellek, disk değil) ayarlamak için sohbette/debug kullanın.
/debug varsayılan olarak devre dışıdır; commands.debug: true ile etkinleştirin.
Bu, openclaw.json dosyasını düzenlemeden belirsiz ayarları değiştirmeniz gerektiğinde kullanışlıdır.
Örnekler:
/debug reset tüm geçersiz kılmaları temizler ve diskteki yapılandırmaya geri döner.
Oturum iz çıktısı
Tam ayrıntılı modu açmadan tek bir oturumda Plugin’e ait iz/hata ayıklama satırlarını görmek istediğinizde/trace kullanın.
Örnekler:
/trace kullanın.
Normal ayrıntılı durum/araç çıktısı için /verbose kullanmaya devam edin ve yalnızca
çalışma zamanına ait yapılandırma geçersiz kılmaları için /debug kullanmaya devam edin.
Plugin yaşam döngüsü izi
Plugin yaşam döngüsü komutları yavaş hissettirdiğinde ve Plugin meta verileri, keşif, kayıt defteri, çalışma zamanı aynası, yapılandırma mutasyonu ve yenileme işi için yerleşik bir aşama dökümüne ihtiyaç duyduğunuzdaOPENCLAW_PLUGIN_LIFECYCLE_TRACE=1
kullanın. İz isteğe bağlıdır ve stderr’e yazar; bu nedenle JSON komut çıktısı ayrıştırılabilir kalır.
Örnek:
pnpm build sonrasında oluşturulmuş
çalışma zamanını node dist/entry.js ... ile ölçmeyi tercih edin; pnpm openclaw ...
kaynak çalıştırıcısı ek yükünü de ölçer.
CLI başlangıcı ve komut profilleme
Bir komut yavaş hissettirdiğinde depoya eklenmiş başlangıç benchmark’ını kullanın: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 işi gibi görünen başlangıç takılmaları için
kaynak çalıştırıcısı üzerinden Node’un sync I/O iz bayrağını ekleyin:
pnpm gateway:watch, izlenen Gateway child için bu bayrağı varsayılan olarak devre dışı bırakır.
İzleme modunda Node sync I/O iz çıktısını açıkça istediğinizde OPENCLAW_TRACE_SYNC_IO=1 ayarlayın.
Gateway izleme modu
Hızlı yineleme için Gateway’i dosya izleyicisi altında çalıştırın:openclaw-gateway-watch-main adlı bir tmux oturumu (veya
openclaw-gateway-watch-dev-19001 gibi profile/porta özel bir varyant) başlatır ya da yeniden başlatır
ve etkileşimli terminallerden otomatik olarak bağlanır. Etkileşimsiz kabuklar, CI
ve agent exec çağrıları ayrık kalır ve bunun yerine bağlanma yönergelerini yazdırır.
Gerektiğinde elle bağlanın:
--benchmark seçeneğini tüketir ve
.artifacts/gateway-watch-profiles/ altında her Gateway child çıkışı için
bir V8 .cpuprofile yazar. Geçerli profili boşaltmak için izlenen gateway’i durdurun
veya yeniden başlatın, ardından Chrome DevTools ya da Speedscope ile açın:
--benchmark-dir <path> kullanın.
Benchmark yapılan child’ın varsayılan --force port temizliğini atlamasını ve
Gateway portu zaten kullanımdaysa hızlıca başarısız olmasını istediğinizde --benchmark-no-force kullanın.
Benchmark modu, varsayılan olarak sync-I/O iz spam’ini bastırır. Hem CPU
profilleri hem de Node sync-I/O yığın izlerini açıkça istediğinizde --benchmark ile
OPENCLAW_TRACE_SYNC_IO=1 ayarlayın. Benchmark modunda bu iz blokları benchmark
dizini altındaki gateway-watch-output.log dosyasına yazılır ve terminal bölmesinden
filtrelenir; normal Gateway günlükleri görünür kalır.
tmux sarmalayıcısı OPENCLAW_PROFILE, OPENCLAW_CONFIG_PATH, OPENCLAW_STATE_DIR,
OPENCLAW_GATEWAY_PORT ve OPENCLAW_SKIP_CHANNELS gibi yaygın 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 sırlar için ham ön plan modunu kullanın.
İzlenen Gateway başlangıç sırasında çıkarsa izleyici bir kez
openclaw doctor --fix --non-interactive çalıştırır ve Gateway child’ı yeniden başlatır.
Yalnızca geliştirmeye özel onarım geçişi olmadan özgün başlangıç hatasını istediğinizde
OPENCLAW_GATEWAY_WATCH_AUTO_DOCTOR=0 kullanın.
Yönetilen tmux bölmesi ayrıca okunabilirlik için 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ı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 yeniden başlatılır. Uzantı meta verisi değişiklikleri
gateway’i tsdown yeniden derlemesini zorlamadan yeniden başlatır; kaynak ve yapılandırma
değişiklikleri yine önce dist derler.
gateway:watch sonrasına herhangi bir gateway CLI bayrağı ekleyin; her yeniden başlatmada
aktarılırlar. Aynı izleme komutunu yeniden çalıştırmak adlı tmux bölmesini yeniden oluşturur ve
ham izleyici, yinelenen izleyici üst süreçlerinin birikmek yerine değiştirilmesi için
tek izleyici kilidini korumaya devam eder.
Geliştirme profili + geliştirme gateway’i (—dev)
Durumu izole etmek ve hata ayıklama için güvenli, atılabilir bir kurulum başlatmak üzere geliştirme profilini kullanın. İki--dev bayrağı vardır:
- Global
--dev(profil): durumu~/.openclaw-devaltında izole eder ve varsayılan gateway portunu19001olarak ayarlar (türetilmiş portlar onunla birlikte kayar). gateway --dev: eksik olduğunda Gateway’e varsayılan bir yapılandırma + çalışma alanını otomatik oluşturmasını söyler (ve BOOTSTRAP.md dosyasını atlar).
pnpm openclaw ... üzerinden çalıştırın.
Bunun yaptıkları:
-
Profil yalıtımı (global
--dev)OPENCLAW_PROFILE=devOPENCLAW_STATE_DIR=~/.openclaw-devOPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.jsonOPENCLAW_GATEWAY_PORT=19001(tarayıcı/canvas buna göre kayar)
-
Geliştirme bootstrap’i (
gateway --dev)- Eksikse minimal bir yapılandırma yazar (
gateway.mode=local, bind loopback). agent.workspacedeğerini geliştirme çalışma alanına ayarlar.agent.skipBootstrap=truedeğerini ayarlar (BOOTSTRAP.md yok).- Eksikse çalışma alanı dosyalarını tohumlar:
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md,HEARTBEAT.md. - Varsayılan kimlik: C3-PO (protokol droidi).
- Geliştirme modunda kanal sağlayıcılarını atlar (
OPENCLAW_SKIP_CHANNELS=1).
- Eksikse minimal bir yapılandırma yazar (
--dev bir global profil bayrağıdır ve bazı çalıştırıcılar tarafından tüketilir. Açıkça yazmanız gerekiyorsa env var biçimini kullanın:--reset, yapılandırmayı, kimlik bilgilerini, oturumları ve geliştirme çalışma alanını
(rm değil, trash kullanarak) siler, ardından varsayılan geliştirme kurulumunu yeniden oluşturur.
Ham akış günlükleme (OpenClaw)
OpenClaw, herhangi bir filtreleme/biçimlendirme öncesinde ham asistan akışını günlüğe yazabilir. 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
Ham parça günlükleme (pi-mono)
Ham OpenAI uyumlu parçaları bloklara ayrıştırılmadan önce yakalamak için pi-mono ayrı bir günlükleyici sunar:~/.pi-mono/logs/raw-openai-completions.jsonl
Not: Bu yalnızca pi-mono’nun
openai-completions sağlayıcısını kullanan süreçler tarafından yayılır.
Güvenlik notları
- Ham akış günlükleri tam istemleri, araç çıktısını ve kullanıcı verilerini içerebilir.
- Günlükleri yerel tutun ve hata ayıklamadan sonra silin.
- Günlükleri paylaşırsanız önce sırları ve PII’yi temizleyin.
VSCode’da hata ayıklama
Derleme sürecinin bir parçası olarak oluşturulan dosyaların çoğu karma adlarla sonuçlandığı için VSCode tabanlı IDE’lerde hata ayıklamayı etkinleştirmek üzere kaynak haritaları gerekir. Dahil edilenlaunch.json yapılandırmaları Gateway hizmetini hedefler, ancak başka amaçlar için hızla uyarlanabilir:
- Gateway’i Yeniden Derle ve Hata Ayıkla - Yeni bir derleme oluşturduktan sonra Gateway hizmetinde hata ayıklar
- Gateway’de Hata Ayıkla - Önceden var olan bir derlemenin Gateway hizmetinde hata ayıklar
Kurulum
Varsayılan Gateway’i Yeniden Derle ve Hata Ayıkla yapılandırması kullanıma hazırdır;/dist klasörünü otomatik olarak siler ve hata ayıklama etkin olarak projeyi yeniden derler:
- Activity Bar’dan Çalıştır ve Hata Ayıkla panelini açın veya
Ctrl+Shift+Dtuşlarına basın - IDE’de yapılandırma açılır menüsünde Gateway’i Yeniden Derle ve Hata Ayıkla seçili olduğundan emin olun ve ardından Hata Ayıklamayı Başlat düğmesine basın
- Bir terminal açın ve 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:
- Aynı terminalde projeyi yeniden derleyin:
pnpm clean:dist && pnpm build - IDE’de Çalıştır ve Hata Ayıkla yapılandırma açılır menüsünde Gateway’de Hata Ayıkla seçeneğini seçin ve ardından Hata Ayıklamayı Başlat düğmesine basın
src/ dizini) kesme noktaları ayarlayabilirsiniz ve hata ayıklayıcı, kaynak haritaları aracılığıyla kesme noktalarını derlenmiş JavaScript’e doğru şekilde eşleyecektir. Değişkenleri inceleyebilecek, kodda adım adım ilerleyebilecek ve çağrı yığınlarını beklendiği gibi inceleyebileceksiniz.
Notlar
- “Gateway’i Yeniden Derle ve Hata Ayıkla” seçeneğini kullanıyorsanız - hata ayıklayıcı her başlatıldığında
/distklasörünü tamamen siler ve Gateway’i başlatmadan önce kaynak haritaları etkinleştirilmiş tam birpnpm buildçalıştırır - “Gateway’de Hata Ayıkla” seçeneğini kullanıyorsanız - hata ayıklama oturumları
/distklasörünü etkilemeden herhangi bir zamanda başlatılıp durdurulabilir, ancak hem hata ayıklamayı etkinleştirmek hem de derleme döngüsünü yönetmek için ayrı bir terminal süreci kullanmanız gerekir - Projenin diğer bölümlerinde hata ayıklamak için
argsiçinlaunch.jsonayarlarını değiştirin - Başka görevler için oluşturulmuş OpenClaw CLI’yi kullanmanız gerekiyorsa (örn. hata ayıklama oturumunuz yeni bir auth token oluşturuyorsa
dashboard --no-open), başka bir terminaldenode ./openclaw.mjsolarak çalıştırabilir veyaalias openclaw-build="node $(pwd)/openclaw.mjs"gibi bir shell alias oluşturabilirsiniz