Yapılandırma Referansı
~/.openclaw/openclaw.json için temel yapılandırma başvurusu. Görev odaklı genel bakış için bkz. Yapılandırma.
Bu sayfa ana OpenClaw yapılandırma yüzeylerini kapsar ve bir alt sistemin kendine ait daha ayrıntılı bir başvurusu olduğunda ona bağlantı verir. Her kanala/eklentiye ait komut kataloğunu veya her ayrıntılı bellek/QMD ayarını tek bir sayfada satır içine almaya çalışmaz.
Kod tarafındaki gerçek kaynak:
openclaw config schema, doğrulama ve Kontrol Arayüzü için kullanılan canlı JSON Şemasını yazdırır; mevcut olduğunda paketlenmiş/eklenti/kanal meta verileri birleştirilmiş olarak gelirconfig.schema.lookup, ayrıntı inceleme araçları için tek bir yol kapsamlı şema düğümü döndürürpnpm config:docs:check/pnpm config:docs:gen, yapılandırma-belge temel karma değerini mevcut şema yüzeyine göre doğrular
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 + paketlenmiş komut kataloğu için Slash Commands
- kanala/eklentiye sahip olan sayfalar, kanala özgü komut yüzeyleri için
Kanallar
Yapılandırma bölümü mevcut olduğunda her kanal otomatik olarak başlar (enabled: false olmadığı sürece).
DM ve grup erişimi
Tüm kanallar DM ilkelerini ve grup ilkelerini destekler:| DM ilkesi | Davranış |
|---|---|
pairing (varsayılan) | Bilinmeyen gönderenler tek kullanımlık bir eşleştirme kodu alır; sahibin onaylaması gerekir |
allowlist | Yalnızca allowFrom içindeki gönderenler (veya eşleştirilmiş izin deposu) |
open | Tüm gelen DM’lere izin ver (şunu gerektirir: allowFrom: ["*"]) |
disabled | Tüm gelen DM’leri yok say |
| Grup ilkesi | Davranış |
|---|---|
allowlist (varsayılan) | Yalnızca yapılandırılmış izin listesiyle eşleşen gruplar |
open | Grup izin listelerini atla (mention-gating yine de uygulanır) |
disabled | Tüm grup/oda mesajlarını engelle |
channels.defaults.groupPolicy, bir sağlayıcının groupPolicy değeri ayarlanmamışsa varsayılanı belirler.
Eşleştirme kodları 1 saat sonra sona erer. Bekleyen DM eşleştirme istekleri kanal başına 3 ile sınırlandırılmıştır.
Bir sağlayıcı bloğu tamamen eksikse (channels.<provider> yoksa), çalışma zamanındaki grup ilkesi başlatma uyarısıyla birlikte allowlist (fail-closed) değerine geri döner.Kanal model geçersiz kılmaları
Belirli kanal kimliklerini bir modele sabitlemek içinchannels.modelByChannel kullanın. Değerler provider/model veya yapılandırılmış model takma adlarını kabul eder. Kanal eşlemesi, bir oturumda zaten bir model geçersiz kılması yoksa uygulanır (örneğin /model ile ayarlanmışsa).
Kanal varsayılanları ve heartbeat
Sağlayıcılar arasında paylaşılan grup ilkesi ve heartbeat davranışı içinchannels.defaults kullanın:
channels.defaults.groupPolicy: bir sağlayıcı düzeyindekigroupPolicyayarlanmamışsa kullanılan yedek grup ilkesi.channels.defaults.contextVisibility: tüm kanallar için varsayılan ek bağlam görünürlüğü modu. Değerler:all(varsayılan, alıntılanan/dizi/geçmiş bağlamının tamamını dahil eder),allowlist(yalnızca izin verilen gönderenlerden gelen bağlamı dahil eder),allowlist_quote(allowlist ile aynı, ancak açık alıntı/yanıt bağlamını korur). Kanal başına geçersiz kılma:channels.<channel>.contextVisibility.channels.defaults.heartbeat.showOk: sağlıklı kanal durumlarını heartbeat çıktısına dahil eder.channels.defaults.heartbeat.showAlerts: bozulmuş/hata durumlarını heartbeat çıktısına dahil eder.channels.defaults.heartbeat.useIndicator: kompakt gösterge tarzı heartbeat çıktısı oluşturur.
Çok hesaplı WhatsApp
Çok hesaplı WhatsApp
- Giden komutlar, varsa varsayılan olarak
defaulthesabını kullanır; aksi halde ilk yapılandırılmış hesap kimliğini (sıralanmış) kullanır. - İsteğe bağlı
channels.whatsapp.defaultAccount, yapılandırılmış bir hesap kimliğiyle eşleştiğinde bu yedek varsayılan hesap seçimini geçersiz kılar. - Eski tek hesaplı Baileys auth dizini,
openclaw doctortarafındanwhatsapp/defaultiçine taşınır. - Hesap başına geçersiz kılmalar:
channels.whatsapp.accounts.<id>.sendReadReceipts,channels.whatsapp.accounts.<id>.dmPolicy,channels.whatsapp.accounts.<id>.allowFrom.
Telegram
- Bot tokenı:
channels.telegram.botTokenveyachannels.telegram.tokenFile(yalnızca normal dosya; symlink’ler reddedilir), varsayılan hesap için yedek olarakTELEGRAM_BOT_TOKENkullanılır. - İsteğe bağlı
channels.telegram.defaultAccount, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. - Çok hesaplı kurulumlarda (2+ hesap kimliği), yedek yönlendirmeden kaçınmak için açık bir varsayılan ayarlayın (
channels.telegram.defaultAccountveyachannels.telegram.accounts.default); bu eksik veya geçersiz olduğundaopenclaw doctoruyarı verir. configWrites: false, Telegram tarafından başlatılan yapılandırma yazmalarını engeller (supergroup ID geçişleri,/config set|unset).type: "acp"olan üst düzeybindings[]girdileri, forum konuları için kalıcı ACP bağlarını yapılandırır (match.peer.idiçinde standartchatId:topic:topicIdkullanın). Alan anlamları ACP Agents içinde ortaktır.- Telegram akış önizlemeleri
sendMessage+editMessageTextkullanır (doğrudan ve grup sohbetlerinde çalışır). - Yeniden deneme ilkesi: bkz. Yeniden deneme ilkesi.
Discord
- Token:
channels.discord.token, varsayılan hesap için yedek olarakDISCORD_BOT_TOKENile birlikte. - Açık bir Discord
tokensağlayan doğrudan giden çağrılar, çağrı için o tokenı kullanır; hesap yeniden deneme/ilke ayarları yine de etkin çalışma zamanı anlık görüntüsünde seçilen hesaptan gelir. - İsteğe bağlı
channels.discord.defaultAccount, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. - Teslim hedefleri için
user:<id>(DM) veyachannel:<id>(sunucu kanalı) kullanın; yalın sayısal kimlikler reddedilir. - Sunucu slug’ları küçük harflidir ve boşluklar
-ile değiştirilir; kanal anahtarları slug biçimindeki adı kullanır (#olmadan). Sunucu kimliklerini tercih edin. - Bot tarafından yazılan mesajlar varsayılan olarak yok sayılır.
allowBots: truebunları etkinleştirir; yalnızca botu mention eden bot mesajlarını kabul etmek içinallowBots: "mentions"kullanın (botun kendi mesajları yine filtrelenir). channels.discord.guilds.<id>.ignoreOtherMentions(ve kanal geçersiz kılmaları), botu değil başka bir kullanıcıyı veya rolü mention eden mesajları düşürür (@everyone/@herehariç).maxLinesPerMessage(varsayılan 17), 2000 karakterin altında olsa bile uzun mesajları böler.channels.discord.threadBindings, Discord iş parçacığına bağlı yönlendirmeyi kontrol eder:enabled: iş parçacığına bağlı oturum özellikleri için Discord geçersiz kılması (/focus,/unfocus,/agents,/session idle,/session max-ageve bağlı teslim/yönlendirme)idleHours: etkinliksizlik nedeniyle otomatik odak kaldırma için saat cinsinden Discord geçersiz kılması (0devre dışı bırakır)maxAgeHours: saat cinsinden kesin azami yaş için Discord geçersiz kılması (0devre dışı bırakır)spawnSubagentSessions:sessions_spawn({ thread: true })otomatik iş parçacığı oluşturma/bağlama için isteğe bağlı anahtar
type: "acp"olan üst düzeybindings[]girdileri, kanallar ve iş parçacıkları için kalıcı ACP bağlarını yapılandırır (match.peer.idiçinde kanal/iş parçacığı kimliğini kullanın). Alan anlamları ACP Agents içinde ortaktır.channels.discord.ui.components.accentColor, Discord components v2 kapsayıcıları için vurgu rengini ayarlar.channels.discord.voice, Discord ses kanalı konuşmalarını ve isteğe bağlı otomatik katılma + TTS geçersiz kılmalarını etkinleştirir.channels.discord.voice.daveEncryptionvechannels.discord.voice.decryptionFailureTolerance,@discordjs/voiceDAVE seçeneklerine aynen aktarılır (varsayılan olaraktrueve24).- OpenClaw ayrıca, art arda şifre çözme hatalarından sonra bir ses oturumundan ayrılıp yeniden katılarak ses alımı kurtarmayı dener.
channels.discord.streamingstandart akış modu anahtarıdır. EskistreamModeve booleanstreamingdeğerleri otomatik olarak taşınır.channels.discord.autoPresence, çalışma zamanı kullanılabilirliğini bot varlığına eşler (sağlıklı => online, bozulmuş => idle, tükenmiş => dnd) ve isteğe bağlı durum metni geçersiz kılmalarına izin verir.channels.discord.dangerouslyAllowNameMatching, değiştirilebilir ad/etiket eşleştirmeyi yeniden etkinleştirir (acil durum uyumluluk modu).channels.discord.execApprovals: Discord’a özgü exec onay teslimi ve onaylayıcı yetkilendirmesi.enabled:true,falseveya"auto"(varsayılan). Otomatik modda exec onayları, onaylayıcılarapproversveyacommands.ownerAllowFromüzerinden çözümlenebildiğinde etkinleşir.approvers: exec isteklerini onaylamasına izin verilen Discord kullanıcı kimlikleri. Atlandığındacommands.ownerAllowFromdeğerine geri döner.agentFilter: isteğe bağlı ajan kimliği izin listesi. Tüm ajanlar için onayları iletmek üzere atlayın.sessionFilter: isteğe bağlı oturum anahtarı kalıpları (alt dize veya regex).target: onay istemlerinin nereye gönderileceği."dm"(varsayılan) onaylayıcı DM’lerine gönderir,"channel"kaynak kanala gönderir,"both"her ikisine gönderir. Hedef"channel"içerdiğinde, düğmeler yalnızca çözümlenmiş onaylayıcılar tarafından kullanılabilir.cleanupAfterResolve:trueolduğunda, onay, ret veya zaman aşımı sonrasında onay DM’lerini siler.
off (yok), own (botun mesajları, varsayılan), all (tüm mesajlar), allowlist (guilds.<id>.users içinden, tüm mesajlarda).
Google Chat
- Hizmet hesabı JSON’u: satır içi (
serviceAccount) veya dosya tabanlı (serviceAccountFile). - Hizmet hesabı SecretRef de desteklenir (
serviceAccountRef). - Ortam yedekleri:
GOOGLE_CHAT_SERVICE_ACCOUNTveyaGOOGLE_CHAT_SERVICE_ACCOUNT_FILE. - Teslim hedefleri için
spaces/<spaceId>veyausers/<userId>kullanın. channels.googlechat.dangerouslyAllowNameMatching, değiştirilebilir e-posta principal eşleştirmeyi yeniden etkinleştirir (acil durum uyumluluk modu).
Slack
- Socket mode hem
botTokenhem deappTokengerektirir (varsayılan hesap ortam yedeği içinSLACK_BOT_TOKEN+SLACK_APP_TOKEN). - HTTP mode
botTokenile birliktesigningSecretgerektirir (kökte veya hesap başına). botToken,appToken,signingSecretveuserToken, düz metin dizeleri veya SecretRef nesnelerini kabul eder.- Slack hesap anlık görüntüleri,
botTokenSource,botTokenStatus,appTokenStatusve HTTP modundasigningSecretStatusgibi kimlik bilgisi başına kaynak/durum alanlarını gösterir.configured_unavailable, hesabın SecretRef üzerinden yapılandırıldığını ancak mevcut komut/çalışma zamanı yolunun gizli değeri çözemediğini ifade eder. configWrites: false, Slack tarafından başlatılan yapılandırma yazmalarını engeller.- İsteğe bağlı
channels.slack.defaultAccount, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. channels.slack.streaming.modestandart Slack akış modu anahtarıdır.channels.slack.streaming.nativeTransport, Slack’in yerel akış aktarımını kontrol eder. EskistreamMode, booleanstreamingvenativeStreamingdeğerleri otomatik olarak taşınır.- Teslim hedefleri için
user:<id>(DM) veyachannel:<id>kullanın.
off, own (varsayılan), all, allowlist (reactionAllowlist içinden).
İş parçacığı oturumu yalıtımı: thread.historyScope iş parçacığı başına (varsayılan) veya kanal genelinde paylaşılır. thread.inheritParent, yeni iş parçacıklarına üst kanal dökümünü kopyalar.
- Slack yerel akışı ve Slack yardımcı tarzı “is typing…” iş parçacığı durumu, bir yanıt iş parçacığı hedefi gerektirir. Üst düzey DM’ler varsayılan olarak iş parçacığı dışında kalır, bu nedenle iş parçacığı tarzı önizleme yerine
typingReactionveya normal teslim kullanırlar. typingReaction, bir yanıt çalışırken gelen Slack mesajına geçici bir tepki ekler, ardından tamamlandığında kaldırır."hourglass_flowing_sand"gibi bir Slack emoji kısa kodu kullanın.channels.slack.execApprovals: Slack’e özgü exec onay teslimi ve onaylayıcı yetkilendirmesi. Discord ile aynı şema:enabled(true/false/"auto"),approvers(Slack kullanıcı kimlikleri),agentFilter,sessionFiltervetarget("dm","channel"veya"both").
| Eylem grubu | Varsayılan | Notlar |
|---|---|---|
| reactions | etkin | Tepki ver + tepkileri listele |
| messages | etkin | Oku/gönder/düzenle/sil |
| pins | etkin | Sabitle/sabitlemeyi kaldır/listele |
| memberInfo | etkin | Üye bilgisi |
| emojiList | etkin | Özel emoji listesi |
Mattermost
Mattermost bir eklenti olarak gelir:openclaw plugins install @openclaw/mattermost.
oncall (@-mention ile yanıt ver, varsayılan), onmessage (her mesaj), onchar (tetikleyici önekle başlayan mesajlar).
Mattermost yerel komutları etkinleştirildiğinde:
commands.callbackPathtam URL değil, bir yol olmalıdır (örneğin/api/channels/mattermost/command).commands.callbackUrl, OpenClaw gateway uç noktasına çözümlenmeli ve Mattermost sunucusundan erişilebilir olmalıdır.- Yerel slash callback’leri, slash komut kaydı sırasında Mattermost tarafından döndürülen komut başına tokenlarla doğrulanır. Kayıt başarısız olursa veya hiçbir komut etkinleştirilmezse, OpenClaw callback’leri şu hata ile reddeder:
Unauthorized: invalid command token. - Özel/tailnet/dahili callback ana makineleri için Mattermost,
ServiceSettings.AllowedUntrustedInternalConnectionsayarının callback ana makinesini/alan adını içermesini gerektirebilir. Tam URL değil, ana makine/alan adı değerleri kullanın. channels.mattermost.configWrites: Mattermost tarafından başlatılan yapılandırma yazmalarına izin verin veya engelleyin.channels.mattermost.requireMention: kanallarda yanıt vermeden önce@mentiongerektirir.channels.mattermost.groups.<channelId>.requireMention: kanal başına mention-gating geçersiz kılması (varsayılan için"*").- İsteğe bağlı
channels.mattermost.defaultAccount, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar.
Signal
off, own (varsayılan), all, allowlist (reactionAllowlist içinden).
channels.signal.account: kanal başlangıcını belirli bir Signal hesap kimliğine sabitleyin.channels.signal.configWrites: Signal tarafından başlatılan yapılandırma yazmalarına izin verin veya engelleyin.- İsteğe bağlı
channels.signal.defaultAccount, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar.
BlueBubbles
BlueBubbles, önerilen iMessage yoludur (eklenti desteklidir,channels.bluebubbles altında yapılandırılır).
- Burada kapsanan temel anahtar yolları:
channels.bluebubbles,channels.bluebubbles.dmPolicy. - İsteğe bağlı
channels.bluebubbles.defaultAccount, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. type: "acp"olan üst düzeybindings[]girdileri, BlueBubbles konuşmalarını kalıcı ACP oturumlarına bağlayabilir.match.peer.idiçinde bir BlueBubbles handle veya hedef dizesi (chat_id:*,chat_guid:*,chat_identifier:*) kullanın. Paylaşılan alan anlamları: ACP Agents.- Tam BlueBubbles kanal yapılandırması BlueBubbles içinde belgelenmiştir.
iMessage
OpenClaw,imsg rpc sürecini başlatır (stdio üzerinden JSON-RPC). Daemon veya port gerekmez.
-
İsteğe bağlı
channels.imessage.defaultAccount, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. - Messages veritabanına Full Disk Access gerektirir.
-
chat_id:<id>hedeflerini tercih edin. Sohbetleri listelemek içinimsg chats --limit 20kullanın. -
cliPath, bir SSH sarmalayıcısını işaret edebilir; SCP ek indirmesi içinremoteHost(hostveyauser@host) ayarlayın. -
attachmentRootsveremoteAttachmentRoots, gelen ek yollarını sınırlar (varsayılan:/Users/*/Library/Messages/Attachments). -
SCP katı ana makine anahtarı denetimi kullanır, bu nedenle aktarma ana makinesi anahtarının zaten
~/.ssh/known_hostsiçinde bulunduğundan emin olun. -
channels.imessage.configWrites: iMessage tarafından başlatılan yapılandırma yazmalarına izin verin veya engelleyin. -
type: "acp"olan üst düzeybindings[]girdileri, iMessage konuşmalarını kalıcı ACP oturumlarına bağlayabilir.match.peer.idiçinde normalize edilmiş bir handle veya açık sohbet hedefi (chat_id:*,chat_guid:*,chat_identifier:*) kullanın. Paylaşılan alan anlamları: ACP Agents.
iMessage SSH sarmalayıcı örneği
iMessage SSH sarmalayıcı örneği
Matrix
Matrix uzantı desteklidir vechannels.matrix altında yapılandırılır.
- Token kimlik doğrulaması
accessTokenkullanır; parola kimlik doğrulamasıuserId+passwordkullanır. channels.matrix.proxy, Matrix HTTP trafiğini açık bir HTTP(S) proxy üzerinden yönlendirir. Adlandırılmış hesaplar bunuchannels.matrix.accounts.<id>.proxyile geçersiz kılabilir.channels.matrix.network.dangerouslyAllowPrivateNetwork, özel/dahili homeserver’lara izin verir.proxyile bu ağ etkinleştirme seçeneği birbirinden bağımsız denetimlerdir.channels.matrix.defaultAccount, çok hesaplı kurulumlarda tercih edilen hesabı seçer.channels.matrix.autoJoinvarsayılan olarakoffdurumundadır; bu nedenle davet edilen odalar ve yeni DM tarzı davetler,autoJoin: "allowlist"ileautoJoinAllowlistayarlanana veyaautoJoin: "always"seçilene kadar yok sayılır.channels.matrix.execApprovals: Matrix’e özgü exec onay teslimi ve onaylayıcı yetkilendirmesi.enabled:true,falseveya"auto"(varsayılan). Otomatik modda exec onayları, onaylayıcılarapproversveyacommands.ownerAllowFromüzerinden çözümlenebildiğinde etkinleşir.approvers: exec isteklerini onaylamasına izin verilen Matrix kullanıcı kimlikleri (ör.@owner:example.org).agentFilter: isteğe bağlı ajan kimliği izin listesi. Tüm ajanlar için onayları iletmek üzere atlayın.sessionFilter: isteğe bağlı oturum anahtarı kalıpları (alt dize veya regex).target: onay istemlerinin nereye gönderileceği."dm"(varsayılan),"channel"(kaynak oda) veya"both".- Hesap başına geçersiz kılmalar:
channels.matrix.accounts.<id>.execApprovals.
channels.matrix.dm.sessionScope, Matrix DM’lerinin oturumlar halinde nasıl gruplanacağını kontrol eder:per-user(varsayılan) yönlendirilen eşe göre paylaşır,per-roomise her DM odasını yalıtır.- Matrix durum probları ve canlı dizin aramaları, çalışma zamanı trafiğiyle aynı proxy ilkesini kullanır.
- Tam Matrix yapılandırması, hedefleme kuralları ve kurulum örnekleri Matrix içinde belgelenmiştir.
Microsoft Teams
Microsoft Teams uzantı desteklidir vechannels.msteams altında yapılandırılır.
- Burada kapsanan temel anahtar yolları:
channels.msteams,channels.msteams.configWrites. - Tam Teams yapılandırması (kimlik bilgileri, webhook, DM/grup ilkesi, takım/kanal başına geçersiz kılmalar) Microsoft Teams içinde belgelenmiştir.
IRC
IRC uzantı desteklidir vechannels.irc altında yapılandırılır.
- Burada kapsanan temel anahtar yolları:
channels.irc,channels.irc.dmPolicy,channels.irc.configWrites,channels.irc.nickserv.*. - İsteğe bağlı
channels.irc.defaultAccount, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. - Tam IRC kanal yapılandırması (host/port/TLS/kanallar/izin listeleri/mention gating) IRC içinde belgelenmiştir.
Çok hesaplı kullanım (tüm kanallar)
Kanal başına birden fazla hesap çalıştırın (her biri kendiaccountId değerine sahip olur):
accountIdatlandığındadefaultkullanılır (CLI + yönlendirme).- Ortam tokenları yalnızca default hesap için geçerlidir.
- Temel kanal ayarları, hesap başına geçersiz kılınmadıkça tüm hesaplara uygulanır.
- Her hesabı farklı bir ajana yönlendirmek için
bindings[].match.accountIdkullanın. openclaw channels add(veya kanal onboarding) ile varsayılan olmayan bir hesap eklediğinizde ve hâlâ tek hesaplı üst düzey kanal yapılandırmasındaysanız, OpenClaw önce hesap kapsamlı üst düzey tek hesap değerlerini kanal hesap eşlemesine taşır, böylece özgün hesap çalışmaya devam eder. Çoğu kanal bunlarıchannels.<channel>.accounts.defaultiçine taşır; Matrix bunun yerine mevcut eşleşen adlandırılmış/default hedefi koruyabilir.- Mevcut yalnızca kanala ait bağlar (
accountIdolmadan) varsayılan hesapla eşleşmeye devam eder; hesap kapsamlı bağlar isteğe bağlı olmaya devam eder. openclaw doctor --fix, hesap kapsamlı üst düzey tek hesap değerlerini o kanal için seçilen yükseltilmiş hesaba taşıyarak karışık şekilleri de onarır. Çoğu kanalaccounts.defaultkullanır; Matrix bunun yerine mevcut eşleşen adlandırılmış/default hedefi koruyabilir.
Diğer uzantı kanalları
Birçok uzantı kanalıchannels.<id> olarak yapılandırılır ve özel kanal sayfalarında belgelenir (örneğin Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat ve Twitch).
Tam kanal dizini için bkz.: Kanallar.
Grup sohbetinde mention gating
Grup mesajlarında varsayılan olarak mention gerekir (meta veri mention’ı veya güvenli regex kalıpları). WhatsApp, Telegram, Discord, Google Chat ve iMessage grup sohbetlerine uygulanır. Mention türleri:- Meta veri mention’ları: Yerel platform @-mention’ları. WhatsApp self-chat modunda yok sayılır.
- Metin kalıpları:
agents.list[].groupChat.mentionPatternsiçindeki güvenli regex kalıpları. Geçersiz kalıplar ve güvensiz iç içe tekrarlar yok sayılır. - Mention gating yalnızca algılama mümkün olduğunda uygulanır (yerel mention’lar veya en az bir kalıp).
messages.groupChat.historyLimit, genel varsayılanı ayarlar. Kanallar bunu channels.<channel>.historyLimit ile geçersiz kılabilir (veya hesap başına). Devre dışı bırakmak için 0 ayarlayın.
DM geçmiş sınırları
telegram, whatsapp, discord, slack, signal, imessage, msteams.
Self-chat modu
Self-chat modunu etkinleştirmek için kendi numaranızıallowFrom içine ekleyin (yerel @-mention’ları yok sayar, yalnızca metin kalıplarına yanıt verir):
Komutlar (sohbet komutu işleme)
Komut ayrıntıları
Komut ayrıntıları
- Bu blok komut yüzeylerini yapılandırır. Geçerli yerleşik + paketlenmiş komut kataloğu için bkz. Slash Commands.
- Bu sayfa yapılandırma anahtarı başvurusudur, tam komut kataloğu değildir. QQ Bot
/bot-ping/bot-help/bot-logs, LINE/card, device-pair/pair, memory/dreaming, phone-control/phoneve Talk/voicegibi kanala/eklentiye ait komutlar, kendi kanal/eklenti sayfalarında ve Slash Commands içinde belgelenmiştir. - Metin komutları, başında
/bulunan bağımsız mesajlar olmalıdır. native: "auto", Discord/Telegram için yerel komutları açar, Slack’i kapalı bırakır.nativeSkills: "auto", Discord/Telegram için yerel Skills komutlarını açar, Slack’i kapalı bırakır.- Kanal başına geçersiz kılma:
channels.discord.commands.native(bool veya"auto").false, daha önce kaydedilmiş komutları temizler. - Yerel skill kaydını kanal başına
channels.<provider>.commands.nativeSkillsile geçersiz kılın. channels.telegram.customCommands, Telegram bot menüsüne ek girdiler ekler.bash: true, ana makine kabuğu için! <cmd>kullanımını etkinleştirir.tools.elevated.enabledgerekir ve gönderenintools.elevated.allowFrom.<channel>içinde olması gerekir.config: true,/configkomutunu etkinleştirir (openclaw.jsonokur/yazar). Gatewaychat.sendistemcileri için kalıcı/config set|unsetyazmaları ayrıcaoperator.admingerektirir; salt okunur/config show, normal yazma kapsamlı operatör istemcilerine sunulmaya devam eder.mcp: true,mcp.serversaltındaki OpenClaw tarafından yönetilen MCP sunucu yapılandırması için/mcpkomutunu etkinleştirir.plugins: true, eklenti keşfi, kurulum ve etkinleştirme/devre dışı bırakma denetimleri için/pluginskomutunu etkinleştirir.channels.<provider>.configWrites, kanal başına yapılandırma değişikliklerini denetler (varsayılan: true).- Çok hesaplı kanallarda
channels.<provider>.accounts.<id>.configWrites, o hesabı hedefleyen yazmaları da denetler (örneğin/allowlist --config --account <id>veya/config set channels.<provider>.accounts.<id>...). restart: false,/restartve gateway yeniden başlatma aracı eylemlerini devre dışı bırakır. Varsayılan:true.ownerAllowFrom, yalnızca sahip için olan komutlar/araçlar için açık sahip izin listesidir.allowFromdeğerinden ayrıdır.ownerDisplay: "hash", sistem isteminde sahip kimliklerini hash’ler. Hash’lemeyi denetlemek içinownerDisplaySecretayarlayın.allowFrom, sağlayıcı başınadır. Ayarlandığında tek yetkilendirme kaynağıdır (kanal izin listeleri/eşleştirme veuseAccessGroupsyok sayılır).useAccessGroups: false,allowFromayarlanmamışsa komutların erişim grubu ilkelerini atlamasına izin verir.- Komut belge eşlemesi:
- yerleşik + paketlenmiş katalog: Slash Commands
- kanala özgü komut yüzeyleri: Kanallar
- QQ Bot komutları: QQ Bot
- eşleştirme komutları: Eşleştirme
- LINE kart komutu: LINE
- memory dreaming: Dreaming
Ajan varsayılanları
agents.defaults.workspace
Varsayılan: ~/.openclaw/workspace.
agents.defaults.repoRoot
Sistem isteminin Runtime satırında gösterilen isteğe bağlı depo kökü. Ayarlanmamışsa OpenClaw, çalışma alanından yukarı doğru yürüyerek otomatik algılar.
agents.defaults.skills
agents.list[].skills ayarlamayan ajanlar için isteğe bağlı varsayılan skill izin listesi.
- Varsayılan olarak sınırsız skill için
agents.defaults.skillsalanını atlayın. - Varsayılanları devralmak için
agents.list[].skillsalanını atlayın. - Skill olmaması için
agents.list[].skills: []ayarlayın. - Boş olmayan bir
agents.list[].skillslistesi, o ajan için son kümedir; varsayılanlarla birleştirilmez.
agents.defaults.skipBootstrap
Çalışma alanı bootstrap dosyalarının (AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md) otomatik oluşturulmasını devre dışı bırakır.
agents.defaults.contextInjection
Çalışma alanı bootstrap dosyalarının sistem istemine ne zaman enjekte edileceğini denetler. Varsayılan: "always".
"continuation-skip": güvenli devam turlarında (tamamlanmış bir asistan yanıtından sonra) çalışma alanı bootstrap yeniden enjeksiyonu atlanır ve istem boyutu azaltılır. Heartbeat çalıştırmaları ve sıkıştırma sonrası yeniden denemeler yine bağlamı yeniden oluşturur.
agents.defaults.bootstrapMaxChars
Kesmeden önce çalışma alanı bootstrap dosyası başına azami karakter sayısı. Varsayılan: 20000.
agents.defaults.bootstrapTotalMaxChars
Tüm çalışma alanı bootstrap dosyalarına enjekte edilen toplam azami karakter sayısı. Varsayılan: 150000.
agents.defaults.bootstrapPromptTruncationWarning
Bootstrap bağlamı kesildiğinde ajan tarafından görülebilen uyarı metnini denetler.
Varsayılan: "once".
"off": sistem istemine hiçbir zaman uyarı metni enjekte etmez."once": her benzersiz kesilme imzası için bir kez uyarı enjekte eder (önerilir)."always": kesilme olduğunda her çalıştırmada uyarı enjekte eder.
agents.defaults.imageMaxDimensionPx
Sağlayıcı çağrılarından önce transcript/araç görsel bloklarında görselin en uzun kenarı için azami piksel boyutu.
Varsayılan: 1200.
Daha düşük değerler genellikle ekran görüntüsü ağırlıklı çalıştırmalarda vision token kullanımını ve istek yükü boyutunu azaltır.
Daha yüksek değerler daha fazla görsel ayrıntıyı korur.
agents.defaults.userTimezone
Sistem istemi bağlamı için saat dilimi (mesaj zaman damgaları için değil). Ana makine saat dilimine geri döner.
agents.defaults.timeFormat
Sistem istemindeki saat biçimi. Varsayılan: auto (işletim sistemi tercihi).
agents.defaults.model
model: bir dizeyi ("provider/model") veya bir nesneyi ({ primary, fallbacks }) kabul eder.- Dize biçimi yalnızca birincil modeli ayarlar.
- Nesne biçimi birincil modeli ve sıralı failover modellerini ayarlar.
imageModel: bir dizeyi ("provider/model") veya bir nesneyi ({ primary, fallbacks }) kabul eder.imagearaç yolunda, vision model yapılandırması olarak kullanılır.- Ayrıca seçilen/varsayılan model görsel girdiyi kabul edemediğinde yedek yönlendirme için de kullanılır.
imageGenerationModel: bir dizeyi ("provider/model") veya bir nesneyi ({ primary, fallbacks }) kabul eder.- Paylaşılan görsel üretim yeteneği ve görsel üreten gelecekteki tüm araç/eklenti yüzeyleri tarafından kullanılır.
- Tipik değerler: yerel Gemini görsel üretimi için
google/gemini-3.1-flash-image-preview, fal içinfal/fal-ai/flux/devveya OpenAI Images içinopenai/gpt-image-1. - Bir sağlayıcı/modeli doğrudan seçerseniz, eşleşen sağlayıcı auth/API anahtarını da yapılandırın (örneğin
google/*içinGEMINI_API_KEYveyaGOOGLE_API_KEY,openai/*içinOPENAI_API_KEY,fal/*içinFAL_KEY). - Atlanırsa
image_generateyine de auth destekli bir sağlayıcı varsayılanını çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından kalan kayıtlı görsel üretim sağlayıcılarını sağlayıcı kimliği sırasıyla dener.
musicGenerationModel: bir dizeyi ("provider/model") veya bir nesneyi ({ primary, fallbacks }) kabul eder.- Paylaşılan müzik üretim yeteneği ve yerleşik
music_generatearacı tarafından kullanılır. - Tipik değerler:
google/lyria-3-clip-preview,google/lyria-3-pro-previewveyaminimax/music-2.5+. - Atlanırsa
music_generateyine de auth destekli bir sağlayıcı varsayılanını çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından kalan kayıtlı müzik üretim sağlayıcılarını sağlayıcı kimliği sırasıyla dener. - Bir sağlayıcı/modeli doğrudan seçerseniz, eşleşen sağlayıcı auth/API anahtarını da yapılandırın.
- Paylaşılan müzik üretim yeteneği ve yerleşik
videoGenerationModel: bir dizeyi ("provider/model") veya bir nesneyi ({ primary, fallbacks }) kabul eder.- Paylaşılan video üretim yeteneği ve yerleşik
video_generatearacı tarafından kullanılır. - Tipik değerler:
qwen/wan2.6-t2v,qwen/wan2.6-i2v,qwen/wan2.6-r2v,qwen/wan2.6-r2v-flashveyaqwen/wan2.7-r2v. - Atlanırsa
video_generateyine de auth destekli bir sağlayıcı varsayılanını çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından kalan kayıtlı video üretim sağlayıcılarını sağlayıcı kimliği sırasıyla dener. - Bir sağlayıcı/modeli doğrudan seçerseniz, eşleşen sağlayıcı auth/API anahtarını da yapılandırın.
- Paketlenmiş Qwen video üretim sağlayıcısı en fazla 1 çıktı videosu, 1 girdi görseli, 4 girdi videosu, 10 saniye süre ve sağlayıcı düzeyinde
size,aspectRatio,resolution,audiovewatermarkseçeneklerini destekler.
- Paylaşılan video üretim yeteneği ve yerleşik
pdfModel: bir dizeyi ("provider/model") veya bir nesneyi ({ primary, fallbacks }) kabul eder.pdfaracı tarafından model yönlendirmesi için kullanılır.- Atlanırsa PDF aracı önce
imageModeldeğerine, ardından çözümlenen oturum/varsayılan modele geri döner.
pdfMaxBytesMb: çağrı zamanındamaxBytesMbgeçirilmediğindepdfaracı için varsayılan PDF boyut sınırı.pdfMaxPages:pdfaracında çıkarım yedek modunun dikkate aldığı varsayılan azami sayfa sayısı.verboseDefault: ajanlar için varsayılan verbose düzeyi. Değerler:"off","on","full". Varsayılan:"off".elevatedDefault: ajanlar için varsayılan elevated-output düzeyi. Değerler:"off","on","ask","full". Varsayılan:"on".model.primary:provider/modelbiçimi (ör.openai/gpt-5.4). Sağlayıcıyı atlarsanız OpenClaw önce bir takma adı, sonra bu tam model kimliği için benzersiz yapılandırılmış sağlayıcı eşleşmesini dener ve ancak bundan sonra yapılandırılmış varsayılan sağlayıcıya geri döner (eski uyumluluk davranışı, bu yüzden açıkprovider/modeltercih edin). Bu sağlayıcı artık yapılandırılmış varsayılan modeli sunmuyorsa, OpenClaw eski ve kaldırılmış bir sağlayıcı varsayılanını göstermeye devam etmek yerine ilk yapılandırılmış sağlayıcı/modele geri döner.models:/modeliçin yapılandırılmış model kataloğu ve izin listesi. Her girdialias(kısayol) veparams(sağlayıcıya özgü; örneğintemperature,maxTokens,cacheRetention,context1m) içerebilir.params: tüm modellere uygulanan genel varsayılan sağlayıcı parametreleri.agents.defaults.paramsaltında ayarlanır (ör.{ cacheRetention: "long" }).paramsbirleştirme önceliği (yapılandırma):agents.defaults.params(genel taban),agents.defaults.models["provider/model"].params(model başına) tarafından geçersiz kılınır, ardındanagents.list[].params(eşleşen ajan kimliği) anahtar bazında geçersiz kılar. Ayrıntılar için bkz. Prompt Caching.embeddedHarness: varsayılan alt düzey gömülü ajan çalışma zamanı ilkesi. Kayıtlı eklenti harness’lerinin desteklenen modelleri sahiplenmesine izin vermek içinruntime: "auto", yerleşik PI harness’ini zorlamak içinruntime: "pi"veyaruntime: "codex"gibi kayıtlı bir harness kimliği kullanın. Otomatik PI yedeğini devre dışı bırakmak içinfallback: "none"ayarlayın.- Bu alanları değiştiren yapılandırma yazarları (örneğin
/models set,/models set-imageve fallback ekle/kaldır komutları), standart nesne biçimini kaydeder ve mümkün olduğunda mevcut fallback listelerini korur. maxConcurrent: oturumlar genelinde azami paralel ajan çalıştırması (her oturum yine de serileştirilir). Varsayılan: 4.
agents.defaults.embeddedHarness
embeddedHarness, gömülü ajan turlarını hangi alt düzey yürütücünün çalıştıracağını denetler.
Çoğu dağıtım varsayılan { runtime: "auto", fallback: "pi" } değerini korumalıdır.
Paketlenmiş Codex app-server harness’i gibi güvenilir bir eklenti yerel bir harness sağladığında bunu kullanın.
runtime:"auto","pi"veya kayıtlı bir eklenti harness kimliği. Paketlenmiş Codex eklentisicodexdeğerini kaydeder.fallback:"pi"veya"none"."pi", yerleşik PI harness’ini uyumluluk yedeği olarak korur."none", eksik veya desteklenmeyen eklenti harness seçiminin PI’yi sessizce kullanmak yerine başarısız olmasını sağlar.- Ortam geçersiz kılmaları:
OPENCLAW_AGENT_RUNTIME=<id|auto|pi>,runtimedeğerini geçersiz kılar;OPENCLAW_AGENT_HARNESS_FALLBACK=none, o süreç için PI yedeğini devre dışı bırakır. - Yalnızca Codex dağıtımları için
model: "codex/gpt-5.4",embeddedHarness.runtime: "codex"veembeddedHarness.fallback: "none"ayarlayın. - Bu yalnızca gömülü sohbet harness’ini denetler. Medya üretimi, vision, PDF, müzik, video ve TTS yine kendi sağlayıcı/model ayarlarını kullanır.
agents.defaults.models içinde olduğunda uygulanır):
| Takma ad | Model |
|---|---|
opus | anthropic/claude-opus-4-6 |
sonnet | anthropic/claude-sonnet-4-6 |
gpt | openai/gpt-5.4 |
gpt-mini | openai/gpt-5.4-mini |
gpt-nano | openai/gpt-5.4-nano |
gemini | google/gemini-3.1-pro-preview |
gemini-flash | google/gemini-3-flash-preview |
gemini-flash-lite | google/gemini-3.1-flash-lite-preview |
--thinking off ayarlamazsanız veya agents.defaults.models["zai/<model>"].params.thinking değerini kendiniz tanımlamazsanız otomatik olarak thinking modunu etkinleştirir.
Z.AI modelleri, araç çağrısı akışı için varsayılan olarak tool_stream etkinleştirir. Devre dışı bırakmak için agents.defaults.models["zai/<model>"].params.tool_stream değerini false yapın.
Anthropic Claude 4.6 modelleri, açık bir thinking düzeyi ayarlanmadığında varsayılan olarak adaptive thinking kullanır.
agents.defaults.cliBackends
Salt metin yedek çalıştırmaları için isteğe bağlı CLI arka uçlarıdır (araç çağrısı yok). API sağlayıcıları başarısız olduğunda yedek olarak kullanışlıdır.
- CLI arka uçları öncelikle metin içindir; araçlar her zaman devre dışıdır.
sessionArgayarlandığında oturumlar desteklenir.imageArgdosya yollarını kabul ettiğinde görsel geçişi desteklenir.
agents.defaults.systemPromptOverride
OpenClaw tarafından oluşturulan sistem isteminin tamamını sabit bir dizeyle değiştirin. Varsayılan düzeyde (agents.defaults.systemPromptOverride) veya ajan başına (agents.list[].systemPromptOverride) ayarlanır. Ajan başına değerler önceliklidir; boş veya yalnızca boşluk içeren değer yok sayılır. Kontrollü istem deneyleri için kullanışlıdır.
agents.defaults.heartbeat
Periyodik heartbeat çalıştırmaları.
every: süre dizesi (ms/s/m/h). Varsayılan:30m(API anahtarı auth) veya1h(OAuth auth). Devre dışı bırakmak için0mayarlayın.includeSystemPromptSection: false olduğunda, sistem isteminden Heartbeat bölümünü çıkarır veHEARTBEAT.mdenjeksiyonunu bootstrap bağlamına atlar. Varsayılan:true.suppressToolErrorWarnings: true olduğunda heartbeat çalıştırmaları sırasında araç hata uyarısı yüklerini bastırır.timeoutSeconds: iptal edilmeden önce bir heartbeat ajan turu için izin verilen azami süre (saniye). Ayarlamazsanızagents.defaults.timeoutSecondskullanılır.directPolicy: doğrudan/DM teslim ilkesi.allow(varsayılan) doğrudan hedef teslimine izin verir.block, doğrudan hedef teslimini bastırır vereason=dm-blockedüretir.lightContext: true olduğunda heartbeat çalıştırmaları hafif bootstrap bağlamı kullanır ve çalışma alanı bootstrap dosyalarından yalnızcaHEARTBEAT.mddosyasını tutar.isolatedSession: true olduğunda her heartbeat, önceki konuşma geçmişi olmayan yeni bir oturumda çalışır. CronsessionTarget: "isolated"ile aynı yalıtım düzeni. Heartbeat başına token maliyetini yaklaşık 100K’den yaklaşık 2-5K token’a düşürür.- Ajan başına:
agents.list[].heartbeatayarlayın. Herhangi bir ajanheartbeattanımlarsa heartbeat yalnızca o ajanlar için çalışır. - Heartbeat’ler tam ajan turları çalıştırır — daha kısa aralıklar daha fazla token harcar.
agents.defaults.compaction
mode:defaultveyasafeguard(uzun geçmişler için parçalı özetleme). Bkz. Compaction.provider: kayıtlı bir compaction sağlayıcı eklentisinin kimliği. Ayarlandığında, yerleşik LLM özetlemesi yerine sağlayıcınınsummarize()yöntemi çağrılır. Başarısızlıkta yerleşik davranışa geri döner. Bir sağlayıcı ayarlamakmode: "safeguard"değerini zorunlu kılar. Bkz. Compaction.timeoutSeconds: OpenClaw’un iptal etmeden önce tek bir compaction işlemi için izin verdiği azami saniye sayısı. Varsayılan:900.identifierPolicy:strict(varsayılan),offveyacustom.strict, compaction özetlemesi sırasında yerleşik opak tanımlayıcı koruma yönergelerini başa ekler.identifierInstructions:identifierPolicy=customolduğunda kullanılan isteğe bağlı özel tanımlayıcı koruma metni.postCompactionSections: compaction sonrasında yeniden enjekte edilecek isteğe bağlı AGENTS.md H2/H3 bölüm adları. Varsayılan olarak["Session Startup", "Red Lines"]; yeniden enjeksiyonu devre dışı bırakmak için[]ayarlayın. Ayarlanmamışsa veya açıkça bu varsayılan çift olarak ayarlanmışsa, eskiEvery Session/Safetybaşlıkları da eski uyumluluk için yedek olarak kabul edilir.model: yalnızca compaction özetlemesi için isteğe bağlıprovider/model-idgeçersiz kılması. Ana oturum bir modeli kullanmaya devam ederken compaction özetleri başka bir modelde çalışsın istiyorsanız bunu kullanın; ayarlanmadığında compaction oturumun birincil modelini kullanır.notifyUser:trueolduğunda, compaction başladığında kullanıcıya kısa bir bildirim gönderir (örneğin, “Compacting context…”). Compaction’ın sessiz kalması için varsayılan olarak devre dışıdır.memoryFlush: dayanıklı anıları saklamak için otomatik compaction öncesinde sessiz ajan turu. Çalışma alanı salt okunursa atlanır.
agents.defaults.contextPruning
LLM’e göndermeden önce bellek içi bağlamdan eski araç sonuçlarını budar. Diskteki oturum geçmişini değiştirmez.
cache-ttl modu davranışı
cache-ttl modu davranışı
mode: "cache-ttl"budama geçişlerini etkinleştirir.ttl, budamanın ne sıklıkla yeniden çalışabileceğini denetler (son önbellek dokunuşundan sonra).- Budama, önce aşırı büyük araç sonuçlarını yumuşak şekilde kırpar, sonra gerekirse daha eski araç sonuçlarını tamamen temizler.
... ekler.Hard-clear, tüm araç sonucunu yer tutucuyla değiştirir.Notlar:- Görsel blokları asla kırpılmaz/temizlenmez.
- Oranlar tam token sayıları değil, karakter tabanlıdır (yaklaşık).
keepLastAssistantsdeğerinden daha az asistan mesajı varsa budama atlanır.
Blok akışı
- Telegram dışındaki kanallarda blok yanıtlarını etkinleştirmek için açık
*.blockStreaming: truegerekir. - Kanal geçersiz kılmaları:
channels.<channel>.blockStreamingCoalesce(ve hesap başına varyantları). Signal/Slack/Discord/Google Chat varsayılanıminChars: 1500kullanır. humanDelay: blok yanıtları arasında rastgele duraklama.natural= 800–2500 ms. Ajan başına geçersiz kılma:agents.list[].humanDelay.
Yazıyor göstergeleri
- Varsayılanlar: doğrudan sohbetler/mention’lar için
instant, mention içermeyen grup sohbetleri içinmessage. - Oturum başına geçersiz kılmalar:
session.typingMode,session.typingIntervalSeconds.
agents.defaults.sandbox
Gömülü ajan için isteğe bağlı sandbox kullanımı. Tam kılavuz için bkz. Sandboxing.
Sandbox ayrıntıları
Sandbox ayrıntıları
Arka uç:OpenShell modu:
docker: yerel Docker çalışma zamanı (varsayılan)ssh: genel SSH destekli uzak çalışma zamanıopenshell: OpenShell çalışma zamanı
backend: "openshell" seçildiğinde, çalışma zamanına özgü ayarlar
plugins.entries.openshell.config altına taşınır.SSH arka uç yapılandırması:target:user@host[:port]biçiminde SSH hedeficommand: SSH istemci komutu (varsayılan:ssh)workspaceRoot: kapsam başına çalışma alanları için kullanılan mutlak uzak kökidentityFile/certificateFile/knownHostsFile: OpenSSH’ye geçirilen mevcut yerel dosyalaridentityData/certificateData/knownHostsData: çalışma zamanında OpenClaw’un geçici dosyalara dönüştürdüğü satır içi içerikler veya SecretRef’lerstrictHostKeyChecking/updateHostKeys: OpenSSH ana makine anahtarı ilkesi ayarları
identityData,identityFiledeğerini geçersiz kılarcertificateData,certificateFiledeğerini geçersiz kılarknownHostsData,knownHostsFiledeğerini geçersiz kılar- SecretRef destekli
*Datadeğerleri, sandbox oturumu başlamadan önce etkin gizli bilgiler çalışma zamanı anlık görüntüsünden çözülür
- oluşturma veya yeniden oluşturma sonrasında uzak çalışma alanını bir kez tohumlar
- ardından uzak SSH çalışma alanını standart kaynak olarak tutar
exec, dosya araçları ve medya yollarını SSH üzerinden yönlendirir- uzak değişiklikleri otomatik olarak ana makineye geri eşitlemez
- sandbox tarayıcı kapsayıcılarını desteklemez
none:~/.openclaw/sandboxesaltında kapsam başına sandbox çalışma alanıro:/workspacekonumunda sandbox çalışma alanı,/agentkonumunda salt okunur bağlanmış ajan çalışma alanırw: ajan çalışma alanı/workspacekonumuna okuma/yazma olarak bağlanır
session: oturum başına kapsayıcı + çalışma alanıagent: ajan başına bir kapsayıcı + çalışma alanı (varsayılan)shared: paylaşılan kapsayıcı ve çalışma alanı (oturumlar arası yalıtım yok)
mirror:execöncesinde uzağı yerelden tohumlar,execsonrasında geri eşitler; yerel çalışma alanı standart kaynak olarak kalırremote: sandbox oluşturulduğunda uzağı bir kez tohumlar, ardından uzak çalışma alanını standart kaynak olarak tutar
remote modunda, OpenClaw dışında ana makinede yapılan yerel düzenlemeler tohumlama adımından sonra otomatik olarak sandbox’a eşitlenmez.
Taşıma katmanı OpenShell sandbox’ına SSH’dir, ancak sandbox yaşam döngüsüne ve isteğe bağlı mirror eşitlemeye eklenti sahip olur.setupCommand, kapsayıcı oluşturulduktan sonra bir kez çalışır (sh -lc ile). Ağ çıkışı, yazılabilir kök ve root kullanıcı gerekir.Kapsayıcılar varsayılan olarak network: "none" kullanır — ajanın dış erişime ihtiyacı varsa "bridge" (veya özel bir bridge ağı) olarak ayarlayın.
"host" engellenir. "container:<id>" varsayılan olarak engellenir; ancak açıkça
sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true ayarlarsanız izin verilir (acil durum).Gelen ekler, etkin çalışma alanındaki media/inbound/* içine hazırlanır.docker.binds, ek ana makine dizinlerini bağlar; genel ve ajan başına bağlar birleştirilir.Sandbox tarayıcısı (sandbox.browser.enabled): kapsayıcı içinde Chromium + CDP. noVNC URL’si sistem istemine enjekte edilir. openclaw.json içinde browser.enabled gerektirmez.
noVNC gözlemci erişimi varsayılan olarak VNC kimlik doğrulamasını kullanır ve OpenClaw, paylaşılan URL içinde parolayı açığa çıkarmak yerine kısa ömürlü bir token URL’si üretir.allowHostControl: false(varsayılan), sandbox’lı oturumların ana makine tarayıcısını hedeflemesini engeller.networkvarsayılan olarakopenclaw-sandbox-browserkullanır (özel bridge ağı). Yalnızca açıkça genel bridge bağlantısı istediğinizdebridgeolarak ayarlayın.cdpSourceRange, kapsayıcı kenarında CDP girişini isteğe bağlı olarak bir CIDR aralığıyla sınırlar (örneğin172.21.0.1/32).sandbox.browser.binds, ek ana makine dizinlerini yalnızca sandbox tarayıcı kapsayıcısına bağlar. Ayarlandığında ([]dahil), tarayıcı kapsayıcısı içindocker.bindsdeğerinin yerini alır.- Başlatma varsayılanları
scripts/sandbox-browser-entrypoint.shiçinde tanımlanır ve kapsayıcı ana makineleri için ayarlanmıştır:--remote-debugging-address=127.0.0.1--remote-debugging-port=<derived from OPENCLAW_BROWSER_CDP_PORT>--user-data-dir=${HOME}/.chrome--no-first-run--no-default-browser-check--disable-3d-apis--disable-gpu--disable-software-rasterizer--disable-dev-shm-usage--disable-background-networking--disable-features=TranslateUI--disable-breakpad--disable-crash-reporter--renderer-process-limit=2--no-zygote--metrics-recording-only--disable-extensions(varsayılan olarak etkin)--disable-3d-apis,--disable-software-rasterizerve--disable-gpuvarsayılan olarak etkindir ve WebGL/3D kullanımı bunu gerektiriyorsaOPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0ile devre dışı bırakılabilir.OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0, iş akışınız bunlara bağlıysa uzantıları yeniden etkinleştirir.--renderer-process-limit=2,OPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>ile değiştirilebilir; Chromium’un varsayılan süreç sınırını kullanmak için0ayarlayın.- ayrıca
noSandboxetkinse--no-sandboxve--disable-setuid-sandbox. - Varsayılanlar kapsayıcı görselinin temel ayarlarıdır; kapsayıcı varsayılanlarını değiştirmek için özel bir entrypoint içeren özel bir tarayıcı görseli kullanın.
sandbox.docker.binds yalnızca Docker içindir.
İmajları oluşturun:
agents.list (ajan başına geçersiz kılmalar)
id: sabit ajan kimliği (zorunlu).default: birden fazla ayarlanırsa ilki kazanır (uyarı günlüğe kaydedilir). Hiçbiri ayarlanmazsa listedeki ilk giriş varsayılan olur.model: dize biçimi yalnızcaprimarydeğerini geçersiz kılar; nesne biçimi{ primary, fallbacks }her ikisini de geçersiz kılar ([], genel fallback’leri devre dışı bırakır). Yalnızcaprimarydeğerini geçersiz kılan cron işleri, sizfallbacks: []ayarlamadığınız sürece varsayılan fallback’leri yine de devralır.params:agents.defaults.modelsiçindeki seçili model girdisinin üzerine birleştirilen ajan başına akış parametreleri. Tüm model kataloğunu çoğaltmadancacheRetention,temperatureveyamaxTokensgibi ajana özgü geçersiz kılmalar için bunu kullanın.skills: isteğe bağlı ajan başına skill izin listesi. Atlanırsa ajan, ayarlıysaagents.defaults.skillsdeğerini devralır; açık bir liste varsayılanlarla birleşmek yerine onların yerini alır ve[]skill olmadığı anlamına gelir.thinkingDefault: isteğe bağlı ajan başına varsayılan thinking düzeyi (off | minimal | low | medium | high | xhigh | adaptive). Mesaj başına veya oturum düzeyinde bir geçersiz kılma ayarlanmadığında bu ajan içinagents.defaults.thinkingDefaultdeğerini geçersiz kılar.reasoningDefault: isteğe bağlı ajan başına varsayılan reasoning görünürlüğü (on | off | stream). Mesaj başına veya oturum düzeyinde bir reasoning geçersiz kılması ayarlanmadığında uygulanır.fastModeDefault: isteğe bağlı ajan başına fast mode varsayılanı (true | false). Mesaj başına veya oturum düzeyinde bir fast-mode geçersiz kılması ayarlanmadığında uygulanır.embeddedHarness: isteğe bağlı ajan başına alt düzey harness ilkesi geçersiz kılması. Bir ajanı yalnızca Codex yaparken diğer ajanların varsayılan PI fallback’ini koruması için{ runtime: "codex", fallback: "none" }kullanın.runtime: isteğe bağlı ajan başına çalışma zamanı tanımlayıcısı. Ajanın varsayılan olarak ACP harness oturumları kullanması gerekiyorsaruntime.acpvarsayılanlarıyla (agent,backend,mode,cwd) birliktetype: "acp"kullanın.identity.avatar: çalışma alanına göreli yol,http(s)URL’si veyadata:URI’si.identity, varsayılanları türetir:ackReactiondeğeriniemojiüzerinden,mentionPatternsdeğerininame/emojiüzerinden.subagents.allowAgents:sessions_spawniçin ajan kimliği izin listesi (["*"]= herhangi biri; varsayılan: yalnızca aynı ajan).- Sandbox devralma koruması: istekte bulunan oturum sandbox’lıysa
sessions_spawn, sandbox olmadan çalışacak hedefleri reddeder. subagents.requireAgentId: true olduğundaagentIdatlayansessions_spawnçağrılarını engeller (açık profil seçimini zorunlu kılar; varsayılan: false).
Çoklu ajan yönlendirmesi
Tek bir Gateway içinde birden fazla yalıtılmış ajan çalıştırın. Bkz. Multi-Agent.Bağlama eşleşme alanları
type(isteğe bağlı): normal yönlendirme içinroute(tip eksikse varsayılanrouteolur), kalıcı ACP konuşma bağları içinacp.match.channel(zorunlu)match.accountId(isteğe bağlı;*= herhangi bir hesap; atlanırsa = varsayılan hesap)match.peer(isteğe bağlı;{ kind: direct|group|channel, id })match.guildId/match.teamId(isteğe bağlı; kanala özgü)acp(isteğe bağlı; yalnızcatype: "acp"için):{ mode, label, cwd, backend }
match.peermatch.guildIdmatch.teamIdmatch.accountId(tam eşleşme, peer/guild/team olmadan)match.accountId: "*"(kanal genelinde)- Varsayılan ajan
bindings girdisi kazanır.
type: "acp" girdileri için OpenClaw, tam konuşma kimliğine göre çözümler (match.channel + hesap + match.peer.id) ve yukarıdaki route bağlama katman sırasını kullanmaz.
Ajan başına erişim profilleri
Tam erişim (sandbox yok)
Tam erişim (sandbox yok)
Salt okunur araçlar + çalışma alanı
Salt okunur araçlar + çalışma alanı
Dosya sistemi erişimi yok (yalnızca mesajlaşma)
Dosya sistemi erişimi yok (yalnızca mesajlaşma)
Oturum
Oturum alanı ayrıntıları
Oturum alanı ayrıntıları
scope: grup sohbeti bağlamları için temel oturum gruplama stratejisi.per-sender(varsayılan): her gönderen, bir kanal bağlamı içinde yalıtılmış bir oturum alır.global: bir kanal bağlamındaki tüm katılımcılar tek bir oturumu paylaşır (yalnızca paylaşılan bağlam amaçlandığında kullanın).
dmScope: DM’lerin nasıl gruplandığı.main: tüm DM’ler ana oturumu paylaşır.per-peer: kanallar arasında gönderen kimliğine göre yalıtır.per-channel-peer: kanal + gönderen başına yalıtır (çok kullanıcılı gelen kutuları için önerilir).per-account-channel-peer: hesap + kanal + gönderen başına yalıtır (çok hesaplı kullanım için önerilir).
identityLinks: kanallar arası oturum paylaşımı için standart kimlikleri sağlayıcı önekli eşlere eşler.reset: birincil sıfırlama ilkesi.daily, yerel saatteatHourzamanında sıfırlar;idle,idleMinutessonrasında sıfırlar. Her ikisi de yapılandırılmışsa önce süresi dolan kazanır.resetByType: türe göre geçersiz kılmalar (direct,group,thread). Eskidm,directiçin takma ad olarak kabul edilir.parentForkMaxTokens: çatallı bir iş parçacığı oturumu oluştururken izin verilen azami üst oturumtotalTokensdeğeri (varsayılan100000).- Üst
totalTokensbu değerin üzerindeyse OpenClaw, üst transcript geçmişini devralmak yerine yeni bir iş parçacığı oturumu başlatır. - Bu korumayı devre dışı bırakmak ve üst çatallamaya her zaman izin vermek için
0ayarlayın.
- Üst
mainKey: eski alan. Çalışma zamanı, ana doğrudan sohbet bölmesi için her zaman"main"kullanır.agentToAgent.maxPingPongTurns: ajandan ajana değişimlerde ajanlar arasındaki azami geri yanıt turu sayısı (tamsayı, aralık:0–5).0, ping-pong zincirlemeyi devre dışı bırakır.sendPolicy:channel,chatType(direct|group|channel, eskidmtakma adıyla birlikte),keyPrefixveyarawKeyPrefixile eşleştirir. İlk ret kazanır.maintenance: oturum deposu temizleme + saklama denetimleri.mode:warnyalnızca uyarı üretir;enforcetemizliği uygular.pruneAfter: eski girdiler için yaş kesme noktası (varsayılan30d).maxEntries:sessions.jsoniçindeki azami girdi sayısı (varsayılan500).rotateBytes:sessions.jsonbu boyutu aştığında döndürür (varsayılan10mb).resetArchiveRetention:*.reset.<timestamp>transcript arşivleri için saklama süresi. Varsayılan olarakpruneAfter; devre dışı bırakmak içinfalseayarlayın.maxDiskBytes: oturumlar dizini için isteğe bağlı disk bütçesi.warnmodunda uyarı günlüğe kaydeder;enforcemodunda önce en eski yapıtları/oturumları kaldırır.highWaterBytes: bütçe temizliğinden sonraki isteğe bağlı hedef. Varsayılan olarakmaxDiskBytesdeğerinin%80’idir.
threadBindings: iş parçacığına bağlı oturum özellikleri için genel varsayılanlar.enabled: ana varsayılan anahtar (sağlayıcılar geçersiz kılabilir; Discordchannels.discord.threadBindings.enabledkullanır)idleHours: etkinliksizlik nedeniyle otomatik odak kaldırma için saat cinsinden varsayılan süre (0devre dışı bırakır; sağlayıcılar geçersiz kılabilir)maxAgeHours: saat cinsinden varsayılan kesin azami yaş (0devre dışı bırakır; sağlayıcılar geçersiz kılabilir)
Mesajlar
Yanıt öneki
Kanal/hesap başına geçersiz kılmalar:channels.<channel>.responsePrefix, channels.<channel>.accounts.<id>.responsePrefix.
Çözümleme (en özel olan kazanır): hesap → kanal → genel. "" devre dışı bırakır ve zincirlemeyi durdurur. "auto", [{identity.name}] üretir.
Şablon değişkenleri:
| Değişken | Açıklama | Örnek |
|---|---|---|
{model} | Kısa model adı | claude-opus-4-6 |
{modelFull} | Tam model tanımlayıcısı | anthropic/claude-opus-4-6 |
{provider} | Sağlayıcı adı | anthropic |
{thinkingLevel} | Geçerli thinking düzeyi | high, low, off |
{identity.name} | Ajan kimlik adı | ("auto" ile aynı) |
{think}, {thinkingLevel} için bir takma addır.
Ack tepkisi
- Varsayılan olarak etkin ajanın
identity.emojideğerini kullanır, yoksa"👀"kullanılır. Devre dışı bırakmak için""ayarlayın. - Kanal başına geçersiz kılmalar:
channels.<channel>.ackReaction,channels.<channel>.accounts.<id>.ackReaction. - Çözümleme sırası: hesap → kanal →
messages.ackReaction→ kimlik yedeği. - Kapsam:
group-mentions(varsayılan),group-all,direct,all. removeAckAfterReply, Slack, Discord ve Telegram’da yanıttan sonra ack’i kaldırır.messages.statusReactions.enabled, Slack, Discord ve Telegram’da yaşam döngüsü durum tepkilerini etkinleştirir. Slack ve Discord’da ayarlanmamış olması, ack tepkileri etkin olduğunda durum tepkilerini etkin tutar. Telegram’da yaşam döngüsü durum tepkilerini etkinleştirmek için bunu açıkçatrueyapın.
Gelen debounce
Aynı gönderenden gelen hızlı, yalnızca metin içeren mesajları tek bir ajan turunda toplar. Medya/ekler hemen flush edilir. Kontrol komutları debounce mekanizmasını atlar.TTS (metinden konuşmaya)
auto, varsayılan otomatik TTS modunu denetler:off,always,inboundveyatagged./tts on|offyerel tercihleri geçersiz kılabilir ve/tts statusetkin durumu gösterir.summaryModel, otomatik özetleme içinagents.defaults.model.primarydeğerini geçersiz kılar.modelOverridesvarsayılan olarak etkindir;modelOverrides.allowProvidervarsayılan olarakfalsedeğerindedir (isteğe bağlı etkinleştirme gerekir).- API anahtarları yedek olarak
ELEVENLABS_API_KEY/XI_API_KEYveOPENAI_API_KEYkullanır. openai.baseUrl, OpenAI TTS uç noktasını geçersiz kılar. Çözümleme sırası yapılandırma, ardındanOPENAI_TTS_BASE_URL, ardındanhttps://api.openai.com/v1şeklindedir.openai.baseUrl, OpenAI dışı bir uç noktayı işaret ettiğinde OpenClaw bunu OpenAI uyumlu bir TTS sunucusu olarak ele alır ve model/ses doğrulamasını gevşetir.
Talk
Talk modu için varsayılanlar (macOS/iOS/Android).- Birden fazla Talk sağlayıcısı yapılandırıldığında
talk.provider,talk.providersiçindeki bir anahtarla eşleşmelidir. - Eski düz Talk anahtarları (
talk.voiceId,talk.voiceAliases,talk.modelId,talk.outputFormat,talk.apiKey) yalnızca uyumluluk içindir ve otomatik olaraktalk.providers.<provider>içine taşınır. - Ses kimlikleri yedek olarak
ELEVENLABS_VOICE_IDveyaSAG_VOICE_IDkullanır. providers.*.apiKey, düz metin dizeleri veya SecretRef nesnelerini kabul eder.ELEVENLABS_API_KEYyedeği yalnızca hiçbir Talk API anahtarı yapılandırılmadığında uygulanır.providers.*.voiceAliases, Talk yönergelerinin kolay adlar kullanmasına izin verir.silenceTimeoutMs, Talk modunun transcript’i göndermeden önce kullanıcı sessizliğinden sonra ne kadar bekleyeceğini denetler. Ayarlanmamışsa platform varsayılan duraklama penceresi korunur (macOS ve Android'de 700 ms, iOS'ta 900 ms).
Araçlar
Araç profilleri
tools.profile, tools.allow/tools.deny öncesinde temel bir izin listesi ayarlar:
Yerel onboarding, ayarlanmamış yeni yerel yapılandırmalarda varsayılan olarak tools.profile: "coding" kullanır (mevcut açık profiller korunur).
| Profil | İçerir |
|---|---|
minimal | yalnızca session_status |
coding | group:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, video_generate |
messaging | group:messaging, sessions_list, sessions_history, sessions_send, session_status |
full | Kısıtlama yoktur (ayarlanmamış ile aynıdır) |
Araç grupları
| Grup | Araçlar |
|---|---|
group:runtime | exec, process, code_execution (bash, exec için takma ad olarak kabul edilir) |
group:fs | read, write, edit, apply_patch |
group:sessions | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
group:memory | memory_search, memory_get |
group:web | web_search, x_search, web_fetch |
group:ui | browser, canvas |
group:automation | cron, gateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list |
group:media | image, image_generate, video_generate, tts |
group:openclaw | Tüm yerleşik araçlar (sağlayıcı eklentileri hariç) |
tools.allow / tools.deny
Genel araç izin/verme politikası (ret kazanır). Büyük/küçük harfe duyarsızdır, * joker karakterlerini destekler. Docker sandbox kapalı olduğunda bile uygulanır.
tools.byProvider
Belirli sağlayıcılar veya modeller için araçları daha da kısıtlar. Sıra: temel profil → sağlayıcı profili → allow/deny.
tools.elevated
Sandbox dışındaki elevated exec erişimini denetler:
- Ajan başına geçersiz kılma (
agents.list[].tools.elevated) yalnızca daha fazla kısıtlama getirebilir. /elevated on|off|ask|full, durumu oturum başına saklar; satır içi yönergeler tek mesaja uygulanır.- Elevated
exec, sandbox kullanımını atlar ve yapılandırılmış kaçış yolunu kullanır (varsayılan olarakgateway,exechedefinodeolduğunda isenode).
tools.exec
tools.loopDetection
Araç döngüsü güvenlik kontrolleri varsayılan olarak devre dışıdır. Algılamayı etkinleştirmek için enabled: true ayarlayın.
Ayarlar genel olarak tools.loopDetection altında tanımlanabilir ve ajan başına agents.list[].tools.loopDetection altında geçersiz kılınabilir.
historySize: döngü analizi için tutulan azami araç çağrısı geçmişi.warningThreshold: uyarılar için tekrarlayan ilerleme yok kalıbı eşiği.criticalThreshold: kritik döngüleri engellemek için daha yüksek tekrar eşiği.globalCircuitBreakerThreshold: ilerleme olmayan herhangi bir çalıştırma için kesin durdurma eşiği.detectors.genericRepeat: aynı araç/aynı argüman çağrılarında uyarır.detectors.knownPollNoProgress: bilinen yoklama araçlarında (process.poll,command_statusvb.) uyarır/engeller.detectors.pingPong: dönüşümlü ilerleme olmayan ikili kalıplarda uyarır/engeller.warningThreshold >= criticalThresholdveyacriticalThreshold >= globalCircuitBreakerThresholdise doğrulama başarısız olur.
tools.web
tools.media
Gelen medya anlamayı yapılandırır (görsel/ses/video):
Medya model girdisi alanları
Medya model girdisi alanları
Sağlayıcı girdisi (
type: "provider" veya atlanmış):provider: API sağlayıcı kimliği (openai,anthropic,google/gemini,groqvb.)model: model kimliği geçersiz kılmasıprofile/preferredProfile:auth-profiles.jsonprofil seçimi
type: "cli"):command: çalıştırılacak yürütülebilir dosyaargs: şablonlu argümanlar ({{MediaPath}},{{Prompt}},{{MaxChars}}vb. desteklenir)
capabilities: isteğe bağlı liste (image,audio,video). Varsayılanlar:openai/anthropic/minimax→ image,google→ image+audio+video,groq→ audio.prompt,maxChars,maxBytes,timeoutSeconds,language: girdi başına geçersiz kılmalar.- Hatalar bir sonraki girdiye geri döner.
auth-profiles.json → ortam değişkenleri → models.providers.*.apiKey.Eşzamansız tamamlama alanları:asyncCompletion.directSend:trueolduğunda, tamamlanan eşzamansızmusic_generatevevideo_generategörevleri önce doğrudan kanal teslimini dener. Varsayılan:false(eski istek yapan oturum uyandırma/model teslim yolu).
tools.agentToAgent
tools.sessions
Oturum araçları (sessions_list, sessions_history, sessions_send) tarafından hangi oturumların hedeflenebileceğini denetler.
Varsayılan: tree (geçerli oturum + onun tarafından oluşturulan oturumlar, örneğin alt ajanlar).
self: yalnızca geçerli oturum anahtarı.tree: geçerli oturum + geçerli oturum tarafından oluşturulan oturumlar (alt ajanlar).agent: geçerli ajan kimliğine ait herhangi bir oturum (aynı ajan kimliği altında gönderici başına oturum çalıştırıyorsanız başka kullanıcıları da içerebilir).all: herhangi bir oturum. Ajanlar arası hedefleme yine detools.agentToAgentgerektirir.- Sandbox sıkılaştırması: geçerli oturum sandbox’lıysa ve
agents.defaults.sandbox.sessionToolsVisibility="spawned"ise,tools.sessions.visibility="all"olsa bile görünürlüktreeolmaya zorlanır.
tools.sessions_spawn
sessions_spawn için satır içi ek desteğini denetler.
- Ekler yalnızca
runtime: "subagent"için desteklenir. ACP çalışma zamanı bunları reddeder. - Dosyalar alt çalışma alanında
.openclaw/attachments/<uuid>/içine bir.manifest.jsonile birlikte somutlaştırılır. - Ek içeriği, transcript kalıcılığından otomatik olarak sansürlenir.
- Base64 girdileri, katı alfabe/dolgu denetimleri ve çözme öncesi boyut korumasıyla doğrulanır.
- Dosya izinleri dizinler için
0700, dosyalar için0600’dür. - Temizleme,
cleanupilkesini izler:deleteekleri her zaman kaldırır;keep, bunları yalnızcaretainOnSessionKeep: trueolduğunda tutar.
tools.experimental
Deneysel yerleşik araç bayrakları. Sıkı agentic GPT-5 otomatik etkinleştirme kuralı uygulanmadıkça varsayılan olarak kapalıdır.
planTool: trivial olmayan çok adımlı iş takibi için yapılandırılmışupdate_planaracını etkinleştirir.- Varsayılan:
false; ancakagents.defaults.embeddedPi.executionContract(veya ajan başına bir geçersiz kılma) bir OpenAI veya OpenAI Codex GPT-5 ailesi çalıştırması için"strict-agentic"olarak ayarlanmışsa farklıdır. Bu kapsam dışında aracı zorla açmak içintrue, sıkı agentic GPT-5 çalıştırmalarında bile kapalı tutmak içinfalseayarlayın. - Etkinleştirildiğinde, sistem istemi de kullanım yönergeleri ekler; böylece model bunu yalnızca önemli işler için kullanır ve en fazla bir adımı
in_progressdurumunda tutar.
agents.defaults.subagents
model: oluşturulan alt ajanlar için varsayılan model. Atlanırsa alt ajanlar çağıranın modelini devralır.allowAgents: istek yapan ajan kendisubagents.allowAgentsdeğerini ayarlamadığındasessions_spawniçin hedef ajan kimliklerinin varsayılan izin listesi (["*"]= herhangi biri; varsayılan: yalnızca aynı ajan).runTimeoutSeconds: araç çağrısırunTimeoutSecondsdeğerini atladığındasessions_spawniçin varsayılan zaman aşımı (saniye).0, zaman aşımı olmadığı anlamına gelir.- Alt ajan başına araç ilkesi:
tools.subagents.tools.allow/tools.subagents.tools.deny.
Özel sağlayıcılar ve base URL’ler
OpenClaw, yerleşik model kataloğunu kullanır.models.providers altında veya ~/.openclaw/agents/<agentId>/agent/models.json içinde özel sağlayıcılar ekleyin.
- Özel auth gereksinimleri için
authHeader: true+headerskullanın. - Ajan yapılandırma kökünü
OPENCLAW_AGENT_DIRile geçersiz kılın (veya eski ortam değişkeni takma adı olanPI_CODING_AGENT_DIRile). - Eşleşen sağlayıcı kimlikleri için birleştirme önceliği:
- Boş olmayan ajan
models.jsonbaseUrldeğerleri kazanır. - Boş olmayan ajan
apiKeydeğerleri, yalnızca sağlayıcı mevcut yapılandırma/auth-profile bağlamında SecretRef yönetimli değilse kazanır. - SecretRef yönetimli sağlayıcı
apiKeydeğerleri, çözümlenmiş gizli anahtarları kalıcılaştırmak yerine kaynak işaretçilerden (ENV_VAR_NAMEortam referansları için,secretref-manageddosya/exec referansları için) yenilenir. - SecretRef yönetimli sağlayıcı header değerleri, kaynak işaretçilerden (
secretref-env:ENV_VAR_NAMEortam referansları için,secretref-manageddosya/exec referansları için) yenilenir. - Boş veya eksik ajan
apiKey/baseUrldeğerleri yapılandırmadakimodels.providersdeğerlerine geri döner. - Eşleşen model
contextWindow/maxTokensdeğerleri, açık yapılandırma ile örtük katalog değerleri arasındaki daha yüksek değeri kullanır. - Eşleşen model
contextTokens, mevcutsa açık çalışma zamanı sınırını korur; doğal model meta verisini değiştirmeden etkili bağlamı sınırlamak için bunu kullanın. - Yapılandırmanın
models.jsondosyasını tamamen yeniden yazmasını istediğinizdemodels.mode: "replace"kullanın. - İşaretçi kalıcılığı kaynak için yetkili olandır: işaretçiler, çözümlenmiş çalışma zamanı gizli değerlerinden değil, etkin kaynak yapılandırma anlık görüntüsünden (çözümleme öncesi) yazılır.
- Boş olmayan ajan
Sağlayıcı alanı ayrıntıları
models.mode: sağlayıcı katalog davranışı (mergeveyareplace).models.providers: sağlayıcı kimliğine göre anahtarlanmış özel sağlayıcı eşlemesi.models.providers.*.api: istek bağdaştırıcısı (openai-completions,openai-responses,anthropic-messages,google-generative-aivb.).models.providers.*.apiKey: sağlayıcı kimlik bilgisi (SecretRef/ortam değişkeni yerleştirmesi tercih edilir).models.providers.*.auth: kimlik doğrulama stratejisi (api-key,token,oauth,aws-sdk).models.providers.*.injectNumCtxForOpenAICompat: Ollama +openai-completionsiçin isteklereoptions.num_ctxenjekte eder (varsayılan:true).models.providers.*.authHeader: gerektiğinde kimlik bilgisininAuthorizationüstbilgisinde taşınmasını zorlar.models.providers.*.baseUrl: yukarı akış API base URL’si.models.providers.*.headers: proxy/kiracı yönlendirmesi için ek statik üstbilgiler.models.providers.*.request: model-sağlayıcı HTTP istekleri için taşıma geçersiz kılmaları.request.headers: ek üstbilgiler (sağlayıcı varsayılanlarıyla birleştirilir). Değerler SecretRef kabul eder.request.auth: kimlik doğrulama stratejisi geçersiz kılması. Modlar:"provider-default"(sağlayıcının yerleşik auth’unu kullan),"authorization-bearer"(tokenile),"header"(headerName,value, isteğe bağlıprefixile).request.proxy: HTTP proxy geçersiz kılması. Modlar:"env-proxy"(HTTP_PROXY/HTTPS_PROXYortam değişkenlerini kullan),"explicit-proxy"(urlile). Her iki mod da isteğe bağlı birtlsalt nesnesini kabul eder.request.tls: doğrudan bağlantılar için TLS geçersiz kılması. Alanlar:ca,cert,key,passphrase(tamamı SecretRef kabul eder),serverName,insecureSkipVerify.request.allowPrivateNetwork:trueolduğunda, DNS özel, CGNAT veya benzeri aralıklara çözümlendiğindebaseUrladresine HTTPS erişimine sağlayıcı HTTP fetch koruması üzerinden izin verir (güvenilir, kendi barındırılan OpenAI uyumlu uç noktalar için operatör isteğe bağlı etkinleştirmesi). WebSocket, üstbilgiler/TLS için aynırequestayarını kullanır ancak bu fetch SSRF korumasını kullanmaz. Varsayılanfalse.
models.providers.*.models: açık sağlayıcı model kataloğu girdileri.models.providers.*.models.*.contextWindow: doğal model bağlam penceresi meta verisi.models.providers.*.models.*.contextTokens: isteğe bağlı çalışma zamanı bağlam sınırı. Modelin doğalcontextWindowdeğerinden daha küçük etkin bağlam bütçesi istediğinizde bunu kullanın.models.providers.*.models.*.compat.supportsDeveloperRole: isteğe bağlı uyumluluk ipucu.api: "openai-completions"ve boş olmayan doğal olmayan birbaseUrliçin (api.openai.comdışında bir ana makine), OpenClaw bunu çalışma zamanındafalseolarak zorlar. Boş/atlanmışbaseUrl, varsayılan OpenAI davranışını korur.models.providers.*.models.*.compat.requiresStringContent: yalnızca dize kabul eden OpenAI uyumlu sohbet uç noktaları için isteğe bağlı uyumluluk ipucu.trueolduğunda OpenClaw, isteği göndermeden önce yalnızca metin içerenmessages[].contentdizilerini düz dizelere indirger.plugins.entries.amazon-bedrock.config.discovery: Bedrock otomatik keşif ayarlarının kökü.plugins.entries.amazon-bedrock.config.discovery.enabled: örtük keşfi açar/kapatır.plugins.entries.amazon-bedrock.config.discovery.region: keşif için AWS bölgesi.plugins.entries.amazon-bedrock.config.discovery.providerFilter: hedefli keşif için isteğe bağlı sağlayıcı kimliği filtresi.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: keşif yenilemesi için yoklama aralığı.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: keşfedilen modeller için yedek bağlam penceresi.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: keşfedilen modeller için yedek azami çıktı tokenı.
Sağlayıcı örnekleri
Cerebras (GLM 4.6 / 4.7)
Cerebras (GLM 4.6 / 4.7)
cerebras/zai-glm-4.7; doğrudan Z.AI için zai/glm-4.7 kullanın.OpenCode
OpenCode
OPENCODE_API_KEY (veya OPENCODE_ZEN_API_KEY) ayarlayın. Zen kataloğu için opencode/..., Go kataloğu için opencode-go/... referanslarını kullanın. Kısayol: openclaw onboard --auth-choice opencode-zen veya openclaw onboard --auth-choice opencode-go.Z.AI (GLM-4.7)
Z.AI (GLM-4.7)
ZAI_API_KEY ayarlayın. z.ai/* ve z-ai/* kabul edilen takma adlardır. Kısayol: openclaw onboard --auth-choice zai-api-key.- Genel uç nokta:
https://api.z.ai/api/paas/v4 - Kodlama uç noktası (varsayılan):
https://api.z.ai/api/coding/paas/v4 - Genel uç nokta için base URL geçersiz kılmalı özel bir sağlayıcı tanımlayın.
Moonshot AI (Kimi)
Moonshot AI (Kimi)
baseUrl: "https://api.moonshot.cn/v1" veya openclaw onboard --auth-choice moonshot-api-key-cn.Yerel Moonshot uç noktaları, paylaşılan
openai-completions taşıması üzerinde akış kullanımı uyumluluğunu bildirir ve OpenClaw bunu yalnızca yerleşik sağlayıcı kimliğine değil, uç nokta yeteneklerine göre anahtarlar.Kimi Coding
Kimi Coding
openclaw onboard --auth-choice kimi-code-api-key.Synthetic (Anthropic-compatible)
Synthetic (Anthropic-compatible)
/v1 içermemelidir (Anthropic istemcisi bunu ekler). Kısayol: openclaw onboard --auth-choice synthetic-api-key.MiniMax M2.7 (doğrudan)
MiniMax M2.7 (doğrudan)
MINIMAX_API_KEY ayarlayın. Kısayollar:
openclaw onboard --auth-choice minimax-global-api veya
openclaw onboard --auth-choice minimax-cn-api.
Model kataloğu varsayılan olarak yalnızca M2.7 kullanır.
Anthropic uyumlu akış yolunda OpenClaw, siz açıkça thinking ayarlamadıkça MiniMax thinking özelliğini varsayılan olarak devre dışı bırakır. /fast on veya params.fastMode: true, MiniMax-M2.7 değerini
MiniMax-M2.7-highspeed olarak yeniden yazar.Yerel modeller (LM Studio)
Yerel modeller (LM Studio)
Bkz. Local Models. Kısaca: güçlü donanım üzerinde LM Studio Responses API ile büyük bir yerel model çalıştırın; yedek için barındırılan modelleri birleştirilmiş halde tutun.
Skills
allowBundled: yalnızca paketlenmiş 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).install.preferBrew:trueolduğunda vebrewkullanılabiliyorsa, diğer yükleyici türlerine geri dönmeden önce Homebrew yükleyicilerini tercih eder.install.nodeManager:metadata.openclaw.installözellikleri için node yükleyici tercihi (npm|pnpm|yarn|bun).entries.<skillKey>.enabled: false, paketlenmiş/kurulu olsa bile bir skill’i devre dışı bırakır.entries.<skillKey>.apiKey: birincil ortam değişkeni tanımlayan Skills için kolaylık alanı (düz metin dizesi veya SecretRef nesnesi).
Eklentiler
~/.openclaw/extensions,<workspace>/.openclaw/extensionsveplugins.load.pathsiçinden yüklenir.- Keşif, yerel OpenClaw eklentilerinin yanı sıra uyumlu Codex paketlerini ve Claude paketlerini de kabul eder; buna manifest içermeyen Claude varsayılan düzen paketleri de dahildir.
- Yapılandırma değişiklikleri bir gateway yeniden başlatması gerektirir.
allow: isteğe bağlı izin listesi (yalnızca listelenen eklentiler yüklenir).denykazanır.plugins.entries.<id>.apiKey: eklenti düzeyinde API anahtarı kolaylık alanı (eklenti destekliyorsa).plugins.entries.<id>.env: eklenti kapsamlı ortam değişkeni eşlemesi.plugins.entries.<id>.hooks.allowPromptInjection:falseolduğunda çekirdek,before_prompt_buildişlemini engeller ve eskibefore_agent_startiçindeki istem değiştirici alanları yok sayar; eskimodelOverrideveproviderOverridekorunur. Yerel eklenti hook’larına ve desteklenen paket kaynaklı hook dizinlerine uygulanır.plugins.entries.<id>.subagent.allowModelOverride: bu eklentiye arka plan alt ajan çalıştırmaları için çalışma başınaprovidervemodelgeçersiz kılmaları isteme konusunda açıkça güvenilir olduğunu belirtir.plugins.entries.<id>.subagent.allowedModels: güvenilen alt ajan geçersiz kılmaları için isteğe bağlı standartprovider/modelhedefleri izin listesi. Yalnızca bilerek herhangi bir modele izin vermek istediğinizde"*"kullanın.plugins.entries.<id>.config: eklenti tarafından tanımlanan yapılandırma nesnesi (mevcutsa yerel OpenClaw eklenti şemasıyla doğrulanır).plugins.entries.firecrawl.config.webFetch: Firecrawl web-fetch sağlayıcı ayarları.apiKey: Firecrawl API anahtarı (SecretRef kabul eder). Yedek olarakplugins.entries.firecrawl.config.webSearch.apiKey, eskitools.web.fetch.firecrawl.apiKeyveyaFIRECRAWL_API_KEYortam değişkenini kullanır.baseUrl: Firecrawl API base URL’si (varsayılan:https://api.firecrawl.dev).onlyMainContent: sayfalardan yalnızca ana içeriği çıkarır (varsayılan:true).maxAgeMs: önbellek için milisaniye cinsinden azami yaş (varsayılan:172800000/ 2 gün).timeoutSeconds: scrape isteği zaman aşımı süresi (saniye) (varsayılan:60).
plugins.entries.xai.config.xSearch: xAI X Search (Grok web araması) ayarları.enabled: X Search sağlayıcısını etkinleştirir.model: arama için kullanılacak Grok modeli (ör."grok-4-1-fast").
plugins.entries.memory-core.config.dreaming: memory dreaming (deneysel) ayarları. Aşamalar ve eşikler için bkz. Dreaming.enabled: ana dreaming anahtarı (varsayılanfalse).frequency: her tam dreaming taraması için cron aralığı (varsayılan"0 3 * * *").- aşama ilkesi ve eşikler uygulama ayrıntılarıdır (kullanıcıya açık yapılandırma anahtarları değildir).
- Tam bellek yapılandırması Bellek yapılandırma başvurusu içinde yer alır:
agents.defaults.memorySearch.*memory.backendmemory.citationsmemory.qmd.*plugins.entries.memory-core.config.dreaming
- Etkin Claude paket eklentileri
settings.jsoniçinden gömülü Pi varsayılanlarına da katkıda bulunabilir; OpenClaw bunları ham OpenClaw yapılandırma yamaları olarak değil, temizlenmiş ajan ayarları olarak uygular. plugins.slots.memory: etkin bellek eklentisi kimliğini seçin veya bellek eklentilerini devre dışı bırakmak için"none"kullanın.plugins.slots.contextEngine: etkin bağlam motoru eklentisi kimliğini seçin; başka bir motor kurup seçmediğiniz sürece varsayılan"legacy"olur.plugins.installs:openclaw plugins updatetarafından kullanılan CLI yönetimli kurulum meta verisi.source,spec,sourcePath,installPath,version,resolvedName,resolvedVersion,resolvedSpec,integrity,shasum,resolvedAt,installedAtiçerir.plugins.installs.*alanlarını yönetilen durum olarak ele alın; el ile düzenleme yerine CLI komutlarını tercih edin.
Tarayıcı
evaluateEnabled: false,act:evaluatevewait --fnkomutlarını devre dışı bırakır.ssrfPolicy.dangerouslyAllowPrivateNetworkayarlanmamışsa devre dışıdır; böylece tarayıcı gezinmesi varsayılan olarak sıkı kalır.ssrfPolicy.dangerouslyAllowPrivateNetwork: truedeğerini yalnızca özel ağ tarayıcı gezinmesine bilerek güvendiğinizde ayarlayın.- Sıkı modda uzak CDP profil uç noktaları (
profiles.*.cdpUrl), erişilebilirlik/keşif denetimleri sırasında aynı özel ağ engellemesine tabidir. ssrfPolicy.allowPrivateNetwork, eski takma ad olarak desteklenmeye devam eder.- Sıkı modda açık istisnalar için
ssrfPolicy.hostnameAllowlistvessrfPolicy.allowedHostnameskullanın. - Uzak profiller yalnızca bağlanmalıdır (başlat/durdur/sıfırla devre dışı).
profiles.*.cdpUrl,http://,https://,ws://vewss://kabul eder. OpenClaw’un/json/versionkeşfi yapmasını istediğinizde HTTP(S) kullanın; sağlayıcınız size doğrudan bir DevTools WebSocket URL’si veriyorsa WS(S) kullanın.existing-sessionprofilleri yalnızca ana makine içindir ve CDP yerine Chrome MCP kullanır.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 tabanlı eylemler, tek dosya yükleme hook’ları, iletişim kutusu 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; yalnızca uzak CDP içincdpUrldeğerini açıkça ayarlayın. - Otomatik algılama sırası: Chromium tabanlıysa varsayılan tarayıcı → Chrome → Brave → Edge → Chromium → Chrome Canary.
- Kontrol servisi: yalnızca loopback (port,
gateway.portüzerinden türetilir; varsayılan18791). extraArgs, yerel Chromium başlangıcına ek başlatma bayrakları ekler (örneğin--disable-gpu, pencere boyutu veya hata ayıklama bayrakları).
UI
seamColor: yerel uygulama UI chrome için vurgu rengi (Talk Mode balon tonu vb.).assistant: Control UI kimlik geçersiz kılması. Etkin ajan 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ını (0.0.0.0,127.0.0.1,localhost,::,::1) değil, 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 bridge ağıyla (-p 18789:18789) trafiketh0üzerinden gelir, bu yüzden gateway’e erişilemez.--network hostkullanın veya tüm arayüzlerde dinlemek içinbind: "lan"(veyacustomBindHost: "0.0.0.0"ilebind: "custom") ayarlayın. - Auth: varsayılan olarak zorunludur. Loopback dışı bind’ler gateway auth gerektirir. Pratikte bu, paylaşılan bir token/parola veya
gateway.auth.mode: "trusted-proxy"kullanan kimlik farkındalıklı bir reverse proxy anlamına gelir. Onboarding sihirbazı varsayılan olarak bir token üretir. - Hem
gateway.auth.tokenhem degateway.auth.passwordyapılandırılmışsa (SecretRef’ler dahil),gateway.auth.modedeğerini açıkçatokenveyapasswordolarak ayarlayın. Her ikisi de yapılandırılmış ve mod ayarlanmamışsa başlangıç ile servis kurulum/onarma akışları başarısız olur. gateway.auth.mode: "none": açıkça auth’suz mod. Bunu yalnızca güvenilen yerel loopback kurulumları için kullanın; onboarding istemlerinde kasıtlı olarak sunulmaz.gateway.auth.mode: "trusted-proxy": auth işini kimlik farkındalıklı bir reverse proxy’ye devredin ve kimlik üstbilgileri içingateway.trustedProxiesdeğerine güvenin (bkz. Trusted Proxy Auth). Bu mod loopback olmayan bir proxy kaynağı bekler; aynı ana makinedeki loopback reverse proxy’ler trusted-proxy auth gereksinimini karşılamaz.gateway.auth.allowTailscale:trueolduğunda Tailscale Serve kimlik üstbilgileri, Control UI/WebSocket auth gereksinimini karşılayabilir (tailscale whoisile doğrulanır). HTTP API uç noktaları bu Tailscale üstbilgi auth yöntemini kullanmaz; bunun yerine gateway’in normal HTTP auth modunu izler. Bu tokensız akış gateway ana makinesine güvenildiğini varsayar.tailscale.mode = "serve"olduğunda varsayılantrueolur.gateway.auth.rateLimit: isteğe bağlı başarısız auth sınırlayıcısı. İstemci IP’si ve auth kapsamı başına uygulanır (paylaşılan gizli anahtar ve cihaz tokenı ayrı ayrı 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, başarısızlık yazımından önce serileştirilir. Bu nedenle aynı istemciden gelen eşzamanlı kötü denemeler, ikisinin de düz uyuşmazlık olarak geçmesi yerine ikinci istekte sınıra takılabilir. gateway.auth.rateLimit.exemptLoopbackvarsayılan olaraktruedeğerindedir; localhost trafiğinin de hız sınırına tabi olmasını özellikle istediğinizde (testkurulumları veya sıkı proxy dağıtımları için)falseyapın.
- Eşzamansız Tailscale Serve Control UI yolunda aynı
- Tarayıcı kaynaklı WS auth denemeleri, loopback muafiyeti devre dışı bırakılmış şekilde her zaman sınırlanır (tarayıcı tabanlı localhost brute force saldırılarına karşı ek savunma).
- Loopback üzerinde bu tarayıcı kaynaklı kilitlemeler, normalize edilmiş
Origindeğeri başına yalıtılır; bu nedenle bir localhost origin’inden gelen tekrarlanan hatalar, farklı bir origin’i otomatik olarak kilitlemez. tailscale.mode:serve(yalnızca tailnet, loopback bind) veyafunnel(herkese açık, auth gerekir).controlUi.allowedOrigins: Gateway WebSocket bağlantıları için açık tarayıcı origin izin listesi. Tarayıcı istemcilerinin loopback dışı origin’lerden gelmesi beklendiğinde zorunludur.controlUi.dangerouslyAllowHostHeaderOriginFallback: bilerek Host-header origin ilkesine dayanan dağıtımlar için Host-header origin fallback’ini etkinleştiren tehlikeli mod.remote.transport:ssh(varsayılan) veyadirect(ws/wss).directiçinremote.url,ws://veyawss://olmalıdır.OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1: güvenilen özel ağ IP’lerine düz metinws://erişimine izin veren istemci tarafı acil durum geçersiz kılması; varsayılan olarak düz metin için yalnızca loopback’e izin verilir.gateway.remote.token/.password, uzak istemci kimlik bilgisi alanlarıdır. Tek başlarına gateway auth yapılandırmazlar.gateway.push.apns.relay.baseUrl: resmi/TestFlight iOS derlemeleri relay destekli kayıtları gateway’e yayımladıktan sonra kullanılan harici APNs relay için temel HTTPS URL’si. Bu URL, iOS derlemesine derlenmiş relay URL’siyle eşleşmelidir.gateway.push.apns.relay.timeoutMs: gateway’den relay’e gönderim zaman aşımı süresi (milisaniye). Varsayılan:10000.- Relay destekli kayıtlar belirli bir gateway kimliğine devredilir. Eşleştirilmiş iOS uygulaması
gateway.identity.getçağrısını alır, bu kimliği relay kaydına dahil eder ve kayıt kapsamlı bir 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 ortam değişkeni geçersiz kılmaları.OPENCLAW_APNS_RELAY_ALLOW_HTTP=true: loopback HTTP relay URL’leri için yalnızca geliştirme amaçlı kaçış kapısı. Üretim relay URL’leri HTTPS üzerinde kalmalıdır.gateway.channelHealthCheckMinutes: kanal sağlık izleme aralığı, dakika cinsinden. Sağlık izleme yeniden başlatmalarını genel olarak devre dışı bırakmak için0ayarlayın. Varsayılan:5.gateway.channelStaleEventThresholdMinutes: bayat 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 azami sağlık izleme yeniden başlatması. Varsayılan:10.channels.<provider>.healthMonitor.enabled: genel izleyiciyi etkin tutarken sağlık izleme yeniden başlatmalarından kanal başına çıkış 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ılmanın önüne geçer.- Yerel gateway çağrı yolları, yalnızca
gateway.auth.*ayarlanmamışsa yedek olarakgateway.remote.*kullanabilir. gateway.auth.token/gateway.auth.password, SecretRef ile açıkça yapılandırılmış ancak çözümlenmemişse çözümleme fail-closed olur (uzak yedek bu durumu maskelemez).trustedProxies: TLS sonlandıran veya yönlendirilmiş istemci üstbilgileri ekleyen reverse proxy IP’leri. Yalnızca kontrol ettiğiniz proxy’leri listeleyin. Loopback girdileri, aynı ana makine proxy/yerel algılama kurulumları için yine geçerlidir (örneğin Tailscale Serve veya yerel reverse proxy), ancak loopback isteklerinigateway.auth.mode: "trusted-proxy"için uygun hale getirmezler.allowRealIpFallback:trueolduğunda,X-Forwarded-Foreksikse gatewayX-Real-IPkabul eder. Fail-closed davranış için varsayılanfalse.gateway.tools.deny: HTTPPOST /tools/invokeiçin engellenen ek araç adlarıdır (varsayılan ret listesini genişletir).gateway.tools.allow: varsayılan HTTP ret listesinden araç adlarını 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 girdi sağlamlaştırması:
gateway.http.endpoints.responses.maxUrlPartsgateway.http.endpoints.responses.files.urlAllowlistgateway.http.endpoints.responses.images.urlAllowlistBoş izin listeleri ayarlanmamış sayılır; 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 sağlamlaştırma üstbilgisi:
gateway.http.securityHeaders.strictTransportSecurity(yalnızca kontrol ettiğiniz HTTPS origin’ler için ayarlayın; bkz. Trusted Proxy Auth)
Çoklu örnek yalıtımı
Benzersiz portlar ve durum dizinleriyle bir ana makinede birden fazla gateway çalıştırın:--dev (~/.openclaw-dev + 19001 portunu kullanır), --profile <name> (~/.openclaw-<name> kullanır).
Bkz. Multiple Gateways.
gateway.tls
enabled: gateway dinleyicisinde TLS sonlandırmayı etkinleştirir (HTTPS/WSS) (varsayılan:false).autoGenerate: açık dosyalar yapılandırılmadığında yerel, self-signed bir sertifika/anahtar çifti otomatik oluşturur; yalnızca yerel/geliştirme 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 sayar; 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ır."hot": yeniden başlatmadan, süreç içinde uygular."hybrid"(varsayılan): önce hot reload dener; gerekirse yeniden başlatmaya geri döner.
debounceMs: yapılandırma değişiklikleri uygulanmadan önce milisaniye cinsinden debounce penceresi (negatif olmayan tamsayı).deferralTimeoutMs: devam eden işlemleri beklerken yeniden başlatmayı zorlamadan önce beklenecek azami süre, milisaniye cinsinden (varsayılan:300000= 5 dakika).
Hook’lar
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ı yeniden kullanmak reddedilir.hooks.path,/olamaz;/hooksgibi özel bir alt yol kullanın.hooks.allowRequestSessionKey=trueisehooks.allowedSessionKeyPrefixesdeğerini sınırlandırın (örneğin["hook:"]).
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
sessionKey, yalnızcahooks.allowRequestSessionKey=trueolduğunda kabul edilir (varsayılan:false).
- İstek yükündeki
POST /hooks/<name>→hooks.mappingsüzerinden çözülür
Eşleme ayrıntıları
Eşleme ayrıntıları
match.path,/hookssonrasındaki alt yolu eşleştirir (ör./hooks/gmail→gmail).match.source, genel yollar için bir yük alanını eşleştirir.{{messages[0].subject}}gibi şablonlar yükten okur.transform, bir hook eylemi döndüren JS/TS modülünü işaret edebilir.transform.modulegöreli bir yol olmalı vehooks.transformsDiriçinde kalmalıdır (mutlak yollar ve yol geçişleri reddedilir).
agentId, belirli bir ajana yönlendirir; bilinmeyen kimlikler varsayılan ajana 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 ajan çalıştırmaları için isteğe bağlı sabit oturum anahtarı.allowRequestSessionKey:/hooks/agentçağıranlarınınsessionKeyayarlamasına izin verir (varsayılan:false).allowedSessionKeyPrefixes: açıksessionKeydeğerleri için isteğe bağlı önek izin listesi (istek + eşleme), ör.["hook:"].deliver: true, son yanıtı bir kanala gönderir;channelvarsayılan olaraklastolur.model, bu hook çalıştırması için LLM’i geçersiz kılar (model kataloğu ayarlıysa izinli olmalıdır).
Gmail entegrasyonu
- Gateway yapılandırıldığında önyüklemede
gog gmail watch serveişlemini 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 host
- Gateway portu altında HTTP üzerinden ajan tarafından düzenlenebilir HTML/CSS/JS ve A2UI sunar:
http://<gateway-host>:<gateway.port>/__openclaw__/canvas/http://<gateway-host>:<gateway.port>/__openclaw__/a2ui/
- Yalnızca yerel kullanım:
gateway.bind: "loopback"(varsayılan) olarak bırakın. - Loopback dışı bind’lerde canvas rotaları, diğer Gateway HTTP yüzeyleriyle aynı şekilde Gateway auth (token/password/trusted-proxy) gerektirir.
- Node WebView’lar genellikle auth üstbilgisi göndermez; bir node eşleştirilip bağlandıktan sonra Gateway, canvas/A2UI erişimi için node kapsamlı yetenek URL’leri duyurur.
- Yetenek URL’leri etkin node WS oturumuna bağlıdır ve hızlıca sona erer. IP tabanlı yedek kullanılmaz.
- Sunulan HTML içine live-reload istemcisi enjekte eder.
- Boş olduğunda başlangıç
index.htmldosyasını otomatik oluşturur. - A2UI’yi ayrıca
/__openclaw__/a2ui/altında sunar. - Değişiklikler bir gateway yeniden başlatması gerektirir.
- Büyük dizinler veya
EMFILEhataları için live reload’u devre dışı bırakın.
Keşif
mDNS (Bonjour)
minimal(varsayılan): TXT kayıtlarındancliPath+sshPortalanlarını çıkarır.full:cliPath+sshPortalanlarını içerir.- Ana makine adı varsayılan olarak
openclawolur.OPENCLAW_MDNS_HOSTNAMEile geçersiz kılın.
Geniş alan (DNS-SD)
~/.openclaw/dns/ altında bir unicast DNS-SD bölgesi yazar. Ağlar arası keşif için bunu bir DNS sunucusu (CoreDNS önerilir) + Tailscale split DNS ile eşleştirin.
Kurulum: openclaw dns setup --apply.
Ortam
env (satır içi ortam değişkenleri)
- Satır içi ortam değişkenleri yalnızca süreç ortamında anahtar eksikse uygulanır.
.envdosyaları: geçerli çalışma dizini.env+~/.openclaw/.env(hiçbiri mevcut değişkenlerin üzerine yazmaz).shellEnv: eksik beklenen anahtarları giriş kabuğu profilinizden içe aktarır.- Tam öncelik için bkz. Environment.
Ortam değişkeni yerleştirme
Herhangi bir yapılandırma dizesinde${VAR_NAME} ile ortam değişkenlerine 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üklemede hata oluşturur.
- Düz
${VAR}kullanmak için$${VAR}ile kaçış yapın. $includeile çalışır.
Secrets
SecretRef’ler ekleyicidir: düz metin değerler çalışmaya devam eder.SecretRef
Tek bir nesne biçimi kullanın:
providerdeseni:^[a-z][a-z0-9_-]{0,63}$source: "env"id deseni:^[A-Z][A-Z0-9_]{0,127}$source: "file"id: mutlak JSON işaretçisi (örneğin"/providers/openai/apiKey")source: "exec"id deseni:^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$source: "exec"kimlikleri.veya..eğik çizgiyle ayrılmış yol bölümleri içermemelidir (örneğina/../breddedilir)
Desteklenen kimlik bilgisi yüzeyi
- Kanonik matris: SecretRef Credential Surface
secrets apply, desteklenenopenclaw.jsonkimlik bilgisi yollarını hedefler.auth-profiles.jsonreferansları çalışma zamanı çözümlemesine ve denetim kapsamına dahildir.
Secret sağlayıcıları yapılandırması
filesağlayıcısımode: "json"vemode: "singleValue"destekler (singleValuemodundaiddeğeri"value"olmalıdır).execsağlayıcısı mutlakcommandyolu gerektirir ve stdin/stdout üzerinde protokol yükleri kullanır.- Varsayılan olarak symlink komut yolları reddedilir. Çözümlenen hedef yol doğrulanırken symlink yollarına izin vermek için
allowSymlinkCommand: trueayarlayın. trustedDirsyapılandırılmışsa güvenilen dizin denetimi çözümlenen hedef yola uygulanır.execalt süreç ortamı varsayılan olarak minimaldir; gerekli değişkenleripassEnvile açıkça geçin.- SecretRef’ler etkinleştirme sırasında bellek içi bir anlık görüntüye çözülür; ardından istek yolları yalnızca bu anlık görüntüyü okur.
- Etkin yüzey filtrelemesi etkinleştirme sırasında uygulanır: etkin yüzeylerde çözümlenmemiş referanslar başlangıç/yeniden yüklemeyi başarısız kılar, etkin olmayan yüzeyler ise tanılamayla atlanır.
Auth depolama
- Ajan başına profiller
<agentDir>/auth-profiles.jsoniçinde saklanır. auth-profiles.json, statik kimlik bilgisi modları için değer düzeyinde referansları (api_keyiçinkeyRef,tokeniçintokenRef) destekler.- OAuth modlu profiller (
auth.profiles.<id>.mode = "oauth"), SecretRef destekli auth-profile kimlik bilgilerini desteklemez. - Statik çalışma zamanı kimlik bilgileri, çözülmüş bellek içi anlık görüntülerden gelir; eski statik
auth.jsongirdileri bulunduğunda temizlenir. - Eski OAuth aktarımları
~/.openclaw/credentials/oauth.jsoniçinden alınır. - Bkz. OAuth.
- Secrets çalışma zamanı davranışı ile
audit/configure/applyaraçları: Secrets Management.
auth.cooldowns
billingBackoffHours: bir profil gerçek faturalandırma/yetersiz kredi hataları nedeniyle başarısız olduğunda temel geri çekilme süresi, saat cinsinden (varsayılan:5). Açık faturalandırma metni401/403yanıtlarında bile yine bu yola düşebilir, ancak sağlayıcıya özgü metin eşleştiriciler onları sahiplenen sağlayıcıyla sınırlı kalır (örneğin OpenRouterKey limit exceeded). Yeniden denenebilir HTTP402kullanım penceresi veya organizasyon/çalışma alanı harcama sınırı mesajları bunun yerinerate_limityolunda kalır.billingBackoffHoursByProvider: faturalandırma geri çekilme süresi için sağlayıcı başına isteğe bağlı geçersiz kılmalar.billingMaxHours: faturalandırma geri çekilme süresi üstel büyümesi için üst sınır, saat cinsinden (varsayılan:24).authPermanentBackoffMinutes: yüksek güvenliauth_permanenthataları için temel geri çekilme süresi, dakika cinsinden (varsayılan:10).authPermanentMaxMinutes:auth_permanentgeri çekilme büyümesi için üst sınır, dakika cinsinden (varsayılan:60).failureWindowHours: geri çekilme sayaçları için kullanılan kayan pencere, saat cinsinden (varsayılan:24).overloadedProfileRotations: model fallback’ine geçmeden önce aşırı yük hataları için aynı sağlayıcı auth-profile döndürme sayısının üst sınırı (varsayılan:1).ModelNotReadyExceptiongibi sağlayıcı meşgul şekilleri buraya düşer.overloadedBackoffMs: aşırı yüklü bir sağlayıcı/profil döndürmesini yeniden denemeden önce sabit gecikme, milisaniye cinsinden (varsayılan:0).rateLimitedProfileRotations: model fallback’ine geçmeden önce rate-limit hataları için aynı sağlayıcı auth-profile döndürme sayısının üst sınırı (varsayılan:1). Bu rate-limit kovası;Too many concurrent requests,ThrottlingException,concurrency limit reached,workers_ai ... quota limit exceededveresource exhaustedgibi sağlayıcı biçimli metinleri de 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. consoleLevel,--verboseiledebugdüzeyine çıkar.maxFileBytes: yazmalar bastırılmadan önce azami günlük dosyası boyutu, bayt cinsinden (pozitif tamsayı; varsayılan:524288000= 500 MB). Üretim dağıtımları için harici günlük döndürme kullanın.
Tanılama
enabled: araçsal çıktı 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: bir oturum işleme durumunda kalırken takılmış oturum uyarıları üretmek için milisaniye cinsinden yaş eşiği.otel.enabled: OpenTelemetry dışa aktarma hattını etkinleştirir (varsayılan:false).otel.endpoint: OTel dışa aktarımı için toplayıcı URL’si.otel.protocol:"http/protobuf"(varsayılan) veya"grpc".otel.headers: OTel dışa aktarma istekleriyle gönderilen ek HTTP/gRPC meta veri üstbilgileri.otel.serviceName: kaynak öznitelikleri için hizmet adı.otel.traces/otel.metrics/otel.logs: iz, metrik veya günlük dışa aktarımını etkinleştirir.otel.sampleRate:0–1aralığında iz örnekleme oranı.otel.flushIntervalMs: milisaniye cinsinden periyodik telemetri flush aralığı.cacheTrace.enabled: gömülü çalıştırmalar için önbellek iz anlık görüntülerini günlüğe kaydeder (varsayılan:false).cacheTrace.filePath: önbellek iz JSONL’si için çıktı yolu (varsayılan:$OPENCLAW_STATE_DIR/logs/cache-trace.jsonl).cacheTrace.includeMessages/includePrompt/includeSystem: önbellek iz çıktısına nelerin dahil edileceğini denetler (tamamı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 denetler (varsayılan:true).auto.enabled: paket kurulumları için arka planda otomatik güncellemeyi etkinleştirir (varsayılan:false).auto.stableDelayHours: stable kanalında otomatik uygulama öncesindeki asgari gecikme, saat cinsinden (varsayılan:6; azami:168).auto.stableJitterHours: stable kanalında ek dağıtım yayılım penceresi, saat cinsinden (varsayılan:12; azami:168).auto.betaCheckIntervalHours: beta kanalı denetimlerinin kaç saatte bir çalışacağı (varsayılan:1; azami:24).
ACP
enabled: genel ACP özellik kapısı (varsayılan:false).dispatch.enabled: ACP oturum turu dispatch 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ı eklentisiyle eşleşmelidir).defaultAgent: oluşturmalarda açık bir hedef belirtilmediğinde kullanılan yedek ACP hedef ajan kimliği.allowedAgents: ACP çalışma zamanı oturumları için izin verilen ajan kimliklerinin izin listesi; boş olması ek kısıtlama olmadığı anlamına gelir.maxConcurrentSessions: eşzamanlı etkin ACP oturumlarının azami sayısı.stream.coalesceIdleMs: akışlı metin için milisaniye cinsinden boşta flush penceresi.stream.maxChunkChars: akışlı blok projeksiyonu bölünmeden önceki azami parça boyutu.stream.repeatSuppression: tur başına tekrar eden durum/araç satırlarını bastırır (varsayılan:true).stream.deliveryMode:"live"artımlı olarak akıtır;"final_only"turun son olaylarına kadar tamponlar.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 yansıtılan azami asistan çıktı karakteri.stream.maxSessionUpdateChars: yansıtılan ACP durum/güncelleme satırları için azami karakter sayısı.stream.tagVisibility: akışlı olaylar için etiket adlarını boolean görünürlük geçersiz kılmalarına eşleyen kayıt.runtime.ttlMinutes: ACP oturum çalışanlarının temizlenmeye uygun hale gelmeden önceki boşta TTL süresi, dakika cinsinden.runtime.installCommand: ACP çalışma zamanı ortamını bootstrap ederken çalıştırılacak isteğe bağlı kurulum komutu.
CLI
cli.banner.taglineMode, banner slogan stilini denetler:"random"(varsayılan): dönen eğlenceli/mevsimsel sloganlar."default": sabit nötr slogan (All your chats, one OpenClaw.)."off": slogan metni yoktur (banner başlığı/sürümü yine gösterilir).
- Banner’ın tamamını gizlemek için (yalnızca sloganları değil),
OPENCLAW_HIDE_BANNER=1ortam değişkenini ayarlayın.
Wizard
CLI rehberli kurulum akışları (onboard, configure, doctor) tarafından yazılan meta veriler:
Kimlik
Agent defaults altındakiagents.list kimlik alanlarına bakın.
Bridge (eski, kaldırıldı)
Geçerli derlemeler artık TCP bridge 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ı temizleyebilir).
Eski bridge yapılandırması (tarihsel başvuru)
Eski bridge yapılandırması (tarihsel başvuru)
Cron
sessionRetention: tamamlanan yalıtılmış cron çalıştırma oturumlarınınsessions.jsoniçinden budanmadan önce ne kadar süre tutulacağını belirler. Ayrıca arşivlenmiş silinmiş cron transcript’lerinin temizliğini de denetler. Varsayılan:24h; devre dışı bırakmak içinfalseayarlayın.runLog.maxBytes: budamadan önce çalıştırma günlük dosyası başına azami boyut (cron/runs/<jobId>.jsonl). 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 için kullanılan bearer token (delivery.mode = "webhook"); atlanırsa auth üstbilgisi gönderilmez.webhook: yalnızca hâlânotify: truekullanan saklanmış işler için kullanılan, kullanımdan kalkmış 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 milisaniye cinsinden geri çekilme gecikmeleri dizisi (varsayılan:[30000, 60000, 300000]; 1–10 giriş).retryOn: yeniden denemeyi 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 tamsayı, min:1).cooldownMs: aynı iş için yinelenen uyarılar arasındaki asgari milisaniye sayısı (negatif olmayan tamsayı).mode: teslim modu —"announce"bir kanal mesajı üzerinden gönderir;"webhook"yapılandırılmış webhook’a POST eder.accountId: uyarı teslimini kapsamlamak 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"announce"olur.channel: announce teslimi için kanal geçersiz kılması."last", bilinen son teslim kanalını yeniden kullanır.to: açık announce hedefi veya webhook URL’si. Webhook modu için zorunludur.accountId: teslim için isteğe bağlı hesap geçersiz kılması.- İş başına
delivery.failureDestination, bu genel varsayılanı geçersiz kılar. - Genel veya iş başına hiçbir hata hedefi ayarlanmamışsa, zaten
announceile teslim eden işler hata durumunda o birincil announce hedefine geri döner. delivery.failureDestination, işin birincildelivery.modedeğeri"webhook"olmadığı sürece yalnızcasessionTarget="isolated"işleri için desteklenir.
Medya model şablon değişkenleri
tools.media.models[].args içinde genişletilen şablon yer tutucuları:
| Değişken | Açıklama |
|---|---|
{{Body}} | Tam gelen mesaj gövdesi |
{{RawBody}} | Ham gövde (geçmiş/gönderen sarmalayıcıları yok) |
{{BodyStripped}} | Grup mention’ları çıkarılmış gövde |
{{From}} | Gönderen tanımlayıcısı |
{{To}} | Hedef tanımlayıcısı |
{{MessageSid}} | Kanal mesaj kimliği |
{{SessionId}} | Geçerli oturum UUID’si |
{{IsNewSession}} | Yeni oturum oluşturulduğunda "true" |
{{MediaUrl}} | Gelen medya pseudo-URL’si |
{{MediaPath}} | Yerel medya yolu |
{{MediaType}} | Medya türü (image/audio/document/…) |
{{Transcript}} | Ses transcript’i |
{{Prompt}} | CLI girdileri için çözümlenmiş medya istemi |
{{MaxChars}} | CLI girdileri için çözümlenmiş azami çıktı karakteri |
{{ChatType}} | "direct" veya "group" |
{{GroupSubject}} | Grup konusu (best effort) |
{{GroupMembers}} | Grup üyeleri önizlemesi (best effort) |
{{SenderName}} | Gönderen görünen adı (best effort) |
{{SenderE164}} | Gönderen telefon numarası (best effort) |
{{Provider}} | Sağlayıcı ipucu (whatsapp, telegram, discord, vb.) |
Yapılandırma include’ları ($include)
Yapılandırmayı birden çok dosyaya bölün:
- Tek dosya: içeren nesnenin yerini alır.
- Dosya dizisi: sırayla derin birleştirilir (sonraki, öncekini geçersiz kılar).
- Komşu anahtarlar: include’lardan sonra birleştirilir (include edilen değerleri geçersiz kılar).
- İç içe include’lar: en fazla 10 düzey derinlik.
- Yollar: include eden dosyaya göre çözülür, ancak üst düzey yapılandırma dizini içinde kalmalıdır (
openclaw.jsondosyasınındirnamedeğeri). Mutlak/../biçimlerine yalnızca bu sınır içinde çözülmeye devam ettiklerinde izin verilir. - Hatalar: eksik dosyalar, ayrıştırma hataları ve dairesel include’lar için açık iletiler.
İlgili: Yapılandırma · Yapılandırma Örnekleri · Doctor