Yapılandırma
OpenClaw,~/.openclaw/openclaw.json konumundan isteğe bağlı bir yapılandırması okur.
Dosya yoksa OpenClaw güvenli varsayılanları kullanır. Yapılandırma eklemek için yaygın nedenler:
- Kanalları bağlamak ve bot’a kimlerin mesaj gönderebileceğini kontrol etmek
- Modelleri, araçları, sandbox kullanımını veya otomasyonu ayarlamak (cron, hooks)
- Oturumları, medyayı, ağı veya kullanıcı arayüzünü ince ayarlamak
Minimum yapılandırma
Yapılandırmayı düzenleme
- Etkileşimli sihirbaz
- CLI (tek satırlık komutlar)
- Control UI
- Doğrudan düzenleme
Sıkı doğrulama
Şema araçları notları:openclaw config schema, Control UI ve yapılandırma doğrulaması tarafından kullanılan aynı JSON Schema ailesini yazdırır.- Bu şema çıktısını
openclaw.jsoniçin kanonik, makine tarafından okunabilir sözleşme olarak değerlendirin; bu genel bakış ve yapılandırma başvurusu bunu özetler. - Alan
titlevedescriptiondeğerleri, düzenleyici ve form araçları için şema çıktısına taşınır. - İç içe nesne, joker (
*) ve dizi ögesi ([]) girdileri, eşleşen alan belgeleri mevcut olduğunda aynı belge meta verilerini devralır. anyOf/oneOf/allOfbileşim dalları da aynı belge meta verilerini devralır; böylece union/intersection varyantları aynı alan yardımını korur.config.schema.lookup, ayrıntılı gezinme araçları için tek bir normalize edilmiş yapılandırma yolunu; sığ bir şema düğümü (title,description,type,enum,const, yaygın sınırlar ve benzer doğrulama alanları), eşleşmiş kullanıcı arayüzü ipucu meta verileri ve doğrudan alt özetlerle birlikte döndürür.- Gateway geçerli manifest kayıt defterini yükleyebildiğinde çalışma zamanı plugin/kanal şemaları da birleştirilir.
pnpm config:docs:check, belgelere yönelik yapılandırma temel çıktıları ile mevcut şema yüzeyi arasındaki kaymayı algılar.
- Gateway açılmaz
- Yalnızca tanı komutları çalışır (
openclaw doctor,openclaw logs,openclaw health,openclaw status) - Tam 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
Yaygın görevler
Bir kanal ayarlama (WhatsApp, Telegram, Discord vb.)
Bir kanal ayarlama (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 allowlist görevi görür.- Model başvuruları
provider/modelbiçimini kullanır (ör.anthropic/claude-opus-4-6). agents.defaults.imageMaxDimensionPx, döküm/araç görsellerinin küçültülmesini denetler (varsayılan1200); daha düşük değerler genellikle ekran görüntüsü yoğun çalışmalarda vision 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/self-hosted sağlayıcılar için başvurudaki Özel sağlayıcılar bölümüne bakın.
Bot'a kimlerin mesaj gönderebileceğini kontrol etme
Bot'a kimlerin mesaj gönderebileceğini kontrol etme
dmPolicy ile kontrol edilir:"pairing"(varsayılan): bilinmeyen gönderenlere onay için tek kullanımlık bir eşleştirme kodu verilir"allowlist": yalnızcaallowFromiçindeki gönderenler (veya eşleştirilmiş allow store)"open": tüm gelen DM’lere izin verilir (allowFrom: ["*"]gerektirir)"disabled": tüm DM’leri yok sayar
groupPolicy + groupAllowFrom veya kanala özgü allowlist’leri kullanın.Kanal başına ayrıntılar için tam başvuruya bakın.Grup sohbeti mention geçitlemesini ayarlama
Grup sohbeti mention geçitlemesini ayarlama
- Meta veri mention’ları: yerel @-mention’lar (WhatsApp dokunarak mention, Telegram @bot vb.)
- Metin kalıpları:
mentionPatternsiçindeki güvenli regex kalıpları - Kanal başına geçersiz kılmalar ve self-chat modu için tam başvuruya bakın.
Skills'i agent başına kısıtlama
Skills'i agent başına 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.skillsalanını boş bırakın. - Varsayılanları devralmak için
agents.list[].skillsalanını boş bırakın. - Skills olmaması için
agents.list[].skills: []ayarlayın. - Skills, Skills config ve Yapılandırma Başvurusu bölümüne bakın.
Gateway kanal durum izlemeyi ince ayarlama
Gateway kanal durum izlemeyi ince ayarlama
- Durum izleme yeniden başlatmalarını genel olarak devre dışı bırakmak için
gateway.channelHealthCheckMinutes: 0ayarlayın. channelStaleEventThresholdMinutes, denetim aralığından büyük veya ona eşit olmalıdır.- Genel izlemeyi kapatmadan tek bir kanal ya da hesap için otomatik yeniden başlatmaları kapatmak amacıyla
channels.<provider>.healthMonitor.enabledveyachannels.<provider>.accounts.<id>.healthMonitor.enabledkullanın. - Operasyonel hata ayıklama için Health Checks ve tüm alanlar için tam başvuruya bakın.
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: thread’e bağlı oturum yönlendirmesi için genel varsayılanlar (Discord/focus,/unfocus,/agents,/session idleve/session max-agedestekler).- Kapsamlama, kimlik bağlantıları ve gönderme ilkesi için Session Management bölümüne bakın.
- Tüm alanlar için tam başvuruya bakın.
Sandbox kullanımını etkinleştirme
Sandbox kullanımını etkinleştirme
scripts/sandbox-setup.shTam rehber için Sandboxing ve tüm seçenekler için tam başvuruya bakın.Resmi iOS derlemeleri için relay destekli push'ı etkinleştirme
Resmi iOS derlemeleri için relay destekli push'ı etkinleştirme
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ı harici 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 bir relay token’ına ihtiyacı yoktur.
- Her relay destekli kaydı, iOS uygulamasının eşleştirildiği gateway kimliğine bağlar; böylece başka bir gateway kayıtlı veriyi yeniden kullanamaz.
- Yerel/manuel iOS derlemelerini doğrudan APNs üzerinde tutar. Relay destekli gönderimler yalnızca relay üzerinden kayıt olmuş resmi dağıtılmış derlemeler için geçerlidir.
- Kayıt ve gönderim trafiğinin aynı relay dağıtımına ulaşması için, resmi/TestFlight iOS derlemesine gömülü relay temel URL’siyle eşleşmelidir.
- Aynı relay temel URL’siyle derlenmiş resmi/TestFlight iOS derlemesini yükleyin.
- Gateway üzerinde
gateway.push.apns.relay.baseUrlayarlayın. - iOS uygulamasını gateway ile eşleştirin ve hem düğüm hem de operatör oturumlarının bağlanmasına izin verin.
- iOS uygulaması gateway kimliğini alır, App Attest ve uygulama makbuzunu kullanarak relay’e kayıt olur, ardından relay destekli
push.apns.registeryükünü eşleştirilmiş gateway’e yayınlar. - Gateway relay tanıtıcısını ve gönderme iznini depolar, 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, uygulamanın bu gateway’e bağlı yeni bir relay kaydı yayınlayabilmesi için 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_MShâlâ geçici ortam değişkeni geçersiz kılmaları olarak çalışır.OPENCLAW_APNS_RELAY_ALLOW_HTTP=true, yalnızca loopback için bir geliştirme kaçış yoludur; HTTP relay URL’lerini yapılandırmada kalıcı olarak saklamayın.
Heartbeat ayarlama (periyodik check-in'ler)
Heartbeat ayarlama (periyodik check-in'ler)
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 rehber için Heartbeat bölümüne bakın.
Cron işleri yapılandırma
Cron işleri yapılandırma
sessionRetention: tamamlanmış yalıtılmış çalışma oturumlarınısessions.jsondosyasından budar (varsayılan24h; devre dışı bırakmak içinfalseayarlayın).runLog:cron/runs/<jobId>.jsonldosyasını boyut ve tutulan satır sayısına göre budar.- Özellik genel bakışı ve CLI örnekleri için Cron jobs bölümüne bakın.
Webhook'ları yapılandırma (hooks)
Webhook'ları yapılandırma (hooks)
- Tüm hook/webhook yük içeriklerini güvenilmeyen girdi olarak değerlendirin.
- Ayrı bir
hooks.tokenkullanın; paylaşılan Gateway token’ını yeniden kullanmayın. - Hook kimlik doğrulaması yalnızca başlık üzerinden yapılır (
Authorization: Bearer ...veyax-openclaw-token); sorgu dizesi 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üvensiz içerik baypas işaretlerini (
hooks.gmail.allowUnsafeExternalContent,hooks.mappings[].allowUnsafeExternalContent) devre dışı bırakılmış durumda tutun. hooks.allowRequestSessionKeyetkinleştirirseniz, çağıran tarafından seçilen oturum anahtarlarını sınırlamak içinhooks.allowedSessionKeyPrefixesda ayarlayın.- Hook tarafından yönlendirilen agent’lar için güçlü modern model katmanlarını ve sıkı araç ilkesini tercih edin (örneğin yalnızca mesajlaşma artı mümkün olduğunda sandbox kullanımı).
Çoklu agent yönlendirmesini yapılandırma
Çoklu agent yönlendirmesini yapılandırma
Yapılandırmayı birden fazla dosyaya bölme ($include)
Yapılandırmayı birden fazla dosyaya bölme ($include)
$include kullanın:- Tek dosya: kapsayan nesnenin yerini alır
- Dosya dizisi: sırayla derinlemesine birleştirilir (sonraki kazanır)
- Kardeş anahtarlar: include’lardan sonra birleştirilir (dahil edilen değerleri geçersiz kılar)
- İç içe include’lar: en fazla 10 seviye derinliğe kadar desteklenir
- Göreli yollar: dahil eden dosyaya göre çözülür
- Hata işleme: eksik dosyalar, ayrıştırma hataları ve döngüsel include’lar için açık hatalar
Yapılandırma anında 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.
Yeniden yükleme modları
| Mod | Davranış |
|---|---|
hybrid (varsayılan) | Güvenli değişiklikleri anında uygular. Kritik olanlarda otomatik olarak yeniden başlatır. |
hot | Yalnızca güvenli değişiklikleri anında uygular. Yeniden başlatma gerektiğinde bir uyarı kaydeder — bunu siz yönetirsiniz. |
restart | Güvenli olsun ya da 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 anında uygulanır, neler yeniden başlatma gerektirir
Çoğu alan kesinti olmadan anında uygulanır.hybrid modunda yeniden başlatma gerektiren değişiklikler otomatik olarak ele alınır.
| Kategori | Alanlar | Yeniden başlatma gerekir mi? |
|---|---|---|
| Kanallar | channels.*, web (WhatsApp) — tüm yerleşik ve eklenti kanalları | Hayır |
| Agent 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, 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, canvasHost, plugins | Evet |
gateway.reload ve gateway.remote istisnadır — bunları değiştirmek yeniden başlatmayı tetiklemez.Config RPC (programatik güncellemeler)
config.apply, config.patch, update.run), her deviceId+clientIp için 60 saniyede 3 istek ile oran sınırlamasına tabidir. Sınır aşıldığında RPC, retryAfterMs ile birlikte UNAVAILABLE döndürür.config.schema.lookup: sığ bir şema düğümü, eşleşmiş ipucu meta verileri ve doğrudan alt özetlerle birlikte bir yola kapsamlanmış yapılandırma alt ağacını inceleyinconfig.get: geçerli anlık görüntüyü + hash değerini alınconfig.patch: tercih edilen kısmi güncelleme yoluconfig.apply: yalnızca tam yapılandırma değiştirmeupdate.run: açık self-update + yeniden başlatma
config.schema.lookup
ardından config.patch kullanmayı tercih edin.
config.apply (tam değiştirme)
config.apply (tam değiştirme)
raw(string) — tüm yapılandırma için JSON5 yükübaseHash(isteğe bağlı) —config.getçıktısından yapılandırma hash’i (yapılandırma varsa gereklidir)sessionKey(isteğe bağlı) — yeniden başlatma sonrası uyandırma pingi için oturum anahtarınote(isteğe bağlı) — yeniden başlatma sentinel’i için notrestartDelayMs(isteğe bağlı) — yeniden başlatma öncesi gecikme (varsayılan 2000)
config.patch (kısmi güncelleme)
config.patch (kısmi güncelleme)
- Nesneler özyinelemeli olarak birleştirilir
nullbir anahtarı siler- Diziler yer değiştirir
raw(string) — yalnızca değiştirilecek anahtarları içeren JSON5baseHash(zorunlu) —config.getçıktısından yapılandırma hash’isessionKey,note,restartDelayMs—config.applyile aynı
config.apply ile aynıdır: bekleyen yeniden başlatmalar birleştirilir ve yeniden başlatma döngüleri arasında 30 saniyelik bekleme uygulanır.Ortam değişkenleri
OpenClaw, üst süreçten gelen ortam değişkenlerini ve ayrıca şunları okur:- geçerli çalışma dizinindeki
.env(varsa) ~/.openclaw/.env(genel yedek)
Kabuk ortam değişkeni içe aktarma (isteğe bağlı)
Kabuk ortam değişkeni içe aktarma (isteğe bağlı)
OPENCLAW_LOAD_SHELL_ENV=1Yapılandırma değerlerinde ortam değişkeni yerine koyma
Yapılandırma değerlerinde ortam değişkeni yerine koyma
${VAR_NAME} ile başvurun:- Yalnızca eşleşen büyük harfli adlar:
[A-Z_][A-Z0-9_]* - Eksik/boş değişkenler yükleme zamanında hataya neden olur
- Değişmez çıktı için
$${VAR}ile kaçış kullanın $includedosyalarının içinde de çalışır- Satır içi yerine koyma:
"${BASE}/v1"→"https://api.example.com/v1"
Gizli başvurular (env, file, exec)
Gizli başvurular (env, file, exec)
env/file/exec için secrets.providers dahil) Secrets Management bölümündedir.
Desteklenen kimlik bilgisi yolları SecretRef Credential Surface bölümünde listelenmiştir.Tam başvuru
Alan alan tam başvuru için Configuration Reference bölümüne bakın.İlgili: Configuration Examples · Configuration Reference · Doctor