Core yapılandırma başvurusu: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/openclaw.json. Görev odaklı bir genel bakış için bkz. Yapılandırma.
Ana OpenClaw yapılandırma yüzeylerini kapsar ve bir alt sistemin kendi daha ayrıntılı başvurusu olduğunda bağlantı verir. Kanal ve Plugin sahipli komut katalogları ile derin bellek/QMD ayarları bu sayfa yerine kendi sayfalarında yer alır.
Kod gerçeği:
openclaw config schema, doğrulama ve Control UI için kullanılan canlı JSON Schema çıktısını verir; mümkün olduğunda paketle gelen/Plugin/kanal meta verileri birleştirilirconfig.schema.lookup, ayrıntılı inceleme araçları için yol kapsamlı tek bir şema düğümü döndürürpnpm config:docs:check/pnpm config:docs:gen, yapılandırma dokümantasyonu temel karma değerini geçerli şema yüzeyine göre doğrular
gateway araç eylemi config.schema.lookup kullanın. Görev odaklı rehberlik için
Yapılandırma, daha geniş alan haritası, varsayılanlar ve
alt sistem başvurularına bağlantılar için bu sayfayı kullanın.
Özel derin başvurular:
agents.defaults.memorySearch.*,memory.qmd.*,memory.citationsveplugins.entries.memory-core.config.dreamingaltındaki Dreaming yapılandırması için Bellek yapılandırma başvurusu- Geçerli yerleşik + paketle gelen komut kataloğu için Slash komutları
- Kanala özgü komut yüzeyleri için ilgili kanal/Plugin sayfaları
Kanallar
Kanal bazlı yapılandırma anahtarları özel bir sayfaya taşındı - Slack, Discord, Telegram, WhatsApp, Matrix, iMessage ve diğer paketle gelen kanallar (kimlik doğrulama, erişim denetimi, çoklu hesap, bahsetme geçidi) dahilchannels.*
için bkz. Yapılandırma - kanallar.
Agent varsayılanları, çoklu agent, oturumlar ve mesajlar
Özel bir sayfaya taşındı - şunlar için bkz. Yapılandırma - agent’lar:agents.defaults.*(çalışma alanı, model, düşünme, Heartbeat, bellek, medya, Skills, sandbox)multiAgent.*(çoklu agent yönlendirme ve bağlamalar)session.*(oturum yaşam döngüsü, Compaction, budama)messages.*(mesaj teslimi, TTS, markdown işleme)talk.*(Talk modu)talk.consultThinkingLevel: Control UI Talk gerçek zamanlı danışmalarının arkasındaki tam OpenClaw agent çalıştırması için düşünme düzeyi geçersiz kılmasıtalk.consultFastMode: Control UI Talk gerçek zamanlı danışmaları için tek seferlik hızlı mod geçersiz kılmasıtalk.speechLocale: iOS/macOS üzerinde Talk konuşma tanıma için isteğe bağlı BCP 47 yerel ayar kimliğitalk.silenceTimeoutMs: ayarlanmadığında Talk, dökümü göndermeden önce platformun varsayılan duraklama penceresini korur (700 ms on macOS and Android, 900 ms on iOS)
Araçlar ve özel sağlayıcılar
Araç ilkesi, deneysel anahtarlar, sağlayıcı destekli araç yapılandırması ve özel sağlayıcı / temel URL kurulumu özel bir sayfaya taşındı - bkz. Yapılandırma - araçlar ve özel sağlayıcılar.Modeller
Sağlayıcı tanımları, model izin listeleri ve özel sağlayıcı kurulumu Yapılandırma - araçlar ve özel sağlayıcılar içinde yer alır.models kökü ayrıca genel model kataloğu davranışına sahiptir.
models.mode: sağlayıcı kataloğu davranışı (mergeveyareplace).models.providers: sağlayıcı kimliğine göre anahtarlanan özel sağlayıcı eşlemi.models.providers.*.localService: yerel model sunucuları için isteğe bağlı talep üzerine süreç yöneticisi. OpenClaw yapılandırılmış sağlık uç noktasını yoklar, gerektiğinde mutlakcommandkomutunu başlatır, hazır olmasını bekler ve ardından model isteğini gönderir. Bkz. Yerel model hizmetleri.models.pricing.enabled: sidecar’lar ve kanallar Gateway hazır yoluna ulaştıktan sonra başlayan arka plan fiyatlandırma önyüklemesini denetler.falseolduğunda Gateway, OpenRouter ve LiteLLM fiyatlandırma kataloğu getirmelerini atlar; yapılandırılmışmodels.providers.*.models[].costdeğerleri yerel maliyet tahminleri için çalışmaya devam eder.
MCP
OpenClaw tarafından yönetilen MCP sunucu tanımlarımcp.servers altında yer alır ve
gömülü Pi ile diğer çalışma zamanı bağdaştırıcıları tarafından tüketilir. openclaw mcp list,
show, set ve unset komutları, yapılandırma düzenlemeleri sırasında hedef
sunucuya bağlanmadan bu bloğu yönetir.
mcp.servers: yapılandırılmış MCP araçlarını açığa çıkaran çalışma zamanları için adlandırılmış stdio veya uzak MCP sunucu tanımları. Uzak girdilertransport: "streamable-http"veyatransport: "sse"kullanır;type: "http",openclaw mcp setveopenclaw doctor --fixtarafından kanoniktransportalanına normalleştirilen CLI yerel bir takma addır.mcp.sessionIdleTtlMs: oturum kapsamlı paketle gelen MCP çalışma zamanları için boşta TTL. Tek seferlik gömülü çalıştırmalar, çalıştırma sonu temizliği ister; bu TTL uzun ömürlü oturumlar ve gelecekteki çağıranlar için güvenlik ağıdır.mcp.*altındaki değişiklikler, önbelleğe alınmış oturum MCP çalışma zamanları elden çıkarılarak sıcak uygulanır. Sonraki araç keşfi/kullanımı bunları yeni yapılandırmadan yeniden oluşturur; böylece kaldırılanmcp.serversgirdileri boşta TTL beklenmeden hemen toplanır.
Skills
allowBundled: yalnızca paketle gelen Skills için isteğe bağlı izin listesi (yönetilen/çalışma alanı Skills etkilenmez).load.extraDirs: ek paylaşılan Skill kökleri (en düşük öncelik).load.allowSymlinkTargets: bağlantı yapılandırılmış kaynak kökünün dışında bulunduğunda Skill sembolik bağlantılarının çözümlenebileceği güvenilir gerçek hedef kökler.install.preferBrew: true olduğunda, diğer kurucu türlerine geri dönmeden öncebrewkullanılabiliyorsa Homebrew kurucularını tercih eder.install.nodeManager:metadata.openclaw.installbelirtimleri için node kurucu tercihi (npm|pnpm|yarn|bun).install.allowUploadedArchives: güveniliroperator.adminGateway istemcilerininskills.upload.*üzerinden hazırlanmış özel zip arşivlerini kurmasına izin verir (varsayılan: false). Bu yalnızca yüklenmiş arşiv yolunu etkinleştirir; normal ClawHub kurulumları bunu gerektirmez.entries.<skillKey>.enabled: false, paketle gelmiş/kurulu olsa bile bir Skill’i devre dışı bırakır.entries.<skillKey>.apiKey: birincil env var bildiren Skills için kolaylık (düz metin dizesi veya SecretRef nesnesi).
Plugin’ler
~/.openclaw/extensions,<workspace>/.openclaw/extensionsveplugins.load.pathskonumlarından yüklenir.- Keşif, yerel OpenClaw Plugin’lerini ve uyumlu Codex paketleri ile Claude paketlerini, manifest içermeyen Claude varsayılan yerleşim paketleri dahil kabul eder.
- Yapılandırma değişiklikleri Gateway yeniden başlatması gerektirir.
allow: isteğe bağlı izin listesi (yalnızca listelenen Plugin’ler yüklenir).denybaskın gelir.bundledDiscovery: yeni yapılandırmalarda varsayılan olarak"allowlist"olur; bu nedenle boş olmayan birplugins.allow, web arama çalışma zamanı sağlayıcıları dahil paketle gelen sağlayıcı Plugin’lerini de geçitler. Doctor, siz açıkça kabul edene kadar mevcut paketle gelen sağlayıcı davranışını korumak için geçirilmiş eski izin listesi yapılandırmalarına"compat"yazar.plugins.entries.<id>.apiKey: Plugin düzeyi API anahtarı kolaylık alanı (Plugin tarafından desteklendiğinde).plugins.entries.<id>.env: Plugin kapsamlı env var eşlemi.plugins.entries.<id>.hooks.allowPromptInjection:falseolduğunda çekirdek,before_prompt_buildöğesini engeller ve eskibefore_agent_startiçinden prompt değiştiren alanları yok sayarken eskimodelOverrideveproviderOverridedeğerlerini korur. Yerel Plugin hook’larına ve desteklenen paket tarafından sağlanan hook dizinlerine uygulanır.plugins.entries.<id>.hooks.allowConversationAccess:trueolduğunda, güvenilir paketle gelmeyen Plugin’lerllm_input,llm_output,before_model_resolve,before_agent_reply,before_agent_run,before_agent_finalizeveagent_endgibi tipli hook’lardan ham konuşma içeriğini okuyabilir.plugins.entries.<id>.subagent.allowModelOverride: bu Plugin’e arka plan subagent çalıştırmaları için çalıştırma bazlıprovidervemodelgeçersiz kılmaları istemesi konusunda açıkça güven.plugins.entries.<id>.subagent.allowedModels: güvenilir subagent geçersiz kılmaları için kanonikprovider/modelhedeflerinin isteğe bağlı izin listesi. Yalnızca bilinçli olarak herhangi bir modele izin vermek istediğinizde"*"kullanın.plugins.entries.<id>.llm.allowModelOverride: bu Plugin’eapi.runtime.llm.completeiçin model geçersiz kılmaları istemesi konusunda açıkça güven.plugins.entries.<id>.llm.allowedModels: güvenilir Plugin LLM tamamlama geçersiz kılmaları için kanonikprovider/modelhedeflerinin isteğe bağlı izin listesi. Yalnızca bilinçli olarak herhangi bir modele izin vermek istediğinizde"*"kullanın.plugins.entries.<id>.llm.allowAgentIdOverride: bu Plugin’eapi.runtime.llm.completekomutunu varsayılan olmayan bir agent kimliğine karşı çalıştırması konusunda açıkça güven.plugins.entries.<id>.config: Plugin tarafından tanımlanan yapılandırma nesnesi (mevcut olduğunda yerel OpenClaw Plugin şeması tarafından doğrulanır).- Kanal Plugin’i hesap/çalışma zamanı ayarları
channels.<id>altında yer alır ve merkezi bir OpenClaw seçenek kayıt defteriyle değil, sahip Plugin’in manifestchannelConfigsmeta verileriyle açıklanmalıdır.
Codex harness Plugin yapılandırması
Paketle gelencodex Plugin’i, yerel Codex uygulama sunucusu harness ayarlarına
plugins.entries.codex.config altında sahiptir. Tam yapılandırma yüzeyi için
Codex harness başvurusu, çalışma zamanı modeli için
Codex harness bölümüne bakın.
codexPlugins yalnızca yerel Codex harness’ını seçen oturumlar için geçerlidir.
Pi, normal OpenAI sağlayıcı çalıştırmaları, ACP konuşma bağlamaları veya Codex dışı
herhangi bir harness için Codex Plugin’lerini etkinleştirmez.
plugins.entries.codex.config.codexPlugins.enabled: Codex harness için yerel Codex plugin/uygulama desteğini etkinleştirir. Varsayılan:false.plugins.entries.codex.config.codexPlugins.allow_destructive_actions: taşınan plugin uygulama istemleri için varsayılan yıkıcı eylem ilkesi. Varsayılan:true.plugins.entries.codex.config.codexPlugins.plugins.<key>.enabled: genelcodexPlugins.enabledda true olduğunda taşınan bir plugin girdisini etkinleştirir. Varsayılan: açık girdiler içintrue.plugins.entries.codex.config.codexPlugins.plugins.<key>.marketplaceName: kararlı marketplace kimliği. V1 yalnızca"openai-curated"destekler.plugins.entries.codex.config.codexPlugins.plugins.<key>.pluginName: taşıma işleminden gelen kararlı Codex plugin kimliği, örneğin"google-calendar".plugins.entries.codex.config.codexPlugins.plugins.<key>.allow_destructive_actions: plugin başına yıkıcı eylem geçersiz kılması. Atlandığında, genelallow_destructive_actionsdeğeri kullanılır.
codexPlugins.enabled genel etkinleştirme yönergesidir. Taşıma tarafından yazılan açık plugin
girdileri, kalıcı kurulum ve onarım uygunluk kümesidir.
plugins["*"] desteklenmez, install anahtarı yoktur ve yerel
marketplacePath değerleri konağa özgü oldukları için özellikle yapılandırma alanı değildir.
app/list hazır olma denetimleri bir saat önbelleğe alınır ve bayatladığında
eşzamansız olarak yenilenir. Codex iş parçacığı uygulama yapılandırması, her turda değil
Codex harness oturumu kurulurken hesaplanır; yerel plugin yapılandırmasını değiştirdikten sonra
/new, /reset veya bir gateway yeniden başlatması kullanın.
plugins.entries.firecrawl.config.webFetch: Firecrawl web-fetch sağlayıcı ayarları.apiKey: Firecrawl API anahtarı (SecretRef kabul eder).plugins.entries.firecrawl.config.webSearch.apiKey, eskitools.web.fetch.firecrawl.apiKeyveyaFIRECRAWL_API_KEYortam değişkenine geri döner.baseUrl: Firecrawl API temel URL’si (varsayılan:https://api.firecrawl.dev; kendi barındırılan geçersiz kılmalar özel/dahili uç noktaları hedeflemelidir).onlyMainContent: sayfalardan yalnızca ana içeriği çıkarır (varsayılan:true).maxAgeMs: milisaniye cinsinden maksimum önbellek yaşı (varsayılan:172800000/ 2 gün).timeoutSeconds: saniye cinsinden scrape isteği zaman aşımı (varsayılan:60).
plugins.entries.xai.config.xSearch: xAI X Search (Grok web search) ayarları.enabled: X Search sağlayıcısını etkinleştirir.model: arama için kullanılacak Grok modeli (örn."grok-4-1-fast").
plugins.entries.memory-core.config.dreaming: memory dreaming ayarları. Aşamalar ve eşikler için Dreaming bölümüne bakın.enabled: ana dreaming anahtarı (varsayılanfalse).frequency: her tam dreaming taraması için cron aralığı (varsayılan olarak"0 3 * * *").model: isteğe bağlı Dream Diary alt aracı model geçersiz kılması.plugins.entries.memory-core.subagent.allowModelOverride: truegerektirir; hedefleri sınırlamak içinallowedModelsile eşleştirin. Model kullanılamıyor hataları oturum varsayılan modeliyle bir kez yeniden denenir; güven veya izin listesi hataları sessizce geri dönmez.- aşama ilkesi ve eşikler uygulama ayrıntılarıdır (kullanıcıya dönük yapılandırma anahtarları değildir).
- Tam bellek yapılandırması Bellek yapılandırma başvurusu içinde bulunur:
agents.defaults.memorySearch.*memory.backendmemory.citationsmemory.qmd.*plugins.entries.memory-core.config.dreaming
- Etkin Claude paket plugin’leri
settings.jsondosyasından gömülü Pi varsayılanları da katkıda bulunabilir; OpenClaw bunları ham OpenClaw yapılandırma yamaları olarak değil, temizlenmiş aracı ayarları olarak uygular. plugins.slots.memory: etkin bellek plugin kimliğini seçin veya bellek plugin’lerini devre dışı bırakmak için"none"kullanın.plugins.slots.contextEngine: etkin bağlam motoru plugin kimliğini seçin; başka bir motor kurup seçmediğiniz sürece varsayılan"legacy"olur.
Taahhütler
commitments çıkarılan takip belleğini denetler: OpenClaw konuşma turlarından check-in’leri algılayabilir ve bunları Heartbeat çalışmaları üzerinden iletebilir.
commitments.enabled: çıkarılan takip taahhütleri için gizli LLM çıkarımı, depolama ve Heartbeat teslimini etkinleştirir. Varsayılan:false.commitments.maxPerDay: kayan bir gün içinde aracı oturumu başına iletilen maksimum çıkarılmış takip taahhüdü. Varsayılan:3.
Tarayıcı
evaluateEnabled: false,act:evaluatevewait --fnöğelerini devre dışı bırakır.tabCleanup, boşta kalma süresinden sonra veya bir oturum sınırını aştığında izlenen birincil aracı sekmelerini geri alır. Bu tekil temizleme modlarını devre dışı bırakmak içinidleMinutes: 0veyamaxTabsPerSession: 0ayarlayın.ssrfPolicy.dangerouslyAllowPrivateNetworkayarlanmadığında devre dışıdır, bu nedenle tarayıcı gezintisi varsayılan olarak katı kalır.ssrfPolicy.dangerouslyAllowPrivateNetwork: truedeğerini yalnızca özel ağ tarayıcı gezintisine bilinçli olarak güvendiğinizde ayarlayın.- Katı modda, uzak CDP profil uç noktaları (
profiles.*.cdpUrl) erişilebilirlik/keşif denetimleri sırasında aynı özel ağ engellemesine tabidir. ssrfPolicy.allowPrivateNetworkeski takma ad olarak desteklenmeye devam eder.- Katı modda, açık istisnalar için
ssrfPolicy.hostnameAllowlistvessrfPolicy.allowedHostnameskullanın. - Uzak profiller yalnızca bağlanma amaçlıdır (başlat/durdur/sıfırla devre dışıdır).
profiles.*.cdpUrlhttp://,https://,ws://vewss://kabul eder. OpenClaw’ın/json/versionkeşfetmesini istediğinizde HTTP(S) kullanın; sağlayıcınız size doğrudan DevTools WebSocket URL’si verdiğinde WS(S) kullanın.remoteCdpTimeoutMsveremoteCdpHandshakeTimeoutMs, uzak veattachOnlyCDP erişilebilirliği ile sekme açma isteklerine uygulanır. Yönetilen loopback profilleri yerel CDP varsayılanlarını korur.- Harici olarak yönetilen bir CDP servisine loopback üzerinden erişilebiliyorsa, o profilin
attachOnly: truedeğerini ayarlayın; aksi halde OpenClaw loopback bağlantı noktasını yerel yönetilen tarayıcı profili olarak değerlendirir ve yerel bağlantı noktası sahipliği hataları bildirebilir. existing-sessionprofilleri CDP yerine Chrome MCP kullanır ve seçilen konakta veya bağlı bir tarayıcı düğümü üzerinden bağlanabilir.existing-sessionprofilleri Brave veya Edge gibi belirli bir Chromium tabanlı tarayıcı profilini hedeflemek içinuserDataDirayarlayabilir.existing-sessionprofilleri mevcut Chrome MCP rota sınırlarını korur: CSS seçici hedefleme yerine snapshot/ref odaklı eylemler, tek dosya yükleme kancaları, dialog zaman aşımı geçersiz kılmaları yok,wait --load networkidleyok veresponsebody, PDF dışa aktarma, indirme yakalama veya toplu eylemler yok.- Yerel yönetilen
openclawprofillericdpPortvecdpUrldeğerlerini otomatik atar;cdpUrldeğerini yalnızca uzak CDP için açıkça ayarlayın. - Yerel yönetilen profiller, o profil için genel
browser.executablePathdeğerini geçersiz kılmak üzereexecutablePathayarlayabilir. Bunu bir profili Chrome’da, diğerini Brave’de çalıştırmak için kullanın. - Yerel yönetilen profiller süreç başlatıldıktan sonra Chrome CDP HTTP keşfi için
browser.localLaunchTimeoutMs, başlatma sonrası CDP websocket hazır olma durumu içinbrowser.localCdpReadyTimeoutMskullanır. Chrome’un başarıyla başladığı ancak hazır olma denetimlerinin başlatmayla yarıştığı daha yavaş konaklarda bunları artırın. Her iki değer de120000ms’ye kadar pozitif tam sayı olmalıdır; geçersiz yapılandırma değerleri reddedilir. - Otomatik algılama sırası: Chromium tabanlıysa varsayılan tarayıcı → Chrome → Brave → Edge → Chromium → Chrome Canary.
browser.executablePathvebrowser.profiles.<name>.executablePathChromium başlatılmadan önce işletim sistemi ev dizininiz için hem~hem de~/...kabul eder.existing-sessionprofillerindeki profil başınauserDataDirde tilde ile genişletilir.- Denetim servisi: yalnızca loopback (bağlantı noktası
gateway.portdeğerinden türetilir, varsayılan18791). extraArgs, yerel Chromium başlangıcına ek başlatma bayrakları ekler (örneğin--disable-gpu, pencere boyutlandırma veya hata ayıklama bayrakları).
UI
seamColor: yerel uygulama UI kromu için vurgu rengi (Talk Mode balon tonu vb.).assistant: Control UI kimliği geçersiz kılması. Etkin aracı kimliğine geri döner.
Gateway
Gateway alan ayrıntıları
Gateway alan ayrıntıları
mode:local(Gateway’i çalıştır) veyaremote(uzak Gateway’e bağlan). Gateway,localolmadığı sürece başlamayı reddeder.port: WS + HTTP için tek çoklanmış port. Öncelik:--port>OPENCLAW_GATEWAY_PORT>gateway.port>18789.bind:auto,loopback(varsayılan),lan(0.0.0.0),tailnet(yalnızca Tailscale IP’si) veyacustom.- Eski bind takma adları:
gateway.bindiçinde ana makine takma adları (0.0.0.0,127.0.0.1,localhost,::,::1) yerine bind modu değerlerini (auto,loopback,lan,tailnet,custom) kullanın. - Docker notu: varsayılan
loopbackbind, kapsayıcı içinde127.0.0.1üzerinde dinler. Docker köprü ağıyla (-p 18789:18789) trafiketh0üzerinden gelir, bu nedenle Gateway erişilemez. Tüm arayüzlerde dinlemek için--network hostkullanın ya dabind: "lan"(veyacustomBindHost: "0.0.0.0"ilebind: "custom") ayarlayın. - Kimlik doğrulama: varsayılan olarak gereklidir. Loopback olmayan bind’ler Gateway kimlik doğrulaması gerektirir. Pratikte bu, paylaşılan bir token/parola ya da
gateway.auth.mode: "trusted-proxy"ile kimlik farkındalıklı bir ters proxy anlamına gelir. Onboarding sihirbazı varsayılan olarak bir token oluşturur. - Hem
gateway.auth.tokenhem degateway.auth.passwordyapılandırılmışsa (SecretRef’ler dahil),gateway.auth.modedeğerini açıkçatokenveyapasswordolarak ayarlayın. İkisi de yapılandırılmış ve mode ayarlanmamışsa başlangıç ve servis kurulum/onarım akışları başarısız olur. gateway.auth.mode: "none": açık kimlik doğrulamasız mode. Yalnızca güvenilir local loopback kurulumları için kullanın; bu seçenek onboarding istemlerinde özellikle sunulmaz.gateway.auth.mode: "trusted-proxy": tarayıcı/kullanıcı kimlik doğrulamasını kimlik farkındalıklı bir ters proxy’ye devredin vegateway.trustedProxiesüzerinden gelen kimlik başlıklarına güvenin (bkz. Güvenilir Proxy Kimlik Doğrulaması). Bu mode varsayılan olarak loopback olmayan bir proxy kaynağı bekler; aynı ana makinedeki loopback ters proxy’leri açıkçagateway.auth.trustedProxy.allowLoopback = truegerektirir. Dahili aynı ana makine çağırıcıları, local doğrudan yedek olarakgateway.auth.passwordkullanabilir;gateway.auth.token, trusted-proxy mode ile karşılıklı olarak dışlayıcı kalır.gateway.auth.allowTailscale:trueolduğunda, Tailscale Serve kimlik başlıkları Control UI/WebSocket kimlik doğrulamasını karşılayabilir (tailscale whoisile doğrulanır). HTTP API uç noktaları bu Tailscale başlık kimlik doğrulamasını kullanmaz; bunun yerine Gateway’in normal HTTP kimlik doğrulama mode’unu izler. Bu tokensız akış, Gateway ana makinesinin güvenilir olduğunu varsayar. Varsayılan değertailscale.mode = "serve"olduğundatrueolur.gateway.auth.rateLimit: isteğe bağlı başarısız kimlik doğrulama sınırlayıcısı. İstemci IP’si ve kimlik doğrulama kapsamı başına uygulanır (shared-secret ve device-token bağımsız izlenir). Engellenen denemeler429+Retry-Afterdöndürür.- Eşzamansız Tailscale Serve Control UI yolunda, aynı
{scope, clientIp}için başarısız denemeler hata yazımından önce serileştirilir. Bu nedenle aynı istemciden gelen eşzamanlı hatalı denemeler, ikisinin de düz uyuşmazlık olarak yarışıp geçmesi yerine ikinci istekte sınırlayıcıyı tetikleyebilir. gateway.auth.rateLimit.exemptLoopbackvarsayılan olaraktruedeğerindedir; localhost trafiğinin de hız sınırlamasına tabi olmasını özellikle istediğinizde (test kurulumları veya sıkı proxy dağıtımları için)falseolarak ayarlayın.
- Eşzamansız Tailscale Serve Control UI yolunda, aynı
- Tarayıcı kaynaklı WS kimlik doğrulama denemeleri her zaman loopback muafiyeti devre dışı bırakılmış şekilde kısıtlanır (tarayıcı tabanlı localhost kaba kuvvet saldırısına karşı derinlemesine savunma).
- Loopback üzerinde, bu tarayıcı kaynaklı kilitlemeler normalize edilmiş
Origindeğeri başına yalıtılır, böylece bir localhost origin’den tekrarlanan hatalar farklı bir origin’i otomatik olarak kilitlemez. tailscale.mode:serve(yalnızca tailnet, loopback bind) veyafunnel(genel, kimlik doğrulama gerektirir).tailscale.preserveFunnel:trueolduğunda vetailscale.mode = "serve"ise, OpenClaw başlangıçta Serve’ü yeniden uygulamadan öncetailscale funnel statusdenetler ve dışarıdan yapılandırılmış bir Funnel rotası Gateway portunu zaten kapsıyorsa bunu atlar. Varsayılanfalse.controlUi.allowedOrigins: Gateway WebSocket bağlantıları için açık tarayıcı-origin izin listesi. Tarayıcı istemcilerinin loopback olmayan origin’lerden beklenmesi durumunda gereklidir.controlUi.chatMessageMaxWidth: gruplanmış Control UI sohbet iletileri için isteğe bağlı en fazla genişlik.960px,82%,min(1280px, 82%)vecalc(100% - 2rem)gibi sınırlandırılmış CSS genişlik değerlerini kabul eder.controlUi.dangerouslyAllowHostHeaderOriginFallback: bilinçli olarak Host başlığı origin ilkesine dayanan dağıtımlar için Host başlığı origin yedeğini etkinleştiren tehlikeli mode.remote.transport:ssh(varsayılan) veyadirect(ws/wss).directiçinremote.url,ws://veyawss://olmalıdır.OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1: düz metinws://bağlantılarının güvenilir özel ağ IP’lerine yapılmasına izin veren istemci tarafı süreç ortamı son çare geçersiz kılmasıdır; varsayılan, düz metin için loopback-only kalır. Bununopenclaw.jsoneşdeğeri yoktur vebrowser.ssrfPolicy.dangerouslyAllowPrivateNetworkgibi tarayıcı özel ağ yapılandırmaları Gateway WebSocket istemcilerini etkilemez.gateway.remote.token/.passworduzak istemci kimlik bilgisi alanlarıdır. Tek başlarına Gateway kimlik doğrulamasını yapılandırmazlar.gateway.push.apns.relay.baseUrl: resmi/TestFlight iOS derlemeleri relay destekli kayıtları Gateway’e yayımladıktan sonra bunlar tarafından kullanılan harici APNs relay’i için temel HTTPS URL’si. Bu URL, iOS derlemesine gömülü relay URL’siyle eşleşmelidir.gateway.push.apns.relay.timeoutMs: Gateway’den relay’e gönderim zaman aşımı, milisaniye cinsinden. Varsayılan10000.- Relay destekli kayıtlar belirli bir Gateway kimliğine devredilir. Eşleştirilmiş iOS uygulaması
gateway.identity.getdeğerini alır, bu kimliği relay kaydına dahil eder ve kayıt kapsamlı gönderim iznini Gateway’e iletir. Başka bir Gateway bu saklanan kaydı yeniden kullanamaz. OPENCLAW_APNS_RELAY_BASE_URL/OPENCLAW_APNS_RELAY_TIMEOUT_MS: yukarıdaki relay yapılandırması için geçici env geçersiz kılmaları.OPENCLAW_APNS_RELAY_ALLOW_HTTP=true: loopback HTTP relay URL’leri için yalnızca geliştirme amaçlı kaçış yolu. Üretim relay URL’leri HTTPS üzerinde kalmalıdır.gateway.handshakeTimeoutMs: kimlik doğrulama öncesi Gateway WebSocket el sıkışma zaman aşımı, milisaniye cinsinden. Varsayılan:15000. AyarlandığındaOPENCLAW_HANDSHAKE_TIMEOUT_MSönceliklidir. Başlangıç ısınması hâlâ otururken local istemcilerin bağlanabildiği yüklü veya düşük güçlü ana makinelerde bunu artırın.gateway.channelHealthCheckMinutes: kanal sağlık izleyici aralığı, dakika cinsinden. Sağlık izleyici yeniden başlatmalarını genel olarak devre dışı bırakmak için0olarak ayarlayın. Varsayılan:5.gateway.channelStaleEventThresholdMinutes: eski soket eşiği, dakika cinsinden. Bunugateway.channelHealthCheckMinutesdeğerinden büyük veya ona eşit tutun. Varsayılan:30.gateway.channelMaxRestartsPerHour: kayan bir saat içinde kanal/hesap başına en fazla sağlık izleyici yeniden başlatması. Varsayılan:10.channels.<provider>.healthMonitor.enabled: global izleyiciyi etkin tutarken sağlık izleyici yeniden başlatmaları için kanal başına vazgeçme seçeneği.channels.<provider>.accounts.<accountId>.healthMonitor.enabled: çok hesaplı kanallar için hesap başına geçersiz kılma. Ayarlandığında kanal düzeyi geçersiz kılmaya göre önceliklidir.- Local Gateway çağrı yolları, yalnızca
gateway.auth.*ayarlanmamışsagateway.remote.*değerlerini yedek olarak kullanabilir. gateway.auth.token/gateway.auth.passwordSecretRef aracılığıyla açıkça yapılandırılmış ve çözümlenmemişse, çözümleme kapalı şekilde başarısız olur (uzak yedek maskelemesi yoktur).trustedProxies: TLS’i sonlandıran veya forwarded-client başlıkları ekleyen ters proxy IP’leri. Yalnızca denetlediğiniz proxy’leri listeleyin. Loopback girdileri aynı ana makine proxy/local-detection kurulumları için (örneğin Tailscale Serve veya local ters proxy) hâlâ geçerlidir, ancak loopback isteklerinigateway.auth.mode: "trusted-proxy"için uygun hale getirmezler.allowRealIpFallback:trueolduğunda, GatewayX-Forwarded-ForeksikseX-Real-IPkabul eder. Kapalı başarısız davranış için varsayılanfalse.gateway.nodes.pairing.autoApproveCidrs: istenen kapsamlar olmadan ilk kez node cihaz eşleştirmesini otomatik onaylamak için isteğe bağlı CIDR/IP izin listesi. Ayarlanmamışsa devre dışıdır. Bu, operatör/tarayıcı/Control UI/WebChat eşleştirmesini otomatik onaylamaz ve rol, kapsam, metadata veya public-key yükseltmelerini otomatik onaylamaz.gateway.nodes.allowCommands/gateway.nodes.denyCommands: eşleştirme ve platform izin listesi değerlendirmesinden sonra bildirilen node komutları için global izin/red şekillendirmesi.camera.snap,camera.clipvescreen.recordgibi tehlikeli node komutlarını dahil etmek içinallowCommandskullanın;denyCommands, bir platform varsayılanı veya açık izin aksi halde içerecek olsa bile bir komutu kaldırır. Bir node bildirdiği komut listesini değiştirdikten sonra, Gateway’in güncellenmiş komut anlık görüntüsünü saklaması için bu cihaz eşleştirmesini reddedip yeniden onaylayın.gateway.tools.deny: HTTPPOST /tools/invokeiçin engellenen ek araç adları (varsayılan red listesini genişletir).gateway.tools.allow: araç adlarını varsayılan HTTP red listesinden kaldırır.
OpenAI uyumlu uç noktalar
- Chat Completions: varsayılan olarak devre dışıdır.
gateway.http.endpoints.chatCompletions.enabled: trueile etkinleştirin. - Responses API:
gateway.http.endpoints.responses.enabled. - Responses URL girdisi güçlendirmesi:
gateway.http.endpoints.responses.maxUrlPartsgateway.http.endpoints.responses.files.urlAllowlistgateway.http.endpoints.responses.images.urlAllowlistBoş izin listeleri ayarlanmamış kabul edilir; URL getirmeyi devre dışı bırakmak içingateway.http.endpoints.responses.files.allowUrl=falseve/veyagateway.http.endpoints.responses.images.allowUrl=falsekullanın.
- İsteğe bağlı yanıt güçlendirme başlığı:
gateway.http.securityHeaders.strictTransportSecurity(yalnızca denetlediğiniz HTTPS origin’leri için ayarlayın; bkz. Güvenilir Proxy Kimlik Doğrulaması)
Çoklu instance yalıtımı
Tek bir ana makinede benzersiz portlar ve state dizinleriyle birden fazla Gateway çalıştırın:--dev (~/.openclaw-dev + port 19001 kullanır), --profile <name> (~/.openclaw-<name> kullanır).
Bkz. Birden Fazla Gateway.
gateway.tls
enabled: Gateway dinleyicisinde TLS sonlandırmayı (HTTPS/WSS) etkinleştirir (varsayılan:false).autoGenerate: açık dosyalar yapılandırılmadığında local kendinden imzalı bir cert/key çifti otomatik oluşturur; yalnızca local/dev kullanımı içindir.certPath: TLS sertifika dosyasının dosya sistemi yolu.keyPath: TLS özel anahtar dosyasının dosya sistemi yolu; izinleri kısıtlı tutun.caPath: istemci doğrulaması veya özel güven zincirleri için isteğe bağlı CA bundle yolu.
gateway.reload
mode: yapılandırma düzenlemelerinin çalışma zamanında nasıl uygulanacağını denetler."off": canlı düzenlemeleri yok say; değişiklikler açık bir yeniden başlatma gerektirir."restart": yapılandırma değişikliğinde Gateway sürecini her zaman yeniden başlat."hot": değişiklikleri yeniden başlatmadan süreç içinde uygula."hybrid"(varsayılan): önce hot reload dene; gerekirse yeniden başlatmaya geri dön.
debounceMs: yapılandırma değişiklikleri uygulanmadan önce ms cinsinden debounce penceresi (negatif olmayan tam sayı).deferralTimeoutMs: yeniden başlatmayı veya kanal hot reload’unu zorlamadan önce devam eden işlemleri beklemek için ms cinsinden isteğe bağlı en uzun süre. Varsayılan sınırlı beklemeyi (300000) kullanmak için bunu atlayın; süresiz beklemek ve periyodik hâlâ bekliyor uyarıları günlüğe yazmak için0olarak ayarlayın.
Kancalar
Authorization: Bearer <token> veya x-openclaw-token: <token>.
Sorgu dizesi hook tokenları reddedilir.
Doğrulama ve güvenlik notları:
hooks.enabled=true, boş olmayan birhooks.tokengerektirir.hooks.token,gateway.auth.tokendeğerinden farklı olmalıdır; Gateway tokenının yeniden kullanılması reddedilir.hooks.path,/olamaz;/hooksgibi ayrılmış bir alt yol kullanın.hooks.allowRequestSessionKey=trueisehooks.allowedSessionKeyPrefixesdeğerini kısıtlayın (örneğin["hook:"]).- Bir eşleme veya hazır ayar şablonlu bir
sessionKeykullanıyorsahooks.allowedSessionKeyPrefixesdeğerini ayarlayın vehooks.allowRequestSessionKey=trueyapın. Statik eşleme anahtarları bu açık katılımı gerektirmez.
POST /hooks/wake→{ text, mode?: "now"|"next-heartbeat" }POST /hooks/agent→{ message, name?, agentId?, sessionKey?, wakeMode?, deliver?, channel?, to?, model?, thinking?, timeoutSeconds? }- İstek yükündeki
sessionKeyyalnızcahooks.allowRequestSessionKey=trueolduğunda kabul edilir (varsayılan:false).
- İstek yükündeki
POST /hooks/<name>→hooks.mappingsüzerinden çözümlenir- Şablondan işlenen eşleme
sessionKeydeğerleri dışarıdan sağlanmış kabul edilir ve ayrıcahooks.allowRequestSessionKey=truegerektirir.
- Şablondan işlenen eşleme
Eşleme ayrıntıları
Eşleme ayrıntıları
match.path,/hookssonrasındaki alt yolla eşleşir (örn./hooks/gmail→gmail).match.source, genel yollar için bir yük alanıyla eşleşir.{{messages[0].subject}}gibi şablonlar yükten okur.transform, bir hook eylemi döndüren bir JS/TS modülüne işaret edebilir.transform.modulegöreli bir yol olmalı vehooks.transformsDiriçinde kalmalıdır (mutlak yollar ve dizin dışına çıkma reddedilir).hooks.transformsDirdeğerini~/.openclaw/hooks/transformsaltında tutun; çalışma alanı skill dizinleri reddedilir.openclaw doctorbu yolu geçersiz olarak bildirirse transform modülünü hooks transform dizinine taşıyın veyahooks.transformsDirdeğerini kaldırın.
agentId, belirli bir aracıya yönlendirir; bilinmeyen kimlikler varsayılana geri döner.allowedAgentIds: açık yönlendirmeyi kısıtlar (*veya atlanmış = tümüne izin ver,[]= tümünü reddet).defaultSessionKey: açıksessionKeyolmadan hook aracı çalıştırmaları için isteğe bağlı sabit oturum anahtarı.allowRequestSessionKey:/hooks/agentçağıranlarının ve şablon odaklı eşleme oturum anahtarlarınınsessionKeyayarlamasına izin ver (varsayılan:false).allowedSessionKeyPrefixes: açıksessionKeydeğerleri için isteğe bağlı önek izin listesi (istek + eşleme), örn.["hook:"]. Herhangi bir eşleme veya hazır ayar şablonlu birsessionKeykullandığında zorunlu hale gelir.deliver: true, son yanıtı bir kanala gönderir;channelvarsayılan olaraklastolur.model, bu hook çalıştırması için LLM değerini geçersiz kılar (model kataloğu ayarlanmışsa izin verilmiş olmalıdır).
Gmail entegrasyonu
- Yerleşik Gmail hazır ayarı
sessionKey: "hook:gmail:{{messages[0].id}}"kullanır. - Bu ileti başına yönlendirmeyi korursanız
hooks.allowRequestSessionKey: trueayarlayın vehooks.allowedSessionKeyPrefixesdeğerini Gmail ad alanıyla eşleşecek şekilde kısıtlayın, örneğin["hook:", "hook:gmail:"]. hooks.allowRequestSessionKey: falsegerekiyorsa hazır ayarı şablonlu varsayılan yerine statik birsessionKeyile geçersiz kılın.
- Gateway, yapılandırıldığında önyüklemede
gog gmail watch servekomutunu otomatik başlatır. Devre dışı bırakmak içinOPENCLAW_SKIP_GMAIL_WATCHER=1ayarlayın. - Gateway ile birlikte ayrı bir
gog gmail watch serveçalıştırmayın.
Canvas Plugin ana makinesi
- Aracı tarafından düzenlenebilir HTML/CSS/JS ve A2UI’yi Gateway bağlantı noktası altında HTTP üzerinden sunar:
http://<gateway-host>:<gateway.port>/__openclaw__/canvas/http://<gateway-host>:<gateway.port>/__openclaw__/a2ui/
- Yalnızca yerel:
gateway.bind: "loopback"değerini koruyun (varsayılan). - loopback olmayan bağlamalar: canvas rotaları, diğer Gateway HTTP yüzeyleriyle aynı şekilde Gateway kimlik doğrulaması gerektirir (token/parola/güvenilir proxy).
- Node WebView’ları genellikle kimlik doğrulama üst bilgileri göndermez; bir Node eşleştirilip bağlandıktan sonra Gateway, canvas/A2UI erişimi için Node kapsamlı yetenek URL’lerini duyurur.
- Yetenek URL’leri etkin Node WS oturumuna bağlıdır ve hızla sona erer. IP tabanlı geri dönüş kullanılmaz.
- Sunulan HTML’ye canlı yeniden yükleme istemcisi enjekte eder.
- Boş olduğunda başlangıç
index.htmldosyasını otomatik oluşturur. - Ayrıca A2UI’yi
/__openclaw__/a2ui/konumunda sunar. - Değişiklikler Gateway yeniden başlatması gerektirir.
- Büyük dizinler veya
EMFILEhataları için canlı yeniden yüklemeyi devre dışı bırakın.
Keşif
mDNS (Bonjour)
minimal(yerleşikbonjourPlugin etkin olduğunda varsayılan): TXT kayıtlarındancliPath+sshPortdeğerlerini çıkarır.full:cliPath+sshPortdeğerlerini dahil eder; LAN çok noktaya yayın duyurusu yine de yerleşikbonjourPlugin etkin olmasını gerektirir.off: Plugin etkinliğini değiştirmeden LAN çok noktaya yayın duyurusunu bastırır.- Yerleşik
bonjourPlugin macOS ana makinelerinde otomatik başlar; Linux, Windows ve konteynerleştirilmiş Gateway dağıtımlarında açık katılım gerektirir. - Ana makine adı, geçerli bir DNS etiketi olduğunda varsayılan olarak sistem ana makine adını kullanır; aksi halde
openclawdeğerine geri döner.OPENCLAW_MDNS_HOSTNAMEile geçersiz kılın.
Geniş alan (DNS-SD)
~/.openclaw/dns/ altında bir tekil yayın DNS-SD bölgesi yazar. Ağlar arası keşif için bir DNS sunucusuyla (CoreDNS önerilir) + Tailscale bölünmüş DNS ile eşleştirin.
Kurulum: openclaw dns setup --apply.
Ortam
env (satır içi env değişkenleri)
- Satır içi env değişkenleri yalnızca süreç ortamında ilgili anahtar eksikse uygulanır.
.envdosyaları: CWD.env+~/.openclaw/.env(hiçbiri mevcut değişkenleri geçersiz kılmaz).shellEnv: oturum açma kabuğu profilinizden eksik beklenen anahtarları içe aktarır.- Tam öncelik sırası için Ortam bölümüne bakın.
Env değişkeni ikamesi
Herhangi bir yapılandırma dizesinde env değişkenlerine${VAR_NAME} ile başvurun:
- Yalnızca büyük harfli adlar eşleşir:
[A-Z_][A-Z0-9_]*. - Eksik/boş değişkenler yapılandırma yüklenirken hata fırlatır.
- Değişmez
${VAR}için$${VAR}ile kaçış yapın. $includeile çalışır.
Gizli Değerler
Gizli değer başvuruları eklemelidir: düz metin değerler hâlâ çalışır.SecretRef
Tek bir nesne biçimi kullanın:
providerkalıbı:^[a-z][a-z0-9_-]{0,63}$source: "env"id kalıbı:^[A-Z][A-Z0-9_]{0,127}$source: "file"id: mutlak JSON işaretçisi (örneğin"/providers/openai/apiKey")source: "exec"id kalıbı:^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$source: "exec"id’leri.veya..eğik çizgiyle ayrılmış yol segmentleri içermemelidir (örneğina/../breddedilir)
Desteklenen kimlik bilgisi yüzeyi
- Kanonik matris: SecretRef Kimlik Bilgisi Yüzeyi
secrets apply, desteklenenopenclaw.jsonkimlik bilgisi yollarını hedefler.auth-profiles.jsonbaşvuruları çalışma zamanı çözümlemesine ve denetim kapsamına dahildir.
Gizli değer sağlayıcıları yapılandırması
filesağlayıcısımode: "json"vemode: "singleValue"destekler (id, singleValue modunda"value"olmalıdır).- Windows ACL doğrulaması kullanılamadığında dosya ve exec sağlayıcı yolları kapalı şekilde başarısız olur.
allowInsecurePath: trueayarını yalnızca doğrulanamayan güvenilir yollar için belirleyin. execsağlayıcısı mutlak bircommandyolu gerektirir ve stdin/stdout üzerinde protokol yükleri kullanır.- Varsayılan olarak sembolik bağlantı komut yolları reddedilir. Çözümlenen hedef yol doğrulanırken sembolik bağlantı yollarına izin vermek için
allowSymlinkCommand: trueayarını belirleyin. trustedDirsyapılandırılmışsa, güvenilir dizin denetimi çözümlenen hedef yola uygulanır.execalt ortamı varsayılan olarak asgaridir; gerekli değişkenleripassEnvile açıkça geçirin.- Gizli değer başvuruları etkinleştirme zamanında bellek içi bir anlık görüntüye çözümlenir, ardından istek yolları yalnızca anlık görüntüyü okur.
- Etkin yüzey filtreleme etkinleştirme sırasında uygulanır: etkin yüzeylerdeki çözümlenemeyen başvurular başlatma/yeniden yükleme işlemini başarısız kılar, etkin olmayan yüzeyler ise tanılama ile atlanır.
Kimlik doğrulama depolaması
- Ajan başına profiller
<agentDir>/auth-profiles.jsonkonumunda saklanır. auth-profiles.json, statik kimlik bilgisi modları için değer düzeyinde başvuruları destekler (api_keyiçinkeyRef,tokeniçintokenRef).{ "provider": { "apiKey": "..." } }gibi eski düzauth-profiles.jsoneşlemeleri çalışma zamanı biçimi değildir;openclaw doctor --fixbunları.legacy-flat.*.bakyedeğiyle kanonikprovider:defaultAPI anahtarı profillerine yeniden yazar.- OAuth modu profilleri (
auth.profiles.<id>.mode = "oauth"), SecretRef destekli auth-profile kimlik bilgilerini desteklemez. - Statik çalışma zamanı kimlik bilgileri bellek içi çözümlenmiş anlık görüntülerden gelir; eski statik
auth.jsongirdileri keşfedildiğinde temizlenir. - Eski OAuth içe aktarmaları
~/.openclaw/credentials/oauth.jsonkonumundan yapılır. - OAuth bölümüne bakın.
- Gizli değerler çalışma zamanı davranışı ve
audit/configure/applyaraçları: Gizli Değer Yönetimi.
auth.cooldowns
billingBackoffHours: bir profil gerçek faturalandırma/yetersiz kredi hataları nedeniyle başarısız olduğunda saat cinsinden temel geri çekilme (varsayılan:5). Açık faturalandırma metni,401/403yanıtlarında bile yine buraya düşebilir, ancak sağlayıcıya özgü metin eşleştiriciler yalnızca onları sahiplenen sağlayıcı kapsamında kalır (örneğin OpenRouterKey limit exceeded). Yeniden denenebilir HTTP402kullanım penceresi veya kuruluş/çalışma alanı harcama sınırı iletileri bunun yerinerate_limityolunda kalır.billingBackoffHoursByProvider: faturalandırma geri çekilme saatleri için sağlayıcı başına isteğe bağlı geçersiz kılmalar.billingMaxHours: faturalandırma geri çekilmesinin üstel büyümesi için saat cinsinden üst sınır (varsayılan:24).authPermanentBackoffMinutes: yüksek güvenilirlikliauth_permanenthataları için dakika cinsinden temel geri çekilme (varsayılan:10).authPermanentMaxMinutes:auth_permanentgeri çekilme büyümesi için dakika cinsinden üst sınır (varsayılan:60).failureWindowHours: geri çekilme sayaçları için kullanılan saat cinsinden kayan pencere (varsayılan:24).overloadedProfileRotations: model geri dönüşüne geçmeden önce aşırı yüklü hatalar için aynı sağlayıcıdaki kimlik doğrulama profili rotasyonlarının en yüksek sayısı (varsayılan:1).ModelNotReadyExceptiongibi sağlayıcı meşgul biçimleri buraya düşer.overloadedBackoffMs: aşırı yüklü bir sağlayıcı/profil rotasyonunu yeniden denemeden önce sabit gecikme (varsayılan:0).rateLimitedProfileRotations: model geri dönüşüne geçmeden önce hız sınırı hataları için aynı sağlayıcıdaki kimlik doğrulama profili rotasyonlarının en yüksek sayısı (varsayılan:1). Bu hız sınırı kovasıToo many concurrent requests,ThrottlingException,concurrency limit reached,workers_ai ... quota limit exceededveresource exhaustedgibi sağlayıcı biçimli metinleri içerir.
Günlükleme
- Varsayılan günlük dosyası:
/tmp/openclaw/openclaw-YYYY-MM-DD.log. - Kararlı bir yol için
logging.fileayarlayın. --verbosekullanıldığındaconsoleLevel,debugdeğerine yükselir.maxFileBytes: döndürmeden önce etkin günlük dosyasının bayt cinsinden en yüksek boyutu (pozitif tam sayı; varsayılan:104857600= 100 MB). OpenClaw, etkin dosyanın yanında en fazla beş numaralı arşiv tutar.redactSensitive/redactPatterns: konsol çıktısı, dosya günlükleri, OTLP günlük kayıtları ve kalıcı oturum transkripti metni için en iyi çabayla maskeleme.redactSensitive: "off"yalnızca bu genel günlük/transkript politikasını devre dışı bırakır; UI/araç/tanılama güvenliği yüzeyleri yayımdan önce sırları yine de gizler.
Tanılamalar
enabled: enstrümantasyon çıktısı için ana anahtar (varsayılan:true).flags: hedefli günlük çıktısını etkinleştiren bayrak dizeleri dizisi ("telegram.*"veya"*"gibi joker karakterleri destekler).stuckSessionWarnMs: uzun süren işleme oturumlarınısession.long_running,session.stalledveyasession.stuckolarak sınıflandırmak için ms cinsinden ilerleme olmadan yaş eşiği. Yanıt, araç, durum, blok ve ACP ilerlemesi zamanlayıcıyı sıfırlar; tekrarlanansession.stucktanılamaları değişiklik olmadığında geri çekilir.stuckSessionAbortMs: uygun takılı kalmış etkin işin kurtarma için durdurulup boşaltılabilmesinden önce ms cinsinden ilerleme olmadan yaş eşiği. Ayarlanmadığında OpenClaw en az 10 dakika vestuckSessionWarnMsdeğerinin 5 katı olan daha güvenli uzatılmış gömülü çalıştırma penceresini kullanır.otel.enabled: OpenTelemetry dışa aktarma hattını etkinleştirir (varsayılan:false). Tam yapılandırma, sinyal kataloğu ve gizlilik modeli için bkz. OpenTelemetry dışa aktarma.otel.endpoint: OTel dışa aktarma için toplayıcı URL’si.otel.tracesEndpoint/otel.metricsEndpoint/otel.logsEndpoint: isteğe bağlı sinyale özgü OTLP uç noktaları. Ayarlandığında, yalnızca o sinyal içinotel.endpointdeğerini geçersiz kılarlar.otel.protocol:"http/protobuf"(varsayılan) veya"grpc".otel.headers: OTel dışa aktarma istekleriyle gönderilen ek HTTP/gRPC meta veri başlıkları.otel.serviceName: kaynak öznitelikleri için hizmet adı.otel.traces/otel.metrics/otel.logs: iz, metrik veya günlük dışa aktarmayı etkinleştirir.otel.sampleRate: iz örnekleme oranı0-1.otel.flushIntervalMs: ms cinsinden periyodik telemetri boşaltma aralığı.otel.captureContent: OTEL span öznitelikleri için isteğe bağlı ham içerik yakalama. Varsayılan olarak kapalıdır. Booleantrue, sistem dışı ileti/araç içeriğini yakalar; nesne biçimiinputMessages,outputMessages,toolInputs,toolOutputsvesystemPromptöğelerini açıkça etkinleştirmenize olanak tanır.OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental: en son deneysel GenAI span sağlayıcı öznitelikleri için ortam anahtarı. Varsayılan olarak span’ler uyumluluk için eskigen_ai.systemözniteliğini korur; GenAI metrikleri sınırlı anlamsal öznitelikler kullanır.OPENCLAW_OTEL_PRELOADED=1: zaten genel bir OpenTelemetry SDK kaydetmiş ana makineler için ortam anahtarı. OpenClaw bu durumda tanılama dinleyicilerini etkin tutarken Plugin sahipli SDK başlatma/kapatma işlemini atlar.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT,OTEL_EXPORTER_OTLP_METRICS_ENDPOINTveOTEL_EXPORTER_OTLP_LOGS_ENDPOINT: eşleşen yapılandırma anahtarı ayarlanmamışsa kullanılan sinyale özgü uç nokta ortam değişkenleri.cacheTrace.enabled: gömülü çalıştırmalar için önbellek izi anlık görüntülerini günlüğe yaz (varsayılan:false).cacheTrace.filePath: önbellek izi JSONL için çıktı yolu (varsayılan:$OPENCLAW_STATE_DIR/logs/cache-trace.jsonl).cacheTrace.includeMessages/includePrompt/includeSystem: önbellek izi çıktısına nelerin dahil edileceğini denetler (tümünün varsayılanı:true).
Güncelleme
channel: npm/git kurulumları için sürüm kanalı -"stable","beta"veya"dev".checkOnStart: Gateway başladığında npm güncellemelerini denetle (varsayılan:true).auto.enabled: paket kurulumları için arka planda otomatik güncellemeyi etkinleştir (varsayılan:false).auto.stableDelayHours: kararlı kanal otomatik uygulaması öncesi saat cinsinden minimum gecikme (varsayılan:6; en fazla:168).auto.stableJitterHours: saat cinsinden ek kararlı kanal dağıtım yayılım penceresi (varsayılan:12; en fazla:168).auto.betaCheckIntervalHours: beta kanal denetimlerinin saat cinsinden çalışma sıklığı (varsayılan:1; en fazla:24).
ACP
enabled: genel ACP özellik kapısı (varsayılan:true; ACP gönderimini ve oluşturma olanaklarını gizlemek içinfalseayarlayın).dispatch.enabled: ACP oturum turu gönderimi için bağımsız kapı (varsayılan:true). ACP komutlarını kullanılabilir tutarken yürütmeyi engellemek içinfalseayarlayın.backend: varsayılan ACP çalışma zamanı arka uç kimliği (kayıtlı bir ACP çalışma zamanı Plugin ile eşleşmelidir). Önce arka uç Plugin’i kurun veplugins.allowayarlanmışsa arka uç Plugin kimliğini (örneğinacpx) ekleyin; aksi halde ACP arka ucu yüklenmez.defaultAgent: oluşturma işlemleri açık bir hedef belirtmediğinde yedek ACP hedef aracı kimliği.allowedAgents: ACP çalışma zamanı oturumları için izin verilen aracı kimliklerinin izin listesi; boş olması ek kısıtlama olmadığı anlamına gelir.maxConcurrentSessions: aynı anda etkin olabilecek en yüksek ACP oturumu sayısı.stream.coalesceIdleMs: akışlı metin için ms cinsinden boşta boşaltma penceresi.stream.maxChunkChars: akışlı blok projeksiyonunu bölmeden önceki en yüksek parça boyutu.stream.repeatSuppression: her turda yinelenen durum/araç satırlarını bastırır (varsayılan:true).stream.deliveryMode:"live"artımlı akış yapar;"final_only"tur sonlandırma olaylarına kadar arabelleğe alır.stream.hiddenBoundarySeparator: gizli araç olaylarından sonra görünür metinden önceki ayırıcı (varsayılan:"paragraph").stream.maxOutputChars: ACP turu başına projelendirilen en yüksek asistan çıktı karakteri sayısı.stream.maxSessionUpdateChars: projelendirilen ACP durum/güncelleme satırları için en yüksek karakter sayısı.stream.tagVisibility: akışlı olaylar için etiket adlarından boolean görünürlük geçersiz kılmalarına kayıt.runtime.ttlMinutes: ACP oturum çalışanları için uygun temizleme öncesi dakika cinsinden boşta TTL.runtime.installCommand: bir ACP çalışma zamanı ortamını önyüklerken çalıştırılacak isteğe bağlı kurulum komutu.
CLI
cli.banner.taglineModebaşlık sloganı stilini denetler:"random"(varsayılan): dönen komik/mevsimsel sloganlar."default": sabit nötr slogan (All your chats, one OpenClaw.)."off": slogan metni yok (başlık/sürüm yine gösterilir).
- Tüm başlığı gizlemek için (yalnızca sloganları değil),
OPENCLAW_HIDE_BANNER=1ortam değişkenini ayarlayın.
Sihirbaz
CLI kılavuzlu kurulum akışları (onboard, configure, doctor) tarafından yazılan meta veriler:
Kimlik
Aracı varsayılanları altındaagents.list kimlik alanlarına bakın.
Köprü (eski, kaldırıldı)
Geçerli derlemeler artık TCP köprüsünü içermez. Node’lar Gateway WebSocket üzerinden bağlanır.bridge.* anahtarları artık yapılandırma şemasının parçası değildir (kaldırılana kadar doğrulama başarısız olur; openclaw doctor --fix bilinmeyen anahtarları kaldırabilir).
Eski köprü yapılandırması (tarihsel başvuru)
Eski köprü yapılandırması (tarihsel başvuru)
Cron
sessionRetention: tamamlanan izole cron çalıştırma oturumlarınınsessions.jsoniçinden budanmadan önce ne kadar süre tutulacağı. Arşivlenmiş silinmiş cron transkriptlerinin temizlenmesini de denetler. Varsayılan:24h; devre dışı bırakmak içinfalseolarak ayarlayın.runLog.maxBytes: budamadan önce çalıştırma günlüğü dosyası (cron/runs/<jobId>.jsonl) başına azami boyut. Varsayılan:2_000_000bayt.runLog.keepLines: çalıştırma günlüğü budaması tetiklendiğinde tutulan en yeni satırlar. Varsayılan:2000.webhookToken: cron Webhook POST teslimi (delivery.mode = "webhook") için kullanılan bearer token; atlanırsa kimlik doğrulama başlığı gönderilmez.webhook: yalnızca hâlânotify: truedeğerine sahip kayıtlı işler için kullanılan, kullanımdan kaldırılmış eski yedek Webhook URL’si (http/https).
cron.retry
maxAttempts: geçici hatalarda tek seferlik işler için azami yeniden deneme sayısı (varsayılan:3; aralık:0-10).backoffMs: her yeniden deneme girişimi için ms cinsinden geri çekilme gecikmeleri dizisi (varsayılan:[30000, 60000, 300000]; 1-10 girdi).retryOn: yeniden denemeleri tetikleyen hata türleri -"rate_limit","overloaded","network","timeout","server_error". Tüm geçici türleri yeniden denemek için atlayın.
cron.failureAlert
enabled: cron işleri için hata uyarılarını etkinleştirir (varsayılan:false).after: bir uyarı tetiklenmeden önceki ardışık hata sayısı (pozitif tam sayı, min:1).cooldownMs: aynı iş için tekrarlanan uyarılar arasındaki asgari milisaniye (negatif olmayan tam sayı).includeSkipped: ardışık atlanan çalıştırmaları uyarı eşiğine dahil eder (varsayılan:false). Atlanan çalıştırmalar ayrı izlenir ve yürütme hatası geri çekilmesini etkilemez.mode: teslim modu -"announce"bir kanal mesajı aracılığıyla gönderir;"webhook"yapılandırılmış Webhook’a gönderi yapar.accountId: uyarı teslimini kapsamlandırmak için isteğe bağlı hesap veya kanal kimliği.
cron.failureDestination
- Tüm işler genelinde cron hata bildirimleri için varsayılan hedef.
mode:"announce"veya"webhook"; yeterli hedef verisi mevcut olduğunda varsayılan olarak"announce"kullanılır.channel: duyuru teslimi için kanal geçersiz kılması."last"bilinen son teslim kanalını yeniden kullanır.to: açık duyuru hedefi veya Webhook URL’si. Webhook modu için gereklidir.accountId: teslim için isteğe bağlı hesap geçersiz kılması.- İş başına
delivery.failureDestination, bu global varsayılanı geçersiz kılar. - Ne global ne de iş başına hata hedefi ayarlandığında, zaten
announceile teslim yapan işler hata durumunda bu birincil duyuru hedefine geri döner. delivery.failureDestination, işin birincildelivery.modedeğeri"webhook"olmadıkça yalnızcasessionTarget="isolated"işleri için desteklenir.
Medya modeli şablon değişkenleri
tools.media.models[].args içinde genişletilen şablon yer tutucuları:
| Değişken | Açıklama |
|---|---|
{{Body}} | Tam gelen ileti gövdesi |
{{RawBody}} | Ham gövde (geçmiş/gönderen sarmalayıcıları yok) |
{{BodyStripped}} | Grup bahsetmeleri çıkarılmış gövde |
{{From}} | Gönderen tanımlayıcısı |
{{To}} | Hedef tanımlayıcısı |
{{MessageSid}} | Kanal ileti kimliği |
{{SessionId}} | Geçerli oturum UUID’si |
{{IsNewSession}} | Yeni oturum oluşturulduğunda "true" |
{{MediaUrl}} | Gelen medya sözde URL’si |
{{MediaPath}} | Yerel medya yolu |
{{MediaType}} | Medya türü (görsel/ses/belge/…) |
{{Transcript}} | Ses transkripti |
{{Prompt}} | CLI girdileri için çözümlenmiş medya prompt’u |
{{MaxChars}} | CLI girdileri için çözümlenmiş azami çıktı karakterleri |
{{ChatType}} | "direct" veya "group" |
{{GroupSubject}} | Grup konusu (en iyi çaba) |
{{GroupMembers}} | Grup üyeleri önizlemesi (en iyi çaba) |
{{SenderName}} | Gönderen görünen adı (en iyi çaba) |
{{SenderE164}} | Gönderen telefon numarası (en iyi çaba) |
{{Provider}} | Sağlayıcı ipucu (whatsapp, telegram, discord, vb.) |
Yapılandırma dahil etmeleri ($include)
Yapılandırmayı birden çok dosyaya bölün:
- Tek dosya: kapsayan nesnenin yerini alır.
- Dosya dizisi: sırayla derinlemesine birleştirilir (sonrakiler öncekileri geçersiz kılar).
- Kardeş anahtarlar: dahil etmelerden sonra birleştirilir (dahil edilen değerleri geçersiz kılar).
- İç içe dahil etmeler: 10 düzeye kadar.
- Yollar: dahil eden dosyaya göre çözümlenir, ancak üst düzey yapılandırma dizininin (
openclaw.jsondosyasınındirnamedeğeri) içinde kalmalıdır. Mutlak/../biçimlerine yalnızca hâlâ bu sınır içinde çözümlendiklerinde izin verilir. - Yalnızca tek dosyalı bir dahil etme ile desteklenen tek bir üst düzey bölümü değiştiren OpenClaw sahipli yazmalar, doğrudan o dahil edilen dosyaya yazılır. Örneğin,
plugins install,plugins.json5içindekiplugins: { $include: "./plugins.json5" }değerini günceller veopenclaw.jsondosyasını olduğu gibi bırakır. - Kök dahil etmeler, dahil etme dizileri ve kardeş geçersiz kılmalara sahip dahil etmeler, OpenClaw sahipli yazmalar için salt okunurdur; bu yazmalar yapılandırmayı düzleştirmek yerine kapalı şekilde başarısız olur.
- Hatalar: eksik dosyalar, ayrıştırma hataları ve döngüsel dahil etmeler için açık mesajlar.
İlgili: Yapılandırma · Yapılandırma Örnekleri · Doctor