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.
openclaw doctor, OpenClaw için onarım + geçiş aracıdır. Eski config/state verilerini düzeltir, sağlığı denetler ve uygulanabilir onarım adımları sağlar.
Hızlı başlangıç
Başsız ve otomasyon modları
- --yes
- --repair
- --repair --force
- --non-interactive
- --deep
Ne yapar (özet)
Sağlık, UI ve güncellemeler
Sağlık, UI ve güncellemeler
- Git kurulumları için isteğe bağlı ön denetim güncellemesi (yalnızca etkileşimli).
- UI protokol güncelliği denetimi (protokol şeması daha yeniyse Control UI’ı yeniden derler).
- Sağlık denetimi + yeniden başlatma istemi.
- Skills durum özeti (uygun/eksik/engellenmiş) ve Plugin durumu.
Config ve geçişler
Config ve geçişler
- Eski değerler için config normalizasyonu.
- Talk config geçişi: eski düz
talk.*alanlarındantalk.provider+talk.providers.<provider>içine. - Eski Chrome uzantısı config dosyaları ve Chrome MCP hazırlığı için tarayıcı geçiş denetimleri.
- OpenCode sağlayıcı geçersiz kılma uyarıları (
models.providers.opencode/models.providers.opencode-go). - Codex OAuth gölgeleme uyarıları (
models.providers.openai-codex). - OpenAI Codex OAuth profilleri için OAuth TLS önkoşulları denetimi.
plugins.allowkısıtlayıcıyken araç politikası hâlâ wildcard veya Plugin sahipli araçlar istediğinde Plugin/araç allowlist uyarıları.- Eski disk üzeri state geçişi (sessions/agent dir/WhatsApp auth).
- Eski Plugin manifest sözleşme anahtarı geçişi (
speechProviders,realtimeTranscriptionProviders,realtimeVoiceProviders,mediaUnderstandingProviders,imageGenerationProviders,videoGenerationProviders,webFetchProviders,webSearchProviders→contracts). - Eski Cron store geçişi (
jobId,schedule.cron, üst düzey teslim/payload alanları, payloadprovider, basitnotify: trueWebhook fallback işleri). - Eski tüm-agent runtime-policy temizliği; provider/model runtime policy etkin rota seçicidir.
- Plugin’ler etkin olduğunda eski Plugin config temizliği;
plugins.enabled=falseolduğunda eski Plugin referansları etkisiz containment config olarak değerlendirilir ve korunur.
State ve bütünlük
State ve bütünlük
- Session kilit dosyası incelemesi ve eski kilit temizliği.
- Etkilenen 2026.4.24 derlemeleri tarafından oluşturulan yinelenmiş prompt-rewrite dalları için session transcript onarımı.
- Takılmış subagent yeniden başlatma-kurtarma tombstone algılaması; eski iptal edilmiş kurtarma bayraklarını temizlemek için
--fixdesteğiyle, başlangıcın child öğeyi yeniden başlatma-iptal edilmiş gibi ele almaya devam etmesini önler. - State bütünlüğü ve izin denetimleri (sessions, transcripts, state dir).
- Yerelde çalışırken config dosyası izin denetimleri (chmod 600).
- Model auth sağlığı: OAuth süresinin dolmasını denetler, süresi dolmak üzere olan token’ları yenileyebilir ve auth-profile cooldown/devre dışı durumlarını raporlar.
- Ek workspace dir algılama (
~/openclaw).
Gateway, hizmetler ve supervisor’lar
Gateway, hizmetler ve supervisor’lar
- Sandbox etkin olduğunda sandbox image onarımı.
- Eski hizmet geçişi ve ek Gateway algılama.
- Matrix kanal eski state geçişi (
--fix/--repairmodunda). - Gateway runtime denetimleri (hizmet kurulu ama çalışmıyor; önbelleğe alınmış launchd etiketi).
- Kanal durum uyarıları (çalışan Gateway’den yoklanır).
- Kanala özgü izin denetimleri
openclaw channels capabilitiesaltında bulunur; örneğin Discord voice channel izinleriopenclaw channels capabilities --channel discord --target channel:<channel-id>ile denetlenir. - Yerel TUI istemcileri hâlâ çalışırken bozulmuş Gateway event-loop sağlığı için WhatsApp yanıt verebilirlik denetimleri;
--fixyalnızca doğrulanmış yerel TUI istemcilerini durdurur. - Birincil modellerde, fallback’lerde, heartbeat/subagent/compaction geçersiz kılmalarında, hook’larda, kanal model geçersiz kılmalarında ve session rota pin’lerinde eski
openai-codex/*model ref’leri için Codex rota onarımı;--fixbunlarıopenai/*olarak yeniden yazar, eski session/tüm-agent runtime pin’lerini kaldırır ve kanonik OpenAI agent ref’lerini varsayılan Codex harness üzerinde bırakır. - İsteğe bağlı onarımla supervisor config denetimi (launchd/systemd/schtasks).
- Kurulum veya güncelleme sırasında shell
HTTP_PROXY/HTTPS_PROXY/NO_PROXYdeğerlerini yakalayan Gateway hizmetleri için gömülü proxy ortam temizliği. - Gateway runtime en iyi uygulama denetimleri (Node ve Bun, version-manager yolları).
- Gateway port çakışması tanılamaları (varsayılan
18789).
Auth, güvenlik ve eşleştirme
Auth, güvenlik ve eşleştirme
- Açık DM politikaları için güvenlik uyarıları.
- Local token modu için Gateway auth denetimleri (token kaynağı yoksa token oluşturma önerir; token SecretRef config dosyalarının üzerine yazmaz).
- Cihaz eşleştirme sorun algılaması (bekleyen ilk kez eşleştirme istekleri, bekleyen role/scope yükseltmeleri, eski yerel device-token cache drift’i ve paired-record auth drift’i).
Workspace ve shell
Workspace ve shell
- Linux’ta systemd linger denetimi.
- Workspace bootstrap dosya boyutu denetimi (context dosyaları için kesilme/sınıra yaklaşma uyarıları).
- Varsayılan agent için Skills hazırlık denetimi; eksik bin, env, config veya OS gereksinimleri olan izinli Skills’i raporlar ve
--fix, kullanılamayan Skills’iskills.entriesiçinde devre dışı bırakabilir. - Shell tamamlama durum denetimi ve otomatik kurulum/yükseltme.
- Memory arama embedding sağlayıcı hazırlık denetimi (yerel model, uzak API anahtarı veya QMD binary).
- Kaynak kurulum denetimleri (pnpm workspace uyuşmazlığı, eksik UI varlıkları, eksik tsx binary).
- Güncellenmiş config + wizard metadata yazar.
Dreams UI geri doldurma ve sıfırlama
Control UI Dreams sahnesi, grounded dreaming iş akışı için Geri doldur, Sıfırla ve Grounded temizle eylemlerini içerir. Bu eylemler Gateway doctor tarzı RPC yöntemlerini kullanır, ancakopenclaw doctor CLI onarım/geçişinin parçası değildir.
Yaptıkları:
- Geri doldur, etkin workspace içindeki geçmiş
memory/YYYY-MM-DD.mddosyalarını tarar, grounded REM günlük geçişini çalıştırır ve geri alınabilir geri doldurma girdileriniDREAMS.mdiçine yazar. - Sıfırla,
DREAMS.mdiçinden yalnızca işaretlenmiş geri doldurma günlük girdilerini kaldırır. - Grounded temizle, yalnızca geçmiş tekrar oynatmadan gelen ve henüz canlı recall veya günlük destek biriktirmemiş staged grounded-only short-term girdilerini kaldırır.
MEMORY.mddosyasını düzenlemezler- tam doctor geçişlerini çalıştırmazlar
- staged CLI yolunu açıkça önce çalıştırmadığınız sürece grounded adayları canlı short-term promotion store içine otomatik olarak stage etmezler
DREAMS.md dosyasını inceleme yüzeyi olarak tutarken grounded durable adayları short-term dreaming store içine stage eder.
Ayrıntılı davranış ve gerekçe
0. İsteğe bağlı güncelleme (git kurulumları)
0. İsteğe bağlı güncelleme (git kurulumları)
1. Config normalizasyonu
1. Config normalizasyonu
messages.ackReaction), doctor bunları geçerli şemaya normalleştirir.Buna eski Talk düz alanları dahildir. Geçerli genel Talk speech config talk.provider + talk.providers.<provider> şeklindedir ve realtime voice config talk.realtime.* içindedir. Doctor eski talk.voiceId / talk.voiceAliases / talk.modelId / talk.outputFormat / talk.apiKey biçimlerini provider map içine yeniden yazar ve eski üst düzey realtime seçicileri (talk.mode, talk.transport, talk.brain, talk.model, talk.voice) talk.realtime içine yeniden yazar.Doctor ayrıca plugins.allow boş olmadığında ve araç politikası wildcard
veya Plugin sahipli araç girdileri kullandığında uyarır. tools.allow: ["*"], yalnızca
gerçekten yüklenen Plugin’lerden gelen araçlarla eşleşir; özel Plugin
allowlist’i atlamaz. Doctor, geçirilmiş eski allowlist config dosyaları için mevcut paketli sağlayıcı davranışını korumak üzere
plugins.bundledDiscovery: "compat" yazar ve
ardından daha sıkı "allowlist" ayarına işaret eder.2. Eski config anahtarı geçişleri
2. Eski config anahtarı geçişleri
openclaw doctor çalıştırmanızı ister.Doctor şunları yapar:- Hangi eski anahtarların bulunduğunu açıklar.
- Uyguladığı geçişi gösterir.
~/.openclaw/openclaw.jsondosyasını güncellenmiş şemayla yeniden yazar.
openclaw doctor --fix çalıştırmanızı ister; başlangıçta openclaw.json dosyasını yeniden yazmaz. Cron job store geçişleri de openclaw doctor --fix tarafından işlenir.Geçerli geçişler:routing.allowFrom→channels.whatsapp.allowFromrouting.groupChat.requireMention→channels.whatsapp/telegram/imessage.groups."*".requireMentionrouting.groupChat.historyLimit→messages.groupChat.historyLimitrouting.groupChat.mentionPatterns→messages.groupChat.mentionPatternschannels.telegram.requireMention→channels.telegram.groups."*".requireMention- görünür yanıt ilkesi eksik yapılandırılmış kanal yapılandırmaları →
messages.groupChat.visibleReplies: "message_tool" routing.queue→messages.queuerouting.bindings→ üst düzeybindingsrouting.agents/routing.defaultAgentId→agents.list+agents.list[].default- eski
talk.voiceId/talk.voiceAliases/talk.modelId/talk.outputFormat/talk.apiKey→talk.provider+talk.providers.<provider> - eski üst düzey gerçek zamanlı Talk seçicileri (
talk.mode/talk.transport/talk.brain/talk.model/talk.voice) +talk.provider/talk.providers→talk.realtime routing.agentToAgent→tools.agentToAgentrouting.transcribeAudio→tools.media.audio.modelsmessages.tts.<provider>(openai/elevenlabs/microsoft/edge) →messages.tts.providers.<provider>messages.tts.provider: "edge"vemessages.tts.providers.edge→messages.tts.provider: "microsoft"vemessages.tts.providers.microsoftchannels.discord.voice.tts.<provider>(openai/elevenlabs/microsoft/edge) →channels.discord.voice.tts.providers.<provider>channels.discord.accounts.<id>.voice.tts.<provider>(openai/elevenlabs/microsoft/edge) →channels.discord.accounts.<id>.voice.tts.providers.<provider>plugins.entries.voice-call.config.tts.<provider>(openai/elevenlabs/microsoft/edge) →plugins.entries.voice-call.config.tts.providers.<provider>plugins.entries.voice-call.config.tts.provider: "edge"veplugins.entries.voice-call.config.tts.providers.edge→provider: "microsoft"veproviders.microsoftplugins.entries.voice-call.config.provider: "log"→"mock"plugins.entries.voice-call.config.twilio.from→plugins.entries.voice-call.config.fromNumberplugins.entries.voice-call.config.streaming.sttProvider→plugins.entries.voice-call.config.streaming.providerplugins.entries.voice-call.config.streaming.openaiApiKey|sttModel|silenceDurationMs|vadThreshold→plugins.entries.voice-call.config.streaming.providers.openai.*bindings[].match.accountID→bindings[].match.accountId- Adlandırılmış
accountsiçeren ancak tek hesaplı üst düzey kanal değerleri kalan kanallarda, bu hesap kapsamlı değerleri o kanal için seçilen yükseltilmiş hesaba taşıyın (accounts.defaultçoğu kanal için; Matrix mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir) identity→agents.list[].identityagent.*→agents.defaults+tools.*(tools/elevated/exec/sandbox/subagents)agent.model/allowedModels/modelAliases/modelFallbacks/imageModelFallbacks→agents.defaults.models+agents.defaults.model.primary/fallbacks+agents.defaults.imageModel.primary/fallbacksagents.defaults.llmöğesini kaldırın; yavaş sağlayıcı/model zaman aşımları içinmodels.providers.<id>.timeoutSecondskullanınbrowser.ssrfPolicy.allowPrivateNetwork→browser.ssrfPolicy.dangerouslyAllowPrivateNetworkbrowser.profiles.*.driver: "extension"→"existing-session"browser.relayBindHostöğesini kaldırın (eski uzantı aktarma ayarı)- eski
models.providers.*.api: "openai"→"openai-completions"(gateway başlangıcı ayrıcaapideğeri gelecekteki veya bilinmeyen bir enum değerine ayarlanmış sağlayıcıları kapalı hata vermek yerine atlar) plugins.entries.codex.config.codexDynamicToolsProfileöğesini kaldırın; Codex app-server, Codex’e özgü çalışma alanı araçlarını her zaman yerel tutar
- İki veya daha fazla
channels.<channel>.accountsgirdisichannels.<channel>.defaultAccountveyaaccounts.defaultolmadan yapılandırılmışsa, doctor geri dönüş yönlendirmesinin beklenmeyen bir hesap seçebileceği konusunda uyarır. channels.<channel>.defaultAccountbilinmeyen bir hesap ID’sine ayarlanmışsa, doctor uyarır ve yapılandırılmış hesap ID’lerini listeler.
2b. OpenCode sağlayıcı geçersiz kılmaları
2b. OpenCode sağlayıcı geçersiz kılmaları
models.providers.opencode, opencode-zen veya opencode-go öğesini elle eklediyseniz, bu @earendil-works/pi-ai içindeki yerleşik OpenCode kataloğunu geçersiz kılar. Bu, modelleri yanlış API’ye zorlayabilir veya maliyetleri sıfırlayabilir. Doctor, geçersiz kılmayı kaldırıp model başına API yönlendirmesini + maliyetleri geri yükleyebilmeniz için uyarır.2c. Browser geçişi ve Chrome MCP hazırlığı
2c. Browser geçişi ve Chrome MCP hazırlığı
browser.profiles.*.driver: "extension""existing-session"olurbrowser.relayBindHostkaldırılır
defaultProfile: "user" veya yapılandırılmış bir existing-session profili kullandığınızda ana makine yerel Chrome MCP yolunu da denetler:- varsayılan otomatik bağlantı profilleri için Google Chrome’un aynı ana makinede kurulu olup olmadığını kontrol eder
- algılanan Chrome sürümünü kontrol eder ve Chrome 144’ün altındaysa uyarır
- browser inceleme sayfasında uzaktan hata ayıklamayı etkinleştirmenizi hatırlatır (örneğin
chrome://inspect/#remote-debugging,brave://inspect/#remote-debuggingveyaedge://inspect/#remote-debugging)
- gateway/node ana makinesinde Chromium tabanlı 144+ bir browser
- browser’ın yerel olarak çalışması
- o browser’da uzaktan hata ayıklamanın etkinleştirilmiş olması
- browser’daki ilk bağlanma onay isteminin onaylanması
responsebody, PDF dışa aktarma, indirme yakalama ve toplu eylemler gibi gelişmiş rotalar hâlâ yönetilen bir browser veya ham CDP profili gerektirir.Bu kontrol Docker, sandbox, remote-browser veya diğer headless akışlar için geçerli değildir. Bunlar ham CDP kullanmaya devam eder.2d. OAuth TLS ön koşulları
2d. OAuth TLS ön koşulları
UNABLE_TO_GET_ISSUER_CERT_LOCALLY, süresi dolmuş sertifika veya kendinden imzalı sertifika), doctor platforma özgü düzeltme rehberliği yazdırır. Homebrew Node kullanılan macOS’ta düzeltme genellikle brew postinstall ca-certificates olur. --deep ile, Gateway sağlıklı olsa bile yoklama çalışır.2e. Codex OAuth sağlayıcı geçersiz kılmaları
2e. Codex OAuth sağlayıcı geçersiz kılmaları
models.providers.openai-codex altında eski OpenAI taşıma ayarları eklediyseniz, bunlar yeni sürümlerin otomatik kullandığı yerleşik Codex OAuth sağlayıcı yolunu gölgeleyebilir. Doctor, Codex OAuth ile birlikte bu eski taşıma ayarlarını gördüğünde uyarır; böylece bayat taşıma geçersiz kılmasını kaldırabilir veya yeniden yazabilir ve yerleşik yönlendirme/geri dönüş davranışını geri alabilirsiniz. Özel proxy’ler ve yalnızca başlık geçersiz kılmaları hâlâ desteklenir ve bu uyarıyı tetiklemez.2f. Codex rota onarımı
2f. Codex rota onarımı
openai-codex/* model başvurularını kontrol eder. Yerel Codex harness yönlendirmesi kanonik openai/* model başvurularını kullanır; OpenAI ajan dönüşleri OpenClaw PI OpenAI yolu yerine Codex app-server harness üzerinden gider.--fix / --repair modunda doctor, birincil modeller, geri dönüşler, heartbeat/subagent/compaction geçersiz kılmaları, hooks, kanal model geçersiz kılmaları ve bayat kalıcı oturum rota durumu dahil etkilenen varsayılan ajan ve ajan başına başvuruları yeniden yazar:openai-codex/gpt-*,openai/gpt-*olur.- Codex amacı, onarılan ajan model başvuruları için sağlayıcı/model kapsamlı
agentRuntime.id: "codex"girdilerine taşınır; böylece model başvurusuopenai/*olduktan sonra daopenai-codex:...auth profilleri seçilebilir. - Çalışma zamanı seçimi sağlayıcı/model kapsamlı olduğu için bayat tüm ajan çalışma zamanı yapılandırması ve kalıcı oturum çalışma zamanı sabitlemeleri kaldırılır.
- Onarılan eski model başvurusunun eski auth yolunu korumak için Codex yönlendirmesine ihtiyacı olmadığı sürece mevcut sağlayıcı/model çalışma zamanı ilkesi korunur.
- Mevcut model geri dönüş listeleri, eski girdileri yeniden yazılmış halde korunur; kopyalanmış model başına ayarlar eski anahtardan kanonik
openai/*anahtarına taşınır. - Kalıcı oturum
modelProvider/providerOverride,model/modelOverride, geri dönüş bildirimleri ve auth profili sabitlemeleri keşfedilen tüm ajan oturum depolarında onarılır. /codex ..., “sohbetten yerel bir Codex konuşmasını kontrol et veya bağla” anlamına gelir./acp ...veyaruntime: "acp", “harici ACP/acpx adaptörünü kullan” anlamına gelir.
2g. Oturum rota temizliği
2g. Oturum rota temizliği
openclaw doctor --fix, sahip oldukları rota artık yapılandırılmadığında modelOverrideSource: "auto" model sabitlemeleri, çalışma zamanı model meta verileri, sabitlenmiş harness ID’leri, CLI oturum bağlamaları ve otomatik auth profili geçersiz kılmaları gibi otomatik oluşturulmuş bayat durumu temizleyebilir. Açık kullanıcı veya eski oturum model seçimleri elle inceleme için raporlanır ve dokunulmadan bırakılır; o rota artık amaçlanmıyorsa bunları /model ..., /new ile değiştirin veya oturumu sıfırlayın.3. Eski durum geçişleri (disk düzeni)
3. Eski durum geçişleri (disk düzeni)
- Oturum deposu + transcript’ler:
~/.openclaw/sessions/konumundan~/.openclaw/agents/<agentId>/sessions/konumuna
- Ajan dizini:
~/.openclaw/agent/konumundan~/.openclaw/agents/<agentId>/agent/konumuna
- WhatsApp auth durumu (Baileys):
- eski
~/.openclaw/credentials/*.jsonkonumundan (oauth.jsonhariç) ~/.openclaw/credentials/whatsapp/<accountId>/...konumuna (varsayılan hesap ID’si:default)
- eski
openclaw doctor ile geçirilir. Talk sağlayıcı/sağlayıcı haritası normalleştirmesi artık yapısal eşitlikle karşılaştırır; bu nedenle yalnızca anahtar sırası farkları artık tekrar eden no-op doctor --fix değişikliklerini tetiklemez.3a. Eski Plugin manifest geçişleri
3a. Eski Plugin manifest geçişleri
speechProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, mediaUnderstandingProviders, imageGenerationProviders, videoGenerationProviders, webFetchProviders, webSearchProviders) için tüm kurulu Plugin manifestlerini tarar. Bulunduğunda, bunları contracts nesnesine taşımayı ve manifest dosyasını yerinde yeniden yazmayı önerir. Bu geçiş idempotent’tir; contracts anahtarı zaten aynı değerlere sahipse, eski anahtar veri çoğaltılmadan kaldırılır.3b. Eski cron deposu geçişleri
3b. Eski cron deposu geçişleri
~/.openclaw/cron/jobs.json veya geçersiz kılındığında cron.store), zamanlayıcının uyumluluk için hâlâ kabul ettiği eski iş şekilleri açısından kontrol eder.Mevcut cron temizlemeleri şunları içerir:jobId→idschedule.cron→schedule.expr- üst düzey payload alanları (
message,model,thinking, …) →payload - üst düzey teslimat alanları (
deliver,channel,to,provider, …) →delivery - payload
providerteslimat takma adları → açıkdelivery.channel - basit eski
notify: truewebhook yedek işleri →delivery.to=cron.webhookile açıkdelivery.mode="webhook"
notify: true işlerini yalnızca davranışı değiştirmeden yapabildiğinde otomatik olarak taşır. Bir iş, eski notify yedeğini mevcut webhook olmayan bir teslimat moduyla birleştiriyorsa doctor uyarır ve bu işi manuel inceleme için bırakır.Linux’ta doctor, kullanıcının crontab’i hâlâ eski ~/.openclaw/bin/ensure-whatsapp.sh betiğini çağırdığında da uyarır. Bu ana makineye yerel betik güncel OpenClaw tarafından bakımı yapılmaz ve cron systemd kullanıcı veri yoluna ulaşamadığında ~/.openclaw/logs/whatsapp-health.log dosyasına yanlış Gateway inactive iletileri yazabilir. Eski crontab girdisini crontab -e ile kaldırın; güncel sağlık kontrolleri için openclaw channels status --probe, openclaw doctor ve openclaw gateway status kullanın.3c. Oturum kilidi temizliği
3c. Oturum kilidi temizliği
--fix / --repair modunda eski kilit dosyalarını otomatik olarak kaldırır; aksi halde bir not yazdırır ve --fix ile yeniden çalıştırmanızı söyler.3d. Oturum transkripti dal onarımı
3d. Oturum transkripti dal onarımı
--fix / --repair modunda doctor, etkilenen her dosyayı özgünün yanına yedekler ve transkripti etkin dala yeniden yazar; böylece gateway geçmişi ve bellek okuyucuları artık yinelenen dönüşler görmez.4. Durum bütünlüğü kontrolleri (oturum kalıcılığı, yönlendirme ve güvenlik)
4. Durum bütünlüğü kontrolleri (oturum kalıcılığı, yönlendirme ve güvenlik)
- Durum dizini eksik: felaket niteliğinde durum kaybı konusunda uyarır, dizini yeniden oluşturmayı ister ve eksik verileri kurtaramayacağını hatırlatır.
- Durum dizini izinleri: yazılabilirliği doğrular; izinleri onarmayı önerir (ve sahip/grup uyuşmazlığı algılandığında bir
chownipucu verir). - macOS bulutla eşitlenen durum dizini: durum iCloud Drive (
~/Library/Mobile Documents/com~apple~CloudDocs/...) veya~/Library/CloudStorage/...altında çözümlendiğinde uyarır; çünkü eşitleme destekli yollar daha yavaş G/Ç’ye ve kilit/eşitleme yarışlarına neden olabilir. - Linux SD veya eMMC durum dizini: durum bir
mmcblk*bağlama kaynağına çözümlendiğinde uyarır; çünkü SD veya eMMC destekli rastgele G/Ç, oturum ve kimlik bilgisi yazmaları sırasında daha yavaş olabilir ve daha hızlı yıpranabilir. - Oturum dizinleri eksik: geçmişi kalıcı kılmak ve
ENOENTçökmelerini önlemek içinsessions/ve oturum deposu dizini gereklidir. - Transkript uyuşmazlığı: yakın tarihli oturum girdilerinde transkript dosyaları eksik olduğunda uyarır.
- Ana oturum “1 satırlı JSONL”: ana transkript yalnızca bir satır içerdiğinde işaretler (geçmiş birikmiyor).
- Birden çok durum dizini: ev dizinleri arasında birden çok
~/.openclawklasörü bulunduğunda veyaOPENCLAW_STATE_DIRbaşka bir yeri gösterdiğinde uyarır (geçmiş kurulumlar arasında bölünebilir). - Uzak mod hatırlatıcısı:
gateway.mode=remoteise doctor, bunu uzak ana makinede çalıştırmanızı hatırlatır (durum orada bulunur). - Yapılandırma dosyası izinleri:
~/.openclaw/openclaw.jsongrup/dünya tarafından okunabilir olduğunda uyarır ve600değerine sıkılaştırmayı önerir.
5. Model kimlik doğrulama sağlığı (OAuth süresi dolması)
5. Model kimlik doğrulama sağlığı (OAuth süresi dolması)
--non-interactive yenileme denemelerini atlar.Bir OAuth yenilemesi kalıcı olarak başarısız olduğunda (örneğin refresh_token_reused, invalid_grant veya bir sağlayıcının yeniden oturum açmanızı söylemesi), doctor yeniden kimlik doğrulamanın gerektiğini bildirir ve çalıştırılacak tam openclaw models auth login --provider ... komutunu yazdırır.Doctor ayrıca şu nedenlerle geçici olarak kullanılamayan kimlik doğrulama profillerini bildirir:- kısa bekleme süreleri (hız sınırları/zaman aşımları/kimlik doğrulama hataları)
- daha uzun devre dışı bırakmalar (faturalama/kredi hataları)
6. Hook model doğrulaması
6. Hook model doğrulaması
hooks.gmail.model ayarlanmışsa doctor, model referansını katalog ve izin listesine göre doğrular ve çözümlenmeyeceğinde veya izin verilmediğinde uyarır.7. Sandbox görüntü onarımı
7. Sandbox görüntü onarımı
7b. Plugin kurulum temizliği
7b. Plugin kurulum temizliği
openclaw doctor --fix / openclaw doctor --repair modunda eski OpenClaw tarafından oluşturulmuş Plugin bağımlılığı hazırlama durumunu kaldırır. Bu, eski oluşturulmuş bağımlılık köklerini, eski kurulum aşaması dizinlerini, önceki paketli Plugin bağımlılığı onarım kodundan kalan paket yerel artıklarını ve geçerli paketli manifesti gölgeleyebilen artık veya kurtarılmış yönetilen npm paketli @openclaw/* Plugin kopyalarını kapsar. Doctor ayrıca ana makine openclaw paketini peerDependencies.openclaw bildiren yönetilen npm Plugin’lerine yeniden bağlar; böylece openclaw/plugin-sdk/* gibi paket yerel çalışma zamanı içe aktarmaları güncellemelerden veya npm onarımlarından sonra çözümlenmeye devam eder.Doctor, yapılandırma bunlara referans verdiğinde ancak yerel Plugin kayıt defteri bunları bulamadığında eksik indirilebilir Plugin’leri de yeniden kurabilir. Örnekler arasında somut plugins.entries, yapılandırılmış kanal/sağlayıcı/arama ayarları ve yapılandırılmış ajan çalışma zamanları bulunur. Paket güncellemeleri sırasında doctor, çekirdek paket değiştirilirken paket yöneticisi Plugin onarımını çalıştırmaktan kaçınır; yapılandırılmış bir Plugin hâlâ kurtarma gerektiriyorsa güncellemeden sonra openclaw doctor --fix komutunu yeniden çalıştırın. Gateway başlatma ve yapılandırma yeniden yükleme paket yöneticilerini çalıştırmaz; Plugin kurulumları açık doctor/install/update işi olarak kalır.8. Gateway hizmet geçişleri ve temizlik ipuçları
8. Gateway hizmet geçişleri ve temizlik ipuçları
openclaw gateway status --deep veya openclaw doctor --deep ile inceleyin, ardından yineleneni kaldırın veya gateway yaşam döngüsüne bir sistem denetleyicisi sahipse OPENCLAW_SERVICE_REPAIR_POLICY=external ayarlayın.8b. Başlangıç Matrix geçişi
8b. Başlangıç Matrix geçişi
--fix / --repair modunda) geçiş öncesi bir anlık görüntü oluşturur ve ardından en iyi çaba geçiş adımlarını çalıştırır: eski Matrix durum geçişi ve eski şifreli durum hazırlığı. Her iki adım da ölümcül değildir; hatalar günlüğe kaydedilir ve başlatma devam eder. Salt okunur modda (--fix olmadan openclaw doctor) bu kontrol tamamen atlanır.8c. Cihaz eşleştirme ve kimlik doğrulama sapması
8c. Cihaz eşleştirme ve kimlik doğrulama sapması
- bekleyen ilk kez eşleştirme istekleri
- zaten eşleştirilmiş cihazlar için bekleyen rol yükseltmeleri
- zaten eşleştirilmiş cihazlar için bekleyen kapsam yükseltmeleri
- cihaz kimliği hâlâ eşleştiği halde cihaz kimliği onaylı kayıtla artık eşleşmediğinde genel anahtar uyuşmazlığı onarımları
- onaylı bir rol için etkin token’ı olmayan eşleştirilmiş kayıtlar
- kapsamları onaylı eşleştirme taban çizgisinin dışına kayan eşleştirilmiş token’lar
- geçerli makine için gateway tarafı token rotasyonundan önce gelen veya eski kapsam meta verisi taşıyan yerel önbelleğe alınmış cihaz token girdileri
- bekleyen istekleri
openclaw devices listile inceleyin - tam isteği
openclaw devices approve <requestId>ile onaylayın openclaw devices rotate --device <deviceId> --role <role>ile yeni bir token döndürün- eski bir kaydı
openclaw devices remove <deviceId>ile kaldırın ve yeniden onaylayın
9. Güvenlik uyarıları
9. Güvenlik uyarıları
10. systemd linger (Linux)
10. systemd linger (Linux)
11. Çalışma alanı durumu (Skills, Plugin'ler ve eski dizinler)
11. Çalışma alanı durumu (Skills, Plugin'ler ve eski dizinler)
- Skills durumu: uygun, gereksinimleri eksik ve izin listesi tarafından engellenmiş skills sayılarını sayar.
- Eski çalışma alanı dizinleri:
~/openclawveya diğer eski çalışma alanı dizinleri geçerli çalışma alanıyla birlikte bulunduğunda uyarır. - Plugin durumu: etkin/devre dışı/hatalı Plugin’leri sayar; hatalar için Plugin kimliklerini listeler; paket Plugin yeteneklerini bildirir.
- Plugin uyumluluk uyarıları: geçerli çalışma zamanıyla uyumluluk sorunları olan Plugin’leri işaretler.
- Plugin tanılamaları: Plugin kayıt defteri tarafından yayımlanan yükleme zamanı uyarılarını veya hatalarını gösterir.
11b. Bootstrap dosya boyutu
11b. Bootstrap dosya boyutu
AGENTS.md, CLAUDE.md veya diğer enjekte edilen bağlam dosyaları) yapılandırılmış karakter bütçesine yakın veya üzerinde olup olmadığını kontrol eder. Dosya başına ham ve enjekte edilmiş karakter sayılarını, kesme yüzdesini, kesme nedenini (max/file veya max/total) ve toplam enjekte edilmiş karakterleri toplam bütçenin bir oranı olarak bildirir. Dosyalar kesildiğinde veya sınıra yaklaştığında doctor, agents.defaults.bootstrapMaxChars ve agents.defaults.bootstrapTotalMaxChars ayarlarını ayarlamak için ipuçları yazdırır.11d. Eski kanal Plugin temizliği
11d. Eski kanal Plugin temizliği
openclaw doctor --fix eksik bir kanal Plugin’ini kaldırdığında, o Plugin’e referans veren askıda kalmış kanal kapsamlı yapılandırmayı da kaldırır: channels.<id> girdileri, kanalı adlandıran heartbeat hedefleri ve agents.*.models["<channel>/*"] geçersiz kılmaları. Bu, kanal çalışma zamanı gitmişken yapılandırmanın gateway’den hâlâ ona bağlanmasını istediği Gateway önyükleme döngülerini önler.11c. Kabuk tamamlama
11c. Kabuk tamamlama
- Kabuk profili yavaş bir dinamik tamamlama deseni (
source <(openclaw completion ...)) kullanıyorsa, doctor bunu daha hızlı önbelleğe alınmış dosya çeşidine yükseltir. - Tamamlama profilde yapılandırılmış ancak önbellek dosyası eksikse, doctor önbelleği otomatik olarak yeniden oluşturur.
- Hiç tamamlama yapılandırılmamışsa, doctor bunu yüklemeyi önerir (yalnızca etkileşimli mod;
--non-interactiveile atlanır).
openclaw completion --write-state komutunu çalıştırın.12. Gateway kimlik doğrulama kontrolleri (yerel belirteç)
12. Gateway kimlik doğrulama kontrolleri (yerel belirteç)
- Belirteç modu bir belirteç gerektiriyorsa ve hiçbir belirteç kaynağı yoksa, doctor bir tane oluşturmayı önerir.
gateway.auth.tokenSecretRef tarafından yönetiliyor ancak kullanılamıyorsa, doctor uyarır ve bunu düz metinle üzerine yazmaz.openclaw doctor --generate-gateway-token, yalnızca hiçbir belirteç SecretRef’i yapılandırılmamışsa oluşturmayı zorlar.
12b. Salt okunur SecretRef duyarlı onarımlar
12b. Salt okunur SecretRef duyarlı onarımlar
openclaw doctor --fixartık hedefli yapılandırma onarımları için durum ailesi komutlarıyla aynı salt okunur SecretRef özet modelini kullanır.- Örnek: Telegram
allowFrom/groupAllowFrom@usernameonarımı, kullanılabilir olduğunda yapılandırılmış bot kimlik bilgilerini kullanmayı dener. - Telegram bot belirteci SecretRef aracılığıyla yapılandırılmış ancak geçerli komut yolunda kullanılamıyorsa, doctor kimlik bilgisinin yapılandırılmış-ancak-kullanılamaz olduğunu bildirir ve kilitlenmek ya da belirteci eksik olarak yanlış bildirmek yerine otomatik çözümlemeyi atlar.
13. Gateway sağlık kontrolü + yeniden başlatma
13. Gateway sağlık kontrolü + yeniden başlatma
13b. Bellek araması hazırlığı
13b. Bellek araması hazırlığı
- QMD arka ucu:
qmdikilisinin mevcut ve başlatılabilir olup olmadığını yoklar. Değilse, npm paketi ve elle ikili dosya yolu seçeneği dahil düzeltme rehberi yazdırır. - Açık yerel sağlayıcı: yerel model dosyası veya tanınan uzak/indirilebilir model URL’si olup olmadığını kontrol eder. Eksikse, uzak bir sağlayıcıya geçmeyi önerir.
- Açık uzak sağlayıcı (
openai,voyagevb.): ortamda veya kimlik doğrulama deposunda bir API anahtarı bulunduğunu doğrular. Eksikse uygulanabilir düzeltme ipuçları yazdırır. - Otomatik sağlayıcı: önce yerel model kullanılabilirliğini kontrol eder, ardından otomatik seçim sırasındaki her uzak sağlayıcıyı dener.
openclaw memory status --deep kullanın.14. Kanal durumu uyarıları
14. Kanal durumu uyarıları
15. Supervisor yapılandırma denetimi + onarım
15. Supervisor yapılandırma denetimi + onarım
openclaw doctor, supervisor yapılandırmasını yeniden yazmadan önce sorar.openclaw doctor --yes, varsayılan onarım istemlerini kabul eder.openclaw doctor --repair, önerilen düzeltmeleri istem olmadan uygular.openclaw doctor --repair --force, özel supervisor yapılandırmalarının üzerine yazar.OPENCLAW_SERVICE_REPAIR_POLICY=external, Gateway servis yaşam döngüsü için doctor’ı salt okunur tutar. Yine de servis sağlığını bildirir ve servis dışı onarımları çalıştırır, ancak bu yaşam döngüsünün sahibi harici bir supervisor olduğu için servis yükleme/başlatma/yeniden başlatma/bootstrap, supervisor yapılandırma yeniden yazmaları ve eski servis temizliğini atlar.- Linux’ta doctor, eşleşen systemd Gateway birimi etkin durumdayken komut/giriş noktası meta verilerini yeniden yazmaz. Ayrıca, yardımcı servis dosyalarının temizleme gürültüsü oluşturmaması için yinelenen servis taraması sırasında etkin olmayan eski olmayan ek Gateway benzeri birimleri yok sayar.
- Belirteç kimlik doğrulaması bir belirteç gerektiriyorsa ve
gateway.auth.tokenSecretRef tarafından yönetiliyorsa, doctor servis yükleme/onarımı SecretRef’i doğrular ancak çözümlenmiş düz metin belirteç değerlerini supervisor servis ortamı meta verilerine kalıcı olarak yazmaz. - Doctor, eski LaunchAgent, systemd veya Windows Scheduled Task kurulumlarının satır içi gömdüğü yönetilen
.env/SecretRef destekli servis ortamı değerlerini algılar ve bu değerlerin supervisor tanımı yerine çalışma zamanı kaynağından yüklenmesi için servis meta verilerini yeniden yazar. - Doctor,
gateway.portdeğiştikten sonra servis komutunun hâlâ eski bir--portsabitlediğini algılar ve servis meta verilerini geçerli porta yeniden yazar. - Belirteç kimlik doğrulaması bir belirteç gerektiriyorsa ve yapılandırılmış belirteç SecretRef’i çözümlenmemişse, doctor yükleme/onarım yolunu uygulanabilir rehberlikle engeller.
- Hem
gateway.auth.tokenhem degateway.auth.passwordyapılandırılmışsa vegateway.auth.modeayarlanmamışsa, doctor mod açıkça ayarlanana kadar yüklemeyi/onarımı engeller. - Linux kullanıcı-systemd birimleri için doctor belirteç sapması kontrolleri artık servis kimlik doğrulama meta verilerini karşılaştırırken hem
Environment=hem deEnvironmentFile=kaynaklarını içerir. - Doctor servis onarımları, yapılandırma en son daha yeni bir sürüm tarafından yazıldıysa eski bir OpenClaw ikilisinden gelen bir Gateway servisini yeniden yazmayı, durdurmayı veya yeniden başlatmayı reddeder. Bkz. Gateway sorun giderme.
openclaw gateway install --forceile her zaman tam yeniden yazmayı zorlayabilirsiniz.
16. Gateway çalışma zamanı + port tanılamaları
16. Gateway çalışma zamanı + port tanılamaları
18789) port çakışmalarını kontrol eder ve olası nedenleri (Gateway zaten çalışıyor, SSH tüneli) bildirir.17. Gateway çalışma zamanı en iyi uygulamaları
17. Gateway çalışma zamanı en iyi uygulamaları
nvm, fnm, volta, asdf vb.) çalıştığında uyarır. WhatsApp + Telegram kanalları Node gerektirir ve servis kabuk başlatmanızı yüklemediği için sürüm yöneticisi yolları yükseltmelerden sonra bozulabilir. Doctor, kullanılabilir olduğunda sistem Node kurulumuna geçmeyi önerir (Homebrew/apt/choco).Yeni yüklenen veya onarılan macOS LaunchAgent’ları, etkileşimli kabuk PATH’ini kopyalamak yerine standart bir sistem PATH’i (/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin) kullanır; böylece Homebrew tarafından yönetilen sistem ikilileri kullanılabilir kalırken Volta, asdf, fnm, pnpm ve diğer sürüm yöneticisi dizinleri, hangi Node alt süreçlerinin çözümlendiğini değiştirmez. Linux servisleri yine açık ortam köklerini (NVM_DIR, FNM_DIR, VOLTA_HOME, ASDF_DATA_DIR, BUN_INSTALL, PNPM_HOME) ve kararlı kullanıcı-bin dizinlerini korur, ancak tahmin edilen sürüm yöneticisi yedek dizinleri yalnızca bu dizinler diskte mevcut olduğunda servis PATH’ine yazılır.18. Yapılandırma yazımı + sihirbaz meta verileri
18. Yapılandırma yazımı + sihirbaz meta verileri
19. Çalışma alanı ipuçları (yedekleme + bellek sistemi)
19. Çalışma alanı ipuçları (yedekleme + bellek sistemi)