OpenClaw,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 konumundan isteğe bağlı bir yapılandırması okur.
Etkin yapılandırma yolu normal bir dosya olmalıdır. Sembolik bağlantılı openclaw.json
düzenleri, OpenClaw sahipliğindeki yazmalar için desteklenmez; atomik bir yazma,
sembolik bağlantıyı korumak yerine yolu değiştirebilir. Yapılandırmayı varsayılan
durum dizininin dışında tutuyorsanız, OPENCLAW_CONFIG_PATH değerini doğrudan gerçek dosyaya yöneltin.
Dosya yoksa, OpenClaw güvenli varsayılanları kullanır. Yapılandırma eklemenin yaygın nedenleri:
- Kanalları bağlamak ve bota kimlerin mesaj gönderebileceğini denetlemek
- Modelleri, araçları, sandbox kullanımını veya otomasyonu (cron, kancalar) ayarlamak
- Oturumları, medyayı, ağı veya kullanıcı arayüzünü ayarlamak
config.schema.lookup kullanmalıdır. Bu sayfayı görev odaklı rehberlik için,
Configuration reference sayfasını ise daha geniş
alan haritası ve varsayılanlar için kullanın.
Minimal yapılandırma
Yapılandırmayı düzenleme
- Etkileşimli sihirbaz
- CLI (tek satırlık komutlar)
- Denetim kullanıcı arayüzü
- Doğrudan düzenleme
Katı doğrulama
openclaw config schema, Denetim kullanıcı arayüzü ve doğrulama tarafından kullanılan kanonik JSON Schema’yı yazdırır.
config.schema.lookup, ayrıntıya inen araçlar için tek bir yol kapsamlı düğüm ve
alt özetleri getirir. Alan title/description doküman meta verileri
iç içe nesneler, joker karakter (*), dizi öğesi ([]) ve anyOf/
oneOf/allOf dalları boyunca taşınır. Çalışma zamanı plugin ve kanal şemaları,
manifest kayıt defteri yüklendiğinde birleştirilir.
Doğrulama başarısız olduğunda:
- Gateway açılmaz
- Yalnızca tanılama komutları çalışır (
openclaw doctor,openclaw logs,openclaw health,openclaw status) - Kesin sorunları görmek için
openclaw doctorçalıştırın - Onarımları uygulamak için
openclaw doctor --fix(veya--yes) çalıştırın
openclaw.json
doğrulamadan geçemezse (plugin yerel doğrulaması dahil), Gateway başlangıcı başarısız olur veya
yeniden yükleme atlanır ve mevcut çalışma zamanı son kabul edilen yapılandırmayı kullanmaya devam eder.
Ön eklenmiş/ezilmiş yapılandırmayı onarmak veya son-bilinen-iyi kopyayı geri yüklemek için
openclaw doctor --fix (veya --yes) çalıştırın. Aday *** gibi redakte edilmiş gizli yer tutucuları içerdiğinde
son-bilinen-iyi durumuna yükseltme atlanır.
Yaygın görevler
Bir kanal kurma (WhatsApp, Telegram, Discord vb.)
Bir kanal kurma (WhatsApp, Telegram, Discord vb.)
channels.<provider> altında kendi yapılandırma bölümü vardır. Kurulum adımları için ilgili kanal sayfasına bakın:- WhatsApp -
channels.whatsapp - Telegram -
channels.telegram - Discord -
channels.discord - Feishu -
channels.feishu - Google Chat -
channels.googlechat - Microsoft Teams -
channels.msteams - Slack -
channels.slack - Signal -
channels.signal - iMessage -
channels.imessage - Mattermost -
channels.mattermost
Modelleri seçme ve yapılandırma
Modelleri seçme ve yapılandırma
agents.defaults.models, model kataloğunu tanımlar ve/modeliçin izin listesi görevi görür;provider/*girdileri dinamik model keşfini kullanmaya devam ederken/model,/modelsve model seçicileri seçili sağlayıcılarla sınırlar.- Mevcut modelleri kaldırmadan izin listesi girdileri eklemek için
openclaw config set agents.defaults.models '<json>' --strict-json --mergekullanın. Girdileri kaldıracak düz değiştirmeler,--replaceiletmediğiniz sürece reddedilir. - Model başvuruları
provider/modelbiçimini kullanır (ör.anthropic/claude-opus-4-6). agents.defaults.imageMaxDimensionPx, transcript/araç görüntüsü küçültmeyi denetler (varsayılan1200); daha düşük değerler genellikle ekran görüntüsü yoğun çalıştırmalarda görme-token kullanımını azaltır.- Sohbette model değiştirmek için Models CLI, kimlik doğrulama rotasyonu ve yedek davranışı için Model Failover bölümüne bakın.
- Özel/kendi barındırdığınız sağlayıcılar için başvuruda Custom providers bölümüne bakın.
Bota kimlerin mesaj gönderebileceğini denetleme
Bota kimlerin mesaj gönderebileceğini denetleme
dmPolicy ile denetlenir:"pairing"(varsayılan): bilinmeyen gönderenler onay için tek kullanımlık bir eşleştirme kodu alır"allowlist": yalnızcaallowFromiçindeki gönderenler (veya eşleştirilmiş izin deposu)"open": tüm gelen DM’lere izin ver (allowFrom: ["*"]gerektirir)"disabled": tüm DM’leri yok say
groupPolicy + groupAllowFrom veya kanala özgü izin listelerini kullanın.Kanal başına ayrıntılar için tam başvuruya bakın.Grup sohbeti bahsetme kapılamasını ayarlama
Grup sohbeti bahsetme kapılamasını ayarlama
- Meta veri bahsetmeleri: yerel @-bahsetmeler (WhatsApp dokunarak bahsetme, Telegram @bot vb.)
- Metin desenleri:
mentionPatternsiçinde güvenli regex desenleri - Görünür yanıtlar:
messages.visibleRepliesgenel olarak mesaj-aracı gönderimlerini zorunlu kılabilir;messages.groupChat.visibleRepliesbunu gruplar/kanallar için geçersiz kılar. - Görünür yanıt modları, kanal başına geçersiz kılmalar ve kendiyle sohbet modu için tam başvuruya bakın.
Agent başına Skills kısıtlama
Agent başına Skills kısıtlama
agents.defaults.skills kullanın, ardından belirli
agent’ları agents.list[].skills ile geçersiz kılın:- Varsayılan olarak kısıtlanmamış Skills için
agents.defaults.skillsdeğerini atlayın. - Varsayılanları devralmak için
agents.list[].skillsdeğerini atlayın. - Skills olmaması için
agents.list[].skills: []ayarlayın. - Skills, Skills config ve Configuration Reference bölümlerine bakın.
Gateway kanal sağlık izlemeyi ayarlama
Gateway kanal sağlık izlemeyi ayarlama
- Sağlık izleme yeniden başlatmalarını genel olarak devre dışı bırakmak için
gateway.channelHealthCheckMinutes: 0ayarlayın. channelStaleEventThresholdMinutes, kontrol aralığından büyük veya ona eşit olmalıdır.- Genel izleyiciyi devre dışı bırakmadan tek bir kanal veya hesap için otomatik yeniden başlatmaları devre dışı bırakmak üzere
channels.<provider>.healthMonitor.enabledveyachannels.<provider>.accounts.<id>.healthMonitor.enabledkullanın. - Operasyonel hata ayıklama için Health Checks, tüm alanlar için tam başvuruya bakın.
Gateway WebSocket el sıkışma zaman aşımını ayarlama
Gateway WebSocket el sıkışma zaman aşımını ayarlama
- Varsayılan
15000milisaniyedir. OPENCLAW_HANDSHAKE_TIMEOUT_MS, tek seferlik servis veya kabuk geçersiz kılmaları için hâlâ önceliklidir.- Önce başlangıç/event-loop takılmalarını düzeltmeyi tercih edin; bu ayar sağlıklı ama ısınma sırasında yavaş olan ana makineler içindir.
Oturumları ve sıfırlamaları yapılandırma
Oturumları ve sıfırlamaları yapılandırma
dmScope:main(paylaşılan) |per-peer|per-channel-peer|per-account-channel-peerthreadBindings: iş parçacığına bağlı oturum yönlendirmesi için genel varsayılanlar (Discord/focus,/unfocus,/agents,/session idleve/session max-agedestekler).- Kapsam belirleme, kimlik bağlantıları ve gönderme politikası için bkz. Oturum Yönetimi.
- Tüm alanlar için bkz. tam başvuru.
Korumalı alanı etkinleştir
Korumalı alanı etkinleştir
scripts/sandbox-setup.sh çalıştırın veya npm kurulumundan çalıştırıyorsanız Korumalı Alan § İmajlar ve kurulum içindeki satır içi docker build komutuna bakın.Tam kılavuz için bkz. Korumalı Alan ve tüm seçenekler için bkz. tam başvuru.Resmi iOS derlemeleri için relay destekli push'u etkinleştir
Resmi iOS derlemeleri için relay destekli push'u etkinleştir
openclaw.json içinde yapılandırılır.Gateway yapılandırmasında bunu ayarlayın:- Gateway’in
push.test, uyandırma dürtmeleri ve yeniden bağlanma uyandırmalarını dış relay üzerinden göndermesine izin verir. - Eşleştirilmiş iOS uygulaması tarafından iletilen, kayıt kapsamlı bir gönderme izni kullanır. Gateway’in dağıtım genelinde geçerli bir relay token’ına ihtiyacı yoktur.
- Her relay destekli kaydı, iOS uygulamasının eşleştiği Gateway kimliğine bağlar; böylece başka bir Gateway saklanan kaydı yeniden kullanamaz.
- Yerel/manuel iOS derlemelerini doğrudan APNs üzerinde tutar. Relay destekli gönderimler yalnızca relay üzerinden kaydolan resmi dağıtılmış derlemelere uygulanır.
- Resmi/TestFlight iOS derlemesine gömülen relay temel URL’siyle eşleşmelidir; böylece kayıt ve gönderme trafiği aynı relay dağıtımına ulaşır.
- Aynı relay temel URL’siyle derlenmiş resmi/TestFlight iOS derlemesini yükleyin.
- Gateway üzerinde
gateway.push.apns.relay.baseUrlyapılandırın. - iOS uygulamasını Gateway ile eşleştirin ve hem node hem de operatör oturumlarının bağlanmasına izin verin.
- iOS uygulaması Gateway kimliğini getirir, App Attest ve uygulama makbuzunu kullanarak relay ile kaydolur, ardından relay destekli
push.apns.registeryükünü eşleştirilmiş Gateway’e yayımlar. - Gateway relay tanıtıcısını ve gönderme iznini saklar, ardından bunları
push.test, uyandırma dürtmeleri ve yeniden bağlanma uyandırmaları için kullanır.
- iOS uygulamasını farklı bir Gateway’e geçirirseniz, o Gateway’e bağlı yeni bir relay kaydı yayımlayabilmesi için uygulamayı yeniden bağlayın.
- Farklı bir relay dağıtımını işaret eden yeni bir iOS derlemesi yayınlarsanız, uygulama eski relay kaynağını yeniden kullanmak yerine önbelleğe alınmış relay kaydını yeniler.
OPENCLAW_APNS_RELAY_BASE_URLveOPENCLAW_APNS_RELAY_TIMEOUT_MSgeçici env geçersiz kılmaları olarak hâlâ çalışır.OPENCLAW_APNS_RELAY_ALLOW_HTTP=trueyalnızca local loopback geliştirme kaçış yoludur; HTTP relay URL’lerini yapılandırmada kalıcı hale getirmeyin.
Heartbeat'i kur (periyodik yoklamalar)
Heartbeat'i kur (periyodik yoklamalar)
every: süre dizesi (30m,2h). Devre dışı bırakmak için0mayarlayın.target:last|none|<channel-id>(örneğindiscord,matrix,telegramveyawhatsapp)directPolicy: DM tarzı Heartbeat hedefleri içinallow(varsayılan) veyablock- Tam kılavuz için bkz. Heartbeat.
Cron işlerini yapılandır
Cron işlerini yapılandır
sessionRetention: tamamlanmış yalıtılmış çalışma oturumlarınısessions.jsoniçinden budar (varsayılan24h; devre dışı bırakmak içinfalseayarlayın).runLog:cron/runs/<jobId>.jsonldosyasını boyuta ve tutulan satırlara göre budar.- Özellik genel bakışı ve CLI örnekleri için bkz. Cron işleri.
Webhook'ları kur (hook'lar)
Webhook'ları kur (hook'lar)
- Tüm hook/Webhook yük içeriğini güvenilmeyen girdi olarak ele alın.
- Ayrılmış bir
hooks.tokenkullanın; paylaşılan Gateway token’ını yeniden kullanmayın. - Hook kimlik doğrulaması yalnızca header üzerinden yapılır (
Authorization: Bearer ...veyax-openclaw-token); query string token’ları reddedilir. hooks.path/olamaz; Webhook girişini/hooksgibi ayrılmış bir alt yolda tutun.- Sıkı kapsamlı hata ayıklama yapmıyorsanız güvenli olmayan içerik atlama bayraklarını devre dışı tutun (
hooks.gmail.allowUnsafeExternalContent,hooks.mappings[].allowUnsafeExternalContent). hooks.allowRequestSessionKeyetkinleştirirseniz, çağıranın seçtiği oturum anahtarlarını sınırlandırmak içinhooks.allowedSessionKeyPrefixesde ayarlayın.- Hook ile çalışan aracılar için güçlü modern model katmanlarını ve katı araç politikasını tercih edin (örneğin yalnızca mesajlaşma ve mümkün olduğunda korumalı alan).
Çok aracılı yönlendirmeyi yapılandır
Çok aracılı yönlendirmeyi yapılandır
Yapılandırmayı birden çok dosyaya böl ($include)
Yapılandırmayı birden çok dosyaya böl ($include)
$include kullanın:- Tek dosya: içeren nesneyi değiştirir
- Dosya dizisi: sırayla derin birleştirilir (sonraki kazanır)
- Kardeş anahtarlar: include’lardan sonra birleştirilir (include edilen değerleri geçersiz kılar)
- İç içe include’lar: 10 seviyeye kadar desteklenir
- Göreli yollar: include eden dosyaya göre çözümlenir
- OpenClaw’a ait yazmalar: bir yazma yalnızca
plugins: { $include: "./plugins.json5" }gibi tek dosyalı include ile desteklenen tek bir üst seviye bölümü değiştirdiğinde, OpenClaw o include edilen dosyayı günceller veopenclaw.jsondosyasını olduğu gibi bırakır - Desteklenmeyen write-through: kök include’lar, include dizileri ve kardeş geçersiz kılmalara sahip include’lar, yapılandırmayı düzleştirmek yerine OpenClaw’a ait yazmalar için kapalı hatayla sonuçlanır
- Sınırlama:
$includeyollarıopenclaw.jsondosyasını tutan dizinin altında çözümlenmelidir. Bir ağacı makineler veya kullanıcılar arasında paylaşmak içinOPENCLAW_INCLUDE_ROOTSdeğişkenini include’ların başvurabileceği ek dizinlerden oluşan bir yol listesine ayarlayın (POSIX’te:, Windows’ta;). Sembolik bağlantılar çözümlenir ve yeniden denetlenir; bu nedenle söz dizimsel olarak bir yapılandırma dizininde bulunan, ancak gerçek hedefi izin verilen her kökün dışına kaçan bir yol yine de reddedilir. - Hata işleme: eksik dosyalar, ayrıştırma hataları ve döngüsel include’lar için açık hatalar
Yapılandırma sıcak yeniden yükleme
Gateway~/.openclaw/openclaw.json dosyasını izler ve değişiklikleri otomatik olarak uygular - çoğu ayar için manuel yeniden başlatma gerekmez.
Doğrudan dosya düzenlemeleri doğrulanana kadar güvenilmeyen olarak ele alınır. İzleyici,
düzenleyicinin geçici yazma/yeniden adlandırma hareketliliğinin durulmasını bekler, son dosyayı okur
ve geçersiz dış düzenlemeleri openclaw.json dosyasını yeniden yazmadan reddeder. OpenClaw’a ait yapılandırma
yazmaları, yazmadan önce aynı şema geçidini kullanır; gateway.mode öğesini düşürmek veya dosyayı yarıdan fazla küçültmek gibi
yıkıcı ezmeler reddedilir ve inceleme için .rejected.* olarak kaydedilir.
config reload skipped (invalid config) görürseniz veya başlangıç Invalid config bildirirse, yapılandırmayı inceleyin, openclaw config validate çalıştırın, ardından onarım için openclaw doctor --fix çalıştırın. Kontrol listesi için bkz. Gateway sorun giderme.
Yeniden yükleme modları
| Mod | Davranış |
|---|---|
hybrid (varsayılan) | Güvenli değişiklikleri anında sıcak uygular. Kritik olanlar için otomatik olarak yeniden başlatır. |
hot | Yalnızca güvenli değişiklikleri sıcak uygular. Yeniden başlatma gerektiğinde uyarı günlüğe yazar - bunu siz yönetirsiniz. |
restart | Güvenli olsun veya olmasın her yapılandırma değişikliğinde Gateway’i yeniden başlatır. |
off | Dosya izlemeyi devre dışı bırakır. Değişiklikler bir sonraki manuel yeniden başlatmada etkili olur. |
Neler sıcak uygulanır, neler yeniden başlatma gerektirir
Çoğu alan kesinti olmadan sıcak uygulanır.hybrid modunda, yeniden başlatma gerektiren değişiklikler otomatik olarak işlenir.
| Kategori | Alanlar | Yeniden başlatma gerekli mi? |
|---|---|---|
| Kanallar | channels.*, web (WhatsApp) - tüm yerleşik ve Plugin kanalları | Hayır |
| Aracı ve modeller | agent, agents, models, routing | Hayır |
| Otomasyon | hooks, cron, agent.heartbeat | Hayır |
| Oturumlar ve mesajlar | session, messages | Hayır |
| Araçlar ve medya | tools, browser, skills, mcp, audio, talk | Hayır |
| UI ve çeşitli | ui, logging, identity, bindings | Hayır |
| Gateway sunucusu | gateway.* (port, bind, auth, tailscale, TLS, HTTP) | Evet |
| Altyapı | discovery, plugins | Evet |
gateway.reload ve gateway.remote istisnadır - bunları değiştirmek yeniden başlatmayı tetiklemez.Yeniden yükleme planlaması
$include üzerinden başvurulan bir kaynak dosyayı düzenlediğinizde OpenClaw, yeniden yüklemeyi düzleştirilmiş bellek içi görünümden değil, kaynakta yazılmış yerleşimden planlar. Bu, plugins: { $include: "./plugins.json5" } gibi tek bir üst düzey bölüm kendi dahil edilen dosyasında bulunsa bile hot-reload kararlarını (hot-apply ve yeniden başlatma) öngörülebilir tutar. Kaynak yerleşim belirsizse yeniden yükleme planlaması kapalı biçimde başarısız olur.
Yapılandırma RPC’si (programlı güncellemeler)
Gateway API üzerinden yapılandırma yazan araçlar için şu akışı tercih edin:- Bir alt ağacı incelemek için
config.schema.lookup(sığ şema düğümü + alt özetler) - Mevcut anlık görüntüyü ve
hashdeğerini almak içinconfig.get - Kısmi güncellemeler için
config.patch(JSON merge patch: nesneler birleştirilir,nullsiler, diziler değiştirilir) - Yalnızca tüm yapılandırmayı değiştirmeyi amaçladığınızda
config.apply - Açık self-update ve yeniden başlatma için
update.run; yeniden başlatma sonrası oturumun bir takip turu çalıştırması gerekiyorsacontinuationMessageekleyin - En son güncelleme yeniden başlatma sentinel’ini incelemek ve yeniden başlatmadan sonra çalışan sürümü doğrulamak için
update.status
config.schema.lookup kullanmalıdır. Daha geniş yapılandırma haritasına, varsayılanlara veya özel alt sistem referanslarına bağlantılara ihtiyaç duyduklarında Yapılandırma referansı kullanın.
config.apply, config.patch, update.run) deviceId+clientIp başına 60 saniyede 3 istekle sınırlandırılır. Yeniden başlatma istekleri birleştirilir ve ardından yeniden başlatma döngüleri arasında 30 saniyelik bekleme süresi uygular. update.status salt okunurdur ancak admin kapsamındadır, çünkü yeniden başlatma sentinel’i güncelleme adımı özetlerini ve komut çıktısı sonlarını içerebilir.config.apply hem de config.patch raw, baseHash, sessionKey, note ve restartDelayMs kabul eder. Bir yapılandırma zaten mevcut olduğunda iki yöntem için de baseHash zorunludur.
Ortam değişkenleri
OpenClaw, env vars değerlerini üst süreçten ve ayrıca şunlardan okur:- Geçerli çalışma dizininden
.env(varsa) ~/.openclaw/.env(global yedek)
Kabuk env içe aktarma (isteğe bağlı)
Kabuk env içe aktarma (isteğe bağlı)
OPENCLAW_LOAD_SHELL_ENV=1Yapılandırma değerlerinde env var ikamesi
Yapılandırma değerlerinde env var ikamesi
${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 yükleme zamanında hata fırlatır
- Değişmez çıktı için
$${VAR}ile kaçış yapın $includedosyalarının içinde çalışır- Satır içi ikame:
"${BASE}/v1"→"https://api.example.com/v1"
Gizli refs (env, file, exec)
Gizli refs (env, file, exec)
env/file/exec için secrets.providers dahil) Gizli Dizi Yönetimi içinde yer alır. Desteklenen kimlik bilgisi yolları SecretRef Kimlik Bilgisi Yüzeyi içinde listelenmiştir.Tam referans
Eksiksiz alan alan referansı için Yapılandırma Referansı bölümüne bakın.İlgili: Yapılandırma Örnekleri · Yapılandırma Referansı · Doctor