OpenClaw bu alanlarda oturumları uçtan uca yönetir: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.
- Oturum yönlendirme (gelen iletilerin bir
sessionKeyile nasıl eşleştiği) - Oturum deposu (
sessions.json) ve neyi izlediği - Transkript kalıcılığı (
*.jsonl) ve yapısı - Transkript hijyeni (çalıştırmalardan önce sağlayıcıya özgü düzeltmeler)
- Bağlam sınırları (bağlam penceresi ile izlenen token’lar)
- Compaction (elle ve otomatik Compaction) ve Compaction öncesi işi nereye bağlayacağınız
- Sessiz bakım işleri (kullanıcıya görünür çıktı üretmemesi gereken bellek yazımları)
Gerçeğin kaynağı: Gateway
OpenClaw, oturum durumunun sahibi olan tek bir Gateway süreci etrafında tasarlanmıştır.- Kullanıcı arayüzleri (macOS uygulaması, web Control UI, TUI) oturum listeleri ve token sayıları için Gateway’e sorgu göndermelidir.
- Uzak modda oturum dosyaları uzak ana makinededir; “yerel Mac dosyalarınızı kontrol etmek” Gateway’in ne kullandığını yansıtmaz.
İki kalıcılık katmanı
OpenClaw oturumları iki katmanda kalıcı hale getirir:-
Oturum deposu (
sessions.json)- Anahtar/değer eşlemesi:
sessionKey -> SessionEntry - Küçük, değiştirilebilir, düzenlemesi (veya girdileri silmesi) güvenli
- Oturum meta verilerini izler (geçerli oturum kimliği, son etkinlik, açma/kapatmalar, token sayaçları vb.)
- Anahtar/değer eşlemesi:
-
Transkript (
<sessionId>.jsonl)- Ağaç yapılı, yalnızca eklemeli transkript (girdilerde
id+parentIdbulunur) - Asıl konuşmayı + araç çağrılarını + Compaction özetlerini depolar
- Gelecekteki turlar için model bağlamını yeniden oluşturmakta kullanılır
- Etkin transkript kontrol noktası boyutu sınırını aştığında büyük Compaction öncesi hata ayıklama kontrol noktaları atlanır; böylece ikinci bir dev
.checkpoint.*.jsonlkopyasından kaçınılır.
- Ağaç yapılı, yalnızca eklemeli transkript (girdilerde
mtimeMs/size ile
önbelleğe alınan ve eşzamanlı okuyucular arasında paylaşılan asenkron transkript indeksinden geçer.
Disk üzerindeki konumlar
Gateway ana makinesinde, ajan başına:- Depo:
~/.openclaw/agents/<agentId>/sessions/sessions.json - Transkriptler:
~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl- Telegram konu oturumları:
.../<sessionId>-topic-<threadId>.jsonl
- Telegram konu oturumları:
src/config/sessions.ts aracılığıyla çözümler.
Depo bakımı ve disk denetimleri
Oturum kalıcılığındasessions.json, transkript yapıtları ve yörünge yan dosyaları için otomatik bakım denetimleri (session.maintenance) vardır:
mode:warn(varsayılan) veyaenforcepruneAfter: bayat girdi yaş eşiği (varsayılan30d)maxEntries:sessions.jsoniçindeki girdi sınırı (varsayılan500)resetArchiveRetention:*.reset.<timestamp>transkript arşivleri için saklama süresi (varsayılan:pruneAfterile aynı;falsetemizliği devre dışı bırakır)maxDiskBytes: isteğe bağlı oturumlar dizini bütçesihighWaterBytes: temizlik sonrası isteğe bağlı hedef (varsayılanmaxDiskBytesdeğerinin%80’i)
sessions.json dosyaları her meta veri güncellemesi için klonlanmaz veya yeniden okunmaz. Çalışma zamanı kodu updateSessionStore(...) veya updateSessionStoreEntry(...) kullanmayı tercih etmelidir; doğrudan tüm depoyu kaydetme, uyumluluk ve çevrimdışı bakım araçları içindir. Bir Gateway erişilebilir olduğunda, kuru çalıştırma olmayan openclaw sessions cleanup ve openclaw agents delete, depo değişikliklerini Gateway’e devreder; böylece temizlik aynı yazıcı kuyruğuna katılır. --store <path>, doğrudan dosya bakımı için açık çevrimdışı onarım yoludur. maxEntries temizliği üretim boyutundaki sınırlar için hâlâ toplu yapılır, bu nedenle bir depo bir sonraki yüksek su seviyesi temizliği onu yeniden aşağı çekene kadar yapılandırılmış sınırı kısa süreliğine aşabilir. Oturum deposu okumaları Gateway başlangıcı sırasında girdileri budamaz veya sınırlamaz; temizlik için yazımları veya openclaw sessions cleanup --enforce komutunu kullanın. openclaw sessions cleanup --enforce, disk bütçesi yapılandırılmamış olsa bile yapılandırılmış sınırı hemen uygular ve eski başvurulmayan transkript, kontrol noktası ve yörünge yapıtlarını budar.
Bakım, grup oturumları ve iş parçacığı kapsamlı sohbet oturumları gibi dayanıklı dış konuşma işaretçilerini korur,
ancak cron, hook’lar, heartbeat, ACP ve alt ajanlar için sentetik çalışma zamanı girdileri
yapılandırılmış yaş, sayı veya disk bütçesini aştıklarında yine de kaldırılabilir.
OpenClaw artık Gateway yazımları sırasında otomatik sessions.json.bak.* dönüşümlü yedekleri oluşturmaz. Eski session.maintenance.rotateBytes anahtarı yok sayılır ve openclaw doctor --fix bunu eski yapılandırmalardan kaldırır.
Transkript değişiklikleri, transkript dosyasında bir oturum yazma kilidi kullanır. Kilit edinimi,
meşgul oturum hatası göstermeden önce session.writeLock.acquireTimeoutMs kadar bekler; varsayılan değer 60000
ms’dir. Bunu yalnızca meşru hazırlık, temizlik, Compaction veya transkript yansıtma işi
yavaş makinelerde daha uzun süre çakıştığında artırın. Bayat kilit algılama ve maksimum tutma uyarıları ayrı politikalar olarak kalır.
Disk bütçesi temizliği için uygulama sırası (mode: "enforce"):
- Önce en eski arşivlenmiş, yetim transkript veya yetim yörünge yapıtlarını kaldır.
- Hâlâ hedefin üzerindeyse en eski oturum girdilerini ve bunların transkript/yörünge dosyalarını çıkar.
- Kullanım
highWaterBytesdeğerinde veya altında olana kadar devam et.
mode: "warn" içinde OpenClaw olası çıkarmaları bildirir ancak depoyu/dosyaları değiştirmez.
Bakımı isteğe bağlı çalıştırın:
Cron oturumları ve çalıştırma günlükleri
Yalıtılmış cron çalıştırmaları da oturum girdileri/transkriptleri oluşturur ve bunların özel saklama denetimleri vardır:cron.sessionRetention(varsayılan24h), eski yalıtılmış cron çalıştırma oturumlarını oturum deposundan budar (falsedevre dışı bırakır).cron.runLog.maxBytes+cron.runLog.keepLines,~/.openclaw/cron/runs/<jobId>.jsonldosyalarını budar (varsayılanlar:2_000_000bayt ve2000satır).
cron:<jobId> oturum girdisini temizler. Düşünme/hızlı/ayrıntılı ayarları, etiketler ve açıkça
kullanıcı tarafından seçilmiş model/kimlik doğrulama geçersiz kılmaları gibi güvenli
tercihleri taşır. Kanal/grup yönlendirmesi, gönderme veya kuyruk politikası, yükseltme, kaynak ve ACP
çalışma zamanı bağlaması gibi çevresel konuşma bağlamını bırakır; böylece yeni bir yalıtılmış çalıştırma
daha eski bir çalıştırmadan bayat teslimat veya çalışma zamanı yetkisi devralamaz.
Oturum anahtarları (sessionKey)
Bir sessionKey, hangi konuşma kovasında olduğunuzu tanımlar (yönlendirme + yalıtım).
Yaygın desenler:
- Ana/doğrudan sohbet (ajan başına):
agent:<agentId>:<mainKey>(varsayılanmain) - Grup:
agent:<agentId>:<channel>:group:<id> - Oda/kanal (Discord/Slack):
agent:<agentId>:<channel>:channel:<id>veya...:room:<id> - Cron:
cron:<job.id> - Webhook:
hook:<uuid>(geçersiz kılınmadığı sürece)
Oturum kimlikleri (sessionId)
Her sessionKey, geçerli bir sessionId değerine işaret eder (konuşmayı sürdüren transkript dosyası).
Pratik kurallar:
- Sıfırlama (
/new,/reset) busessionKeyiçin yeni birsessionIdoluşturur. - Günlük sıfırlama (gateway ana makinesinde varsayılan olarak yerel saatle 04:00), sıfırlama sınırından sonraki ilk iletide yeni bir
sessionIdoluşturur. - Boşta kalma süresi dolumu (
session.reset.idleMinutesveya eskisession.idleMinutes), boşta kalma penceresinden sonra bir ileti geldiğinde yeni birsessionIdoluşturur. Günlük + boşta kalma birlikte yapılandırıldığında hangisinin süresi önce dolarsa o kazanır. - Sistem olayları (heartbeat, cron uyandırmaları, exec bildirimleri, gateway defter tutma) oturum satırını değiştirebilir ancak günlük/boşta sıfırlama tazeliğini uzatmaz. Sıfırlama devri, yeni istem oluşturulmadan önce önceki oturum için kuyruğa alınmış sistem olayı bildirimlerini atar.
- Üst fork politikası, bir iş parçacığı veya alt ajan fork’u oluştururken PI’nin etkin dalını kullanır. Bu dal çok büyükse OpenClaw, başarısız olmak veya kullanılamaz geçmişi devralmak yerine çocuğu yalıtılmış bağlamla başlatır. Boyutlandırma politikası otomatiktir; eski
session.parentForkMaxTokensyapılandırmasıopenclaw doctor --fixtarafından kaldırılır.
src/auto-reply/reply/session.ts içindeki initSessionState() içinde verilir.
Oturum deposu şeması (sessions.json)
Deponun değer türü src/config/sessions.ts içindeki SessionEntry’dir.
Ana alanlar (tam liste değildir):
sessionId: geçerli transkript kimliği (sessionFileayarlanmadıysa dosya adı bundan türetilir)sessionStartedAt: geçerlisessionIdiçin başlangıç zaman damgası; günlük sıfırlama tazeliği bunu kullanır. Eski satırlar bunu JSONL oturum başlığından türetebilir.lastInteractionAt: son gerçek kullanıcı/kanal etkileşimi zaman damgası; boşta sıfırlama tazeliği bunu kullanır, böylece heartbeat, cron ve exec olayları oturumları canlı tutmaz. Bu alanı olmayan eski satırlar, boşta tazeliği için kurtarılan oturum başlangıç zamanına geri döner.updatedAt: listeleme, budama ve defter tutma için kullanılan son depo satırı değişiklik zaman damgası. Günlük/boşta sıfırlama tazeliği için yetkili kaynak değildir.sessionFile: isteğe bağlı açık transkript yolu geçersiz kılmasıchatType:direct | group | room(kullanıcı arayüzlerine ve gönderme politikasına yardımcı olur)provider,subject,room,space,displayName: grup/kanal etiketlemesi için meta veriler- Açma/kapatmalar:
thinkingLevel,verboseLevel,reasoningLevel,elevatedLevelsendPolicy(oturum başına geçersiz kılma)
- Model seçimi:
providerOverride,modelOverride,authProfileOverride
- Token sayaçları (en iyi çaba / sağlayıcıya bağlı):
inputTokens,outputTokens,totalTokens,contextTokens
compactionCount: bu oturum anahtarı için otomatik Compaction’ın kaç kez tamamlandığımemoryFlushAt: son Compaction öncesi bellek boşaltımı için zaman damgasımemoryFlushCompactionCount: son boşaltma çalıştığındaki Compaction sayısı
Transkript yapısı (*.jsonl)
Transkriptler @earendil-works/pi-coding-agent öğesinin SessionManager’ı tarafından yönetilir.
Dosya JSONL’dir:
- İlk satır: oturum başlığı (
type: "session",id,cwd,timestamp, isteğe bağlıparentSessioniçerir) - Ardından:
id+parentIdiçeren oturum girdileri (ağaç)
message: kullanıcı/asistan/toolResult iletilericustom_message: model bağlamına giren uzantı tarafından enjekte edilmiş iletiler (kullanıcı arayüzünden gizlenebilir)custom: model bağlamına girmeyen uzantı durumucompaction:firstKeptEntryIdvetokensBeforeile kalıcı hale getirilmiş Compaction özetibranch_summary: bir ağaç dalında gezinirken kalıcı hale getirilmiş özet
SessionManager kullanır.
Bağlam pencereleri ve izlenen token’lar
İki farklı kavram önemlidir:- Model bağlam penceresi: model başına katı sınır (modelin görebildiği token’lar)
- Oturum deposu sayaçları:
sessions.jsoniçine yazılan hareketli istatistikler (/status ve panolar için kullanılır)
- Bağlam penceresi model kataloğundan gelir (ve yapılandırma aracılığıyla geçersiz kılınabilir).
- Depodaki
contextTokensbir çalışma zamanı tahmini/raporlama değeridir; bunu katı bir garanti olarak görmeyin.
Compaction: nedir
Compaction, eski konuşmayı transkriptte kalıcı bircompaction girdisine özetler ve son iletileri olduğu gibi tutar.
Compaction sonrasında gelecek turlar şunları görür:
- Compaction özeti
firstKeptEntryIdsonrasındaki iletiler
Compaction parça sınırları ve araç eşleştirme
OpenClaw uzun bir transkripti Compaction parçalarına böldüğünde, asistan araç çağrılarını eşleşentoolResult girdileriyle birlikte tutar.
- Token payı bölmesi bir araç çağrısı ile sonucu arasına denk gelirse OpenClaw, çifti ayırmak yerine sınırı asistan araç çağrısı iletisine kaydırır.
- Sondaki bir araç sonucu bloğu aksi halde parçayı hedefin üzerine çıkaracaksa OpenClaw, bekleyen bu araç bloğunu korur ve özetlenmemiş kuyruğu olduğu gibi tutar.
- Durdurulmuş/hatalı araç çağrısı blokları bekleyen bir bölmeyi açık tutmaz.
Otomatik Compaction ne zaman gerçekleşir (Pi çalışma zamanı)
Gömülü Pi ajanında otomatik Compaction iki durumda tetiklenir:- Taşma kurtarma: model bir bağlam taşması hatası döndürür
(
request_too_large,context length exceeded,input exceeds the maximum number of tokens,input token count exceeds the maximum number of input tokens,input is too long for the model,ollama error: context length exceededve benzer sağlayıcı biçimli varyantlar) → sıkıştır → yeniden dene. - Eşik bakımı: başarılı bir turdan sonra, şu durumda:
contextTokens > contextWindow - reserveTokens
Burada:
contextWindow, modelin bağlam penceresidirreserveTokens, istemler + sonraki model çıktısı için ayrılmış boşluktur
agents.defaults.compaction.maxActiveTranscriptBytes ayarlandığında ve etkin transkript dosyası bu boyuta ulaştığında, sonraki çalıştırmayı açmadan önce ön kontrol amaçlı yerel Compaction tetikleyebilir. Bu, yerel yeniden açma maliyeti için bir dosya boyutu korumasıdır; ham arşivleme değildir: OpenClaw yine normal semantik Compaction çalıştırır ve sıkıştırılmış özetin yeni bir ardıl transkript olabilmesi için truncateAfterCompaction gerektirir.
Gömülü Pi çalıştırmaları için agents.defaults.compaction.midTurnPrecheck.enabled: true, isteğe bağlı bir araç döngüsü koruması ekler. Bir araç sonucu eklendikten sonra ve sonraki model çağrısından önce OpenClaw, tur başlangıcında kullanılan aynı ön kontrol bütçe mantığını kullanarak istem baskısını tahmin eder. Bağlam artık sığmıyorsa koruma, Pi’nin transformContext kancası içinde sıkıştırma yapmaz. Yapılandırılmış bir tur ortası ön kontrol sinyali yükseltir, geçerli istem gönderimini durdurur ve dış çalıştırma döngüsünün mevcut kurtarma yolunu kullanmasına izin verir: yeterli olduğunda aşırı büyük araç sonuçlarını kısaltır veya yapılandırılmış Compaction modunu tetikleyip yeniden dener. Seçenek varsayılan olarak devre dışıdır ve sağlayıcı destekli safeguard Compaction dahil hem default hem de safeguard Compaction modlarıyla çalışır.
Bu, maxActiveTranscriptBytes değerinden bağımsızdır: bayt boyutu koruması bir tur açılmadan önce çalışır; tur ortası ön kontrol ise gömülü Pi araç döngüsünde yeni araç sonuçları eklendikten sonra daha sonra çalışır.
Compaction ayarları (reserveTokens, keepRecentTokens)
Pi’nin Compaction ayarları Pi ayarlarında bulunur:
compaction.reserveTokens < reserveTokensFloorise OpenClaw bunu yükseltir.- Varsayılan taban
20000token’dır. - Tabanı devre dışı bırakmak için
agents.defaults.compaction.reserveTokensFloor: 0ayarlayın. - Zaten daha yüksekse OpenClaw dokunmaz.
- Manuel
/compact, açık biragents.defaults.compaction.keepRecentTokensdeğerine uyar ve Pi’nin yakın kuyruk kesim noktasını korur. Açık bir saklama bütçesi olmadan manuel Compaction sert bir kontrol noktası olarak kalır ve yeniden oluşturulan bağlam yeni özetten başlar. - Yeni araç sonuçlarından sonra ve sonraki model çağrısından önce isteğe bağlı araç döngüsü ön kontrolünü çalıştırmak için
agents.defaults.compaction.midTurnPrecheck.enabled: trueayarlayın. Bu yalnızca bir tetikleyicidir; özet üretimi hâlâ yapılandırılmış Compaction yolunu kullanır. Bu, tur başlangıcı etkin transkript bayt boyutu koruması olanmaxActiveTranscriptBytesdeğerinden bağımsızdır. - Etkin transkript büyüdüğünde bir turdan önce yerel Compaction çalıştırmak için
agents.defaults.compaction.maxActiveTranscriptBytesdeğerini bir bayt değeri veya"20mb"gibi bir dize olarak ayarlayın. Bu koruma yalnızcatruncateAfterCompactionda etkin olduğunda aktiftir. Devre dışı bırakmak için ayarsız bırakın veya0ayarlayın. agents.defaults.compaction.truncateAfterCompactionetkin olduğunda OpenClaw, Compaction sonrasında etkin transkripti sıkıştırılmış bir ardıl JSONL’ye döndürür. Eski tam transkript yerinde yeniden yazılmak yerine arşivlenmiş olarak kalır ve Compaction kontrol noktasından bağlanır.
src/agents/pi-settings.ts içindeki ensurePiCompactionReserveTokens()
(src/agents/pi-embedded-runner.ts içinden çağrılır).
Takılabilir Compaction sağlayıcıları
Plugin’ler, Plugin API’sindekiregisterCompactionProvider() aracılığıyla bir Compaction sağlayıcısı kaydedebilir. agents.defaults.compaction.provider kayıtlı bir sağlayıcı kimliğine ayarlandığında, safeguard eklentisi özetlemeyi yerleşik summarizeInStages hattı yerine bu sağlayıcıya devreder.
provider: kayıtlı bir Compaction sağlayıcı Plugin kimliği. Varsayılan LLM özetlemesi için ayarsız bırakın.- Bir
providerayarlamakmode: "safeguard"değerini zorunlu kılar. - Sağlayıcılar, yerleşik yol ile aynı Compaction yönergelerini ve tanımlayıcı koruma ilkesini alır.
- Safeguard, sağlayıcı çıktısından sonra yakın tur ve bölünmüş tur son ek bağlamını yine korur.
- Yerleşik safeguard özetlemesi, tam önceki özeti kelimesi kelimesine korumak yerine önceki özetleri yeni iletilerle yeniden damıtır.
- Safeguard modu özet kalite denetimlerini varsayılan olarak etkinleştirir; hatalı biçimli çıktı durumunda yeniden deneme davranışını atlamak için
qualityGuard.enabled: falseayarlayın. - Sağlayıcı başarısız olursa veya boş bir sonuç döndürürse OpenClaw otomatik olarak yerleşik LLM özetlemesine geri döner.
- Durdurma/zaman aşımı sinyalleri, çağıranın iptaline saygı göstermek için yeniden fırlatılır (yutulmaz).
src/plugins/compaction-provider.ts, src/agents/pi-hooks/compaction-safeguard.ts.
Kullanıcının görebildiği yüzeyler
Compaction ve oturum durumunu şunlar üzerinden gözlemleyebilirsiniz:/status(herhangi bir sohbet oturumunda)openclaw status(CLI)openclaw sessions/sessions --json- Gateway günlükleri (
pnpm gateway:watchveyaopenclaw logs --follow):embedded run auto-compaction start+complete - Ayrıntılı mod:
🧹 Auto-compaction complete+ Compaction sayısı
Sessiz temizlik (NO_REPLY)
OpenClaw, kullanıcının ara çıktıları görmemesi gereken arka plan görevleri için “sessiz” turları destekler.
Kural:
- Asistan, “kullanıcıya yanıt iletme” anlamına gelen tam sessiz token
NO_REPLY/no_replyile çıktısını başlatır. - OpenClaw bunu teslim katmanında kaldırır/bastırır.
- Tam sessiz token bastırma büyük/küçük harfe duyarsızdır; bu nedenle tüm yük yalnızca sessiz token ise hem
NO_REPLYhem deno_replygeçerlidir. - Bu yalnızca gerçekten arka plan/teslimatsız turlar içindir; sıradan işlem gerektiren kullanıcı istekleri için bir kısayol değildir.
2026.1.10 itibarıyla OpenClaw, kısmi bir parça NO_REPLY ile başladığında taslak/yazıyor akışını da bastırır; böylece sessiz işlemler tur ortasında kısmi çıktı sızdırmaz.
Compaction öncesi “bellek boşaltma” (uygulandı)
Amaç: otomatik Compaction gerçekleşmeden önce, kalıcı durumu diske yazan sessiz bir ajansal tur çalıştırmak (ör. ajan çalışma alanındamemory/YYYY-MM-DD.md) ve böylece Compaction’ın kritik bağlamı silememesini sağlamak.
OpenClaw ön eşik boşaltma yaklaşımını kullanır:
- Oturum bağlam kullanımını izleyin.
- Pi’nin Compaction eşiğinin altında bir “yumuşak eşiği” geçtiğinde, ajana sessiz bir “belleği şimdi yaz” yönergesi çalıştırın.
- Kullanıcının hiçbir şey görmemesi için tam sessiz token
NO_REPLY/no_replykullanın.
agents.defaults.compaction.memoryFlush):
enabled(varsayılan:true)model(boşaltma turu için isteğe bağlı tam sağlayıcı/model geçersiz kılması, örneğinollama/qwen3:8b)softThresholdTokens(varsayılan:4000)prompt(boşaltma turu için kullanıcı iletisi)systemPrompt(boşaltma turu için eklenen ek sistem istemi)
- Varsayılan istem/sistem istemi, teslimi bastırmak için bir
NO_REPLYipucu içerir. modelayarlandığında, boşaltma turu etkin oturum yedek zincirini devralmadan bu modeli kullanır; böylece yalnızca yerel temizlik sessizce ücretli bir konuşma modeline geri dönmez.- Boşaltma her Compaction döngüsünde bir kez çalışır (
sessions.jsoniçinde izlenir). - Boşaltma yalnızca gömülü Pi oturumları için çalışır (CLI arka uçları atlar).
- Oturum çalışma alanı salt okunur olduğunda (
workspaceAccess: "ro"veya"none") boşaltma atlanır. - Çalışma alanı dosya düzeni ve yazma desenleri için bkz. Bellek.
session_before_compact kancası sunar, ancak OpenClaw’ın boşaltma mantığı bugün Gateway tarafında bulunur.
Sorun giderme kontrol listesi
- Oturum anahtarı yanlış mı? /concepts/session ile başlayın ve
/statusiçindekisessionKeydeğerini doğrulayın. - Depo ile transkript uyumsuz mu?
openclaw statusçıktısından Gateway ana makinesini ve depo yolunu doğrulayın. - Compaction spam’i mi? Şunları kontrol edin:
- model bağlam penceresi (çok küçük)
- Compaction ayarları (
reserveTokensmodel penceresi için çok yüksekse daha erken Compaction’a neden olabilir) - araç sonucu şişmesi: oturum budamayı etkinleştirin/ayarlayın
- Sessiz turlar sızıyor mu? Yanıtın
NO_REPLYile başladığını (büyük/küçük harfe duyarsız tam token) ve akış bastırma düzeltmesini içeren bir derlemede olduğunuzu doğrulayın.