channels.* altındaki kanal başına yapılandırma anahtarları. Slack, Discord, Telegram, WhatsApp, Matrix, iMessage ve diğer paketli kanal Pluginleri için DM ve grup erişimini, çok hesaplı kurulumları, bahsetme ile kısıtlamayı ve kanal başına anahtarları kapsar.
Ajanlar, araçlar, Gateway çalışma zamanı ve diğer üst düzey anahtarlar için bkz.
Yapılandırma başvurusu.
Kanallar
Her kanal, yapılandırma bölümü mevcut olduğunda 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 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 (allowFrom: ["*"] gerektirir) |
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 (bahsetme ile kısıtlama yine de uygulanır) |
disabled | Tüm grup/oda iletilerini engelle |
channels.defaults.groupPolicy, bir sağlayıcının groupPolicy değeri ayarlanmamışsa varsayılanı belirler.
Eşleştirme kodlarının süresi 1 saat sonra dolar. Bekleyen DM eşleştirme istekleri kanal başına 3 ile sınırlıdır.
Bir sağlayıcı bloğu tamamen eksikse (channels.<provider> yoksa), çalışma zamanı grup ilkesi başlangıç uyarısıyla allowlist değerine geri döner (kapalı hata davranışı).Kanal model geçersiz kılmaları
Belirli kanal ID’lerini veya doğrudan ileti eşlerini 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 model geçersiz kılması olmadığında uygulanır (örneğin /model ile ayarlanmışsa uygulanmaz).
Grup/konu konuşmaları için anahtarlar kanala özgü grup ID’leri, konu ID’leri veya kanal adlarıdır. Doğrudan ileti (DM) konuşmaları için anahtarlar kanalın gönderen kimliğinden türetilen eş tanımlayıcılarıdır (nativeDirectUserId, origin.from, origin.to, OriginatingTo, From veya SenderId). Kesin anahtar biçimi kanala bağlıdır:
| Kanal | DM anahtarı biçimi | Örnek |
|---|---|---|
| Slack | user:U... | user:U12345 |
| Telegram | ham kullanıcı ID’si | 123456789 |
| Discord | ham kullanıcı ID’si | 987654321 |
| telefon numarası veya JID | 15551234567 | |
| Matrix | Matrix kullanıcı ID’si | @user:matrix.org |
| Feishu | feishu:ou_... | feishu:ou_a8b6cab7e945387de5f253775d9b4d85 |
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: sağlayıcı düzeyindegroupPolicyayarlanmamışsa 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ılanmış/konu/geçmiş bağlamının tümünü dahil eder),allowlist(yalnızca izin listesindeki gönderenlerden gelen bağlamı dahil eder),allowlist_quote(izin listesiyle 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 et.channels.defaults.heartbeat.showAlerts: bozulmuş/hata durumlarını Heartbeat çıktısına dahil et.channels.defaults.heartbeat.useIndicator: kompakt gösterge tarzı Heartbeat çıktısı oluştur.
type: "acp"içeren üst düzeybindings[]girişleri, WhatsApp DM’leri ve grupları için kalıcı ACP bağlamalarını yapılandırır.match.peer.idiçinde E.164 doğrudan numara veya WhatsApp grup JID’si kullanın. Alan semantiği ACP Ajanları içinde ortaktır.
Çok hesaplı WhatsApp
Çok hesaplı WhatsApp
- Giden komutlar, varsa varsayılan olarak
defaulthesabını kullanır; yoksa ilk yapılandırılmış hesap id’sini (sıralı) kullanır. - İsteğe bağlı
channels.whatsapp.defaultAccount, yapılandırılmış bir hesap id’siyle eşleştiğinde bu yedek varsayılan hesap seçimini geçersiz kılar. - Eski tek hesaplı Baileys kimlik doğrulama dizini
openclaw doctortarafındanwhatsapp/defaultiçine geçirilir. - Hesap başına geçersiz kılmalar:
channels.whatsapp.accounts.<id>.sendReadReceipts,channels.whatsapp.accounts.<id>.dmPolicy,channels.whatsapp.accounts.<id>.allowFrom.
Telegram
- Bot tokeni:
channels.telegram.botTokenveyachannels.telegram.tokenFile(yalnızca normal dosya; sembolik bağlantılar reddedilir), varsayılan hesap için yedek olarakTELEGRAM_BOT_TOKEN. apiRootyalnızca Telegram Bot API köküdür.https://api.telegram.org/bot<TOKEN>değil,https://api.telegram.orgveya kendi barındırdığınız/proxy kökünüzü kullanın;openclaw doctor --fixyanlışlıkla eklenmiş sondaki/bot<TOKEN>son ekini kaldırır.- İsteğe bağlı
channels.telegram.defaultAccount, yapılandırılmış bir hesap id’siyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. - Çok hesaplı kurulumlarda (2+ hesap id’si), yedek yönlendirmeyi önlemek için açık bir varsayılan (
channels.telegram.defaultAccountveyachannels.telegram.accounts.default) ayarlayın;openclaw doctorbu eksik veya geçersiz olduğunda uyarır. configWrites: false, Telegram tarafından başlatılan yapılandırma yazmalarını engeller (süper grup ID geçişleri,/config set|unset).type: "acp"içeren üst düzeybindings[]girişleri, forum konuları için kalıcı ACP bağlamalarını yapılandırır (match.peer.idiçinde kanonikchatId:topic:topicIdkullanın). Alan semantiği ACP Ajanları 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: varsayılan hesap için yedek olarak
DISCORD_BOT_TOKENilechannels.discord.token. - Açık bir Discord
tokensağlayan doğrudan giden çağrılar, çağrı için bu token’ı kullanır; hesap yeniden deneme/ilke ayarları yine etkin runtime anlık görüntüsündeki seçili 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’lanmış adı kullanır (#yok). Sunucu kimliklerini tercih edin. - Bot tarafından yazılmış mesajlar varsayılan olarak yok sayılır.
allowBots: truebunları etkinleştirir; yalnızca bottan bahseden bot mesajlarını kabul etmek içinallowBots: "mentions"kullanın (kendi mesajları yine filtrelenir). - Bot tarafından yazılmış gelen mesajları destekleyen kanallar paylaşılan bot döngüsü korumasını kullanabilir. Temel eş bütçeleri için
channels.defaults.botLoopProtectionayarlayın, ardından yalnızca bir yüzey farklı sınırlara ihtiyaç duyduğunda kanalı veya hesabı geçersiz kılın. channels.discord.guilds.<id>.ignoreOtherMentions(ve kanal geçersiz kılmaları), bottan bahsetmeden başka bir kullanıcıdan veya rolden bahseden mesajları düşürür (@everyone/@here hariç).channels.discord.mentionAliases, göndermeden önce kararlı giden@handlemetnini Discord kullanıcı kimlikleriyle eşler; böylece bilinen ekip arkadaşlarından geçici dizin önbelleği boşken bile deterministik olarak bahsedilebilir. Hesap başına geçersiz kılmalarchannels.discord.accounts.<accountId>.mentionAliasesaltında bulunur.maxLinesPerMessage(varsayılan 17), 2000 karakterin altında olsa bile uzun mesajları böler.channels.discord.suppressEmbedsvarsayılan olaraktruedeğerindedir; bu nedenle giden URL’ler devre dışı bırakılmadıkça Discord bağlantı önizlemelerine genişlemez. Açıkembedsyükleri yine normal şekilde gönderilir; mesaj başına araç çağrılarısuppressEmbedsile geçersiz kılabilir.channels.discord.threadBindings, Discord konuya bağlı yönlendirmeyi denetler:enabled: konuya 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: saat cinsinden etkinliksizlikte otomatik odaktan çıkarma için Discord geçersiz kılması (0devre dışı bırakır)maxAgeHours: saat cinsinden katı azami yaş için Discord geçersiz kılması (0devre dışı bırakır)spawnSessions:sessions_spawn({ thread: true })ve ACP konu üretme otomatik konu oluşturma/bağlama için anahtar (varsayılan:true)defaultSpawnContext: konuya bağlı üretimler için yerel alt aracı bağlamı (varsayılan olarak"fork")
type: "acp"içeren üst düzeybindings[]girdileri, kanallar ve konular için kalıcı ACP bağlamalarını yapılandırır (match.peer.idiçinde kanal/konu kimliğini kullanın). Alan semantiği ACP Aracıları içinde paylaşılır.channels.discord.ui.components.accentColor, Discord bileşenleri v2 kapsayıcıları için vurgu rengini ayarlar.channels.discord.agentComponents.ttlMs, gönderilen Discord bileşen geri çağırmalarının ne kadar süre kayıtlı kalacağını denetler. Varsayılan1800000(30 dakika), azami değer86400000(24 saat) ve hesap başına geçersiz kılmalarchannels.discord.accounts.<accountId>.agentComponents.ttlMsaltında bulunur. Daha uzun değerler eski düğmeleri/seçimleri/formları daha uzun süre kullanılabilir tutar, bu nedenle iş akışına uyan en kısa TTL’yi tercih edin.channels.discord.voice, Discord ses kanalı konuşmalarını ve isteğe bağlı otomatik katılım + LLM + TTS geçersiz kılmalarını etkinleştirir. Yalnızca metin Discord yapılandırmaları sesi varsayılan olarak kapalı bırakır; dahil olmak içinchannels.discord.voice.enabled=trueayarlayın.channels.discord.voice.model, Discord ses kanalı yanıtları için kullanılan LLM modelini isteğe bağlı olarak geçersiz kılar.channels.discord.voice.daveEncryptionvechannels.discord.voice.decryptionFailureTolerance,@discordjs/voiceDAVE seçeneklerine olduğu gibi aktarılır (varsayılan olaraktrueve24).channels.discord.voice.connectTimeoutMs,/vc joinve otomatik katılım denemeleri için başlangıç@discordjs/voiceReady beklemesini denetler (varsayılan olarak30000).channels.discord.voice.reconnectGraceMs, bağlantısı kesilen bir ses oturumunun OpenClaw onu yok etmeden önce yeniden bağlantı sinyallemesine girmesi için ne kadar süre alabileceğini denetler (varsayılan olarak15000).- Discord ses oynatımı başka bir kullanıcının konuşmaya başlama olayı tarafından kesilmez. Geri bildirim döngülerinden kaçınmak için OpenClaw, TTS oynatılırken yeni ses yakalamayı yok sayar.
- OpenClaw ayrıca tekrarlanan şifre çözme hatalarından sonra bir ses oturumundan ayrılıp yeniden katılarak ses alma kurtarması dener.
channels.discord.streaming, kanonik akış modu anahtarıdır. Discord varsayılan olarakstreaming.mode: "progress"kullanır; böylece araç/iş ilerlemesi tek bir düzenlenmiş önizleme mesajında görünür. Bunu devre dışı bırakmak içinstreaming.mode: "off"ayarlayın. EskistreamModeve booleanstreamingdeğerleri runtime takma adları olarak kalır; kalıcı yapılandırmayı yeniden yazmak içinopenclaw doctor --fixçalıştırın.channels.discord.autoPresence, runtime kullanılabilirliğini bot varlığına eşler (healthy => online, degraded => idle, exhausted => 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ştirmesini 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ı aracı kimliği izin listesi. Tüm aracılar için onayları iletmek üzere atlayın.sessionFilter: isteğe bağlı oturum anahtarı örüntüleri (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"ikisine de 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ından sonra onay DM’lerini siler.
off (yok), own (botun mesajları, varsayılan), all (tüm mesajlar), allowlist (tüm mesajlarda guilds.<id>.users içinden).
Google Chat
- Hizmet hesabı JSON: 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 yetkili kimliği eşleştirmesini yeniden etkinleştirir (acil durum uyumluluk modu).
Slack
- Soket modu hem
botTokenhem deappTokengerektirir (varsayılan hesap ortam geri dönüşü içinSLACK_BOT_TOKEN+SLACK_APP_TOKEN). - HTTP modu
botTokenile birliktesigningSecretgerektirir (kök düzeyde veya hesap başına). socketMode, Slack SDK Soket Modu taşıma ayarlarını herkese açık Bolt alıcı API’sine iletir. Bunu yalnızca ping/pong zaman aşımı veya eski websocket davranışını araştırırken kullanın.clientPingTimeoutvarsayılan olarak15000değerindedir;serverPingTimeoutvepingPongLoggingEnabledyalnızca yapılandırıldığında iletilir.botToken,appToken,signingSecretveuserTokendüz metin dizelerini veya SecretRef nesnelerini kabul eder.- Slack hesap anlık görüntüleri, kimlik bilgisi başına kaynak/durum alanlarını gösterir; örneğin
botTokenSource,botTokenStatus,appTokenStatusve HTTP modundasigningSecretStatus.configured_unavailable, hesabın SecretRef üzerinden yapılandırıldığı ancak mevcut komut/çalışma zamanı yolunun gizli değerini çözemediği anlamına gelir. 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.mode, kanonik Slack akış modu anahtarıdır.channels.slack.streaming.nativeTransport, Slack’in yerel akış taşımasını kontrol eder. EskistreamMode, booleanstreamingvenativeStreamingdeğerleri çalışma zamanı takma adları olarak kalır; kalıcı yapılandırmayı yeniden yazmak içinopenclaw doctor --fixçalıştırın.unfurlLinksveunfurlMedia, bot yanıtları için Slack’inchat.postMessagebağlantı ve medya genişletme boolean değerlerini iletir.unfurlLinksvarsayılan olarakfalsedeğerindedir; böylece etkinleştirilmedikçe giden bot bağlantıları satır içinde genişletilmez.unfurlMedia, yapılandırılmadıkça atlanır. Bir hesap için üst düzey değeri geçersiz kılmak üzere herhangi bir değerichannels.slack.accounts.<accountId>altında ayarlayın.- Teslim hedefleri için
user:<id>(DM) veyachannel:<id>kullanın.
off, own (varsayılan), all, allowlist (reactionAllowlist üzerinden).
Thread oturumu yalıtımı: thread.historyScope, thread başınadır (varsayılan) veya kanal genelinde paylaşılır. thread.inheritParent, üst kanal konuşma dökümünü yeni thread’lere kopyalar.
- Slack yerel akışı ve Slack asistan tarzı “yazıyor…” thread durumu, bir yanıt thread hedefi gerektirir. Üst düzey DM’ler varsayılan olarak thread dışında kalır; bu yüzden thread tarzı yerel akış/durum önizlemesini göstermek yerine Slack taslak gönder-ve-düzenle önizlemeleri üzerinden akış yapmaya devam edebilirler.
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-yerel onay istemcisi teslimi ve exec onaylayıcı yetkilendirmesi. Discord ile aynı şema:enabled(true/false/"auto"),approvers(Slack kullanıcı kimlikleri),agentFilter,sessionFiltervetarget("dm","channel"veya"both"). Plugin onayları, Slack Plugin onaylayıcıları çözümlendiğinde Slack kaynaklı istekler için bu yerel istemci yolunu kullanabilir; Slack-yerel Plugin onay teslimi, Slack kaynaklı oturumlar veya Slack hedefleri içinapprovals.pluginüzerinden de etkinleştirilebilir. Plugin onayları, exec onaylayıcıları değil,allowFromve varsayılan yönlendirmeden gelen Slack Plugin onaylayıcılarını kullanır.
| Eylem grubu | Varsayılan | Notlar |
|---|---|---|
| reactions | etkin | Tepki ekle + 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, mevcut OpenClaw sürümlerinde paketlenmiş bir Plugin olarak gelir. Daha eski veya özel derlemeler, mevcut bir npm paketiniopenclaw plugins install @openclaw/mattermost ile kurabilir. Bir sürümü sabitlemeden önce
mevcut dist-tag’ler için
npmjs.com/package/@openclaw/mattermost
sayfasını kontrol edin.
oncall (@-mention üzerinde 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 geri çağrıları, slash komutu kaydı sırasında Mattermost tarafından döndürülen
komut başına token’larla doğrulanır. Kayıt başarısız olursa veya hiçbir
komut etkinleştirilmezse, OpenClaw geri çağrıları
Unauthorized: invalid command token.ile reddeder. - Özel/tailnet/dahili geri çağrı host’ları için Mattermost,
ServiceSettings.AllowedUntrustedInternalConnectionsdeğerinin geri çağrı host’unu/etki alanını içermesini gerektirebilir. Tam URL’ler değil, host/etki alanı değerlerini kullanın. channels.mattermost.configWrites: Mattermost tarafından başlatılan yapılandırma yazmalarına izin ver veya reddet.channels.mattermost.requireMention: kanallarda yanıt vermeden önce@mentiongerektir.channels.mattermost.groups.<channelId>.requireMention: kanal başına mention kapısı 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 üzerinden).
channels.signal.account: kanal başlangıcını belirli bir Signal hesap kimliğine sabitle.channels.signal.configWrites: Signal tarafından başlatılan yapılandırma yazmalarına izin ver veya reddet.- İ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.
iMessage
OpenClaw,imsg rpc başlatır (stdio üzerinden JSON-RPC). Daemon veya port gerekmez. Host, Messages veritabanı ve Automation izinlerini verebiliyorsa, yeni OpenClaw iMessage kurulumları için tercih edilen yol budur.
BlueBubbles desteği kaldırıldı. channels.bluebubbles, mevcut OpenClaw üzerinde desteklenen bir çalışma zamanı yapılandırma yüzeyi değildir. Eski yapılandırmaları channels.imessage değerine taşıyın; kısa sürüm için BlueBubbles kaldırma ve imsg iMessage yolu, tam çeviri tablosu için BlueBubbles’dan geliyorsanız sayfasını kullanın.
Gateway, oturum açılmış Messages Mac üzerinde çalışmıyorsa channels.imessage.enabled=true tutun ve channels.imessage.cliPath değerini o Mac üzerinde imsg "$@" çalıştıran bir SSH sarmalayıcısına ayarlayın. Varsayılan yerel imsg yolu yalnızca macOS içindir.
Üretim gönderimleri için bir SSH sarmalayıcısına güvenmeden önce, tam olarak o sarmalayıcı üzerinden giden bir imsg send doğrulayın. Bazı macOS TCC durumları Messages Automation’ı /usr/libexec/sshd-keygen-wrapper öğesine atar; bu da okumaların ve yoklamaların çalışmasına, gönderimlerin ise AppleEvents -1743 ile başarısız olmasına neden olabilir; bkz. SSH sarmalayıcı gönderimleri AppleEvents -1743 ile başarısız oluyor.
-
İ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 DB için Full Disk Access gerektirir.
-
chat_id:<id>hedeflerini tercih edin. Sohbetleri listelemek içinimsg chats --limit 20kullanın. -
cliPathbir SSH sarmalayıcısına işaret edebilir; SCP ek alma işlemi içinremoteHost(hostveyauser@host) ayarlayın. -
attachmentRootsveremoteAttachmentRoots, gelen ek yollarını sınırlar (varsayılan:/Users/*/Library/Messages/Attachments). -
SCP sıkı host anahtarı denetimi kullanır; bu yüzden relay host anahtarının
~/.ssh/known_hostsiçinde zaten bulunduğundan emin olun. -
channels.imessage.configWrites: iMessage tarafından başlatılan yapılandırma yazmalarına izin ver veya reddet. -
channels.imessage.sendTransport: normal giden yanıtlar için tercih edilenimsgRPC gönderme taşıması.auto(varsayılan), çalışıyorsa mevcut sohbetler için IMCore köprüsünü kullanır, ardından AppleScript’e geri döner;bridgeözel API teslimi gerektirir;applescriptherkese açık Messages otomasyon yolunu zorlar. -
channels.imessage.actions.*:imsg status/openclaw channels status --probetarafından da kapılanan özel API eylemlerini etkinleştir. -
channels.imessage.includeAttachmentsvarsayılan olarak kapalıdır; aracı turlarında gelen medya beklemeden önce bunutrueolarak ayarlayın. -
Köprü/gateway yeniden başlatmasından sonra gelen kurtarma otomatiktir (GUID tekilleştirme artı eski backlog yaş sınırı). Mevcut
channels.imessage.catchup.enabled: trueyapılandırmaları, kullanımdan kaldırılmış bir uyumluluk profili olarak hâlâ onurlandırılır. -
channels.imessage.groups: grup kayıt defteri ve grup başına ayarlar.groupPolicy: "allowlist"ile grup mesajlarının kayıt defteri kapısından geçebilmesi için açıkchat_idanahtarları veya"*"joker girişi yapılandırın. -
type: "acp"içeren üst düzeybindings[]girdileri, iMessage konuşmalarını kalıcı ACP oturumlarına bağlayabilir.match.peer.idiçinde normalleştirilmiş bir tanıtıcı veya açık sohbet hedefi (chat_id:*,chat_guid:*,chat_identifier:*) kullanın. Paylaşılan alan semantiği: ACP Aracıları.
iMessage SSH sarmalayıcı örneği
iMessage SSH sarmalayıcı örneği
Matrix
Matrix Plugin desteklidir vechannels.matrix altında yapılandırılır.
- Belirteç 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.proxyve bu ağ katılımı birbirinden bağımsız denetimlerdir.channels.matrix.defaultAccount, çok hesaplı kurulumlarda tercih edilen hesabı seçer.channels.matrix.autoJoinvarsayılan olarakoffdeğerindedir; bu nedenle davet edilen odalar ve yeni DM tarzı davetler,autoJoinAllowlistileautoJoin: "allowlist"veyaautoJoin: "always"ayarlanana 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, onaylayıcılarapproversveyacommands.ownerAllowFromüzerinden çözümlenebildiğinde exec onayları etkinleşir.approvers: Exec isteklerini onaylamasına izin verilen Matrix kullanıcı kimlikleri (örn.@owner:example.org).agentFilter: İsteğe bağlı ajan kimliği izin listesi. Tüm ajanlar için onayları iletmek üzere atlayın.sessionFilter: İsteğe bağlı oturum anahtarı desenleri (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 oturumlarda nasıl gruplanacağını denetler:per-user(varsayılan) yönlendirilen eşe göre paylaşır,per-roomise her DM odasını yalıtır.- Matrix durum yoklamaları 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 Plugin 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, ekip başına/kanal başına geçersiz kılmalar) Microsoft Teams içinde belgelenmiştir.
IRC
IRC Plugin 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/bahsetme geçidi) IRC içinde belgelenmiştir.
Çoklu hesap (tüm kanallar)
Kanal başına birden çok hesap çalıştırın (her birinin kendiaccountId değeriyle):
accountIdatlandığındadefaultkullanılır (CLI + yönlendirme).- Ortam belirteçleri yalnızca varsayılan hesaba uygulanır.
- 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. - Tek hesaplı üst düzey kanal yapılandırmasındayken
openclaw channels add(veya kanal başlangıç kurulumu) ile varsayılan olmayan bir hesap eklerseniz OpenClaw, özgün hesabın çalışmaya devam etmesi için hesap kapsamlı üst düzey tek hesap değerlerini önce kanal hesap haritasına yükseltir. Çoğu kanal bunlarıchannels.<channel>.accounts.defaultiçine taşır; Matrix bunun yerine mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir. - Mevcut yalnızca kanal bağlamaları (
accountIdyok) varsayılan hesapla eşleşmeye devam eder; hesap kapsamlı bağlamalar isteğe bağlı kalır. openclaw doctor --fix, hesap kapsamlı üst düzey tek hesap değerlerini o kanal için seçilen yükseltilmiş hesaba taşıyarak karma şekilleri de onarır. Çoğu kanalaccounts.defaultkullanır; Matrix bunun yerine mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir.
Diğer Plugin kanalları
Birçok Plugin kanalıchannels.<id> olarak yapılandırılır ve kendi özel kanal sayfalarında belgelenir (örneğin Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat ve Twitch).
Tam kanal dizinine bakın: Kanallar.
Grup sohbeti bahsetme geçidi
Grup mesajları varsayılan olarak bahsetme gerektirir (metadata bahsetmesi veya güvenli regex desenleri). WhatsApp, Telegram, Discord, Google Chat ve iMessage grup sohbetleri için geçerlidir. Görünür yanıtlar ayrı olarak denetlenir. Normal grup, kanal ve dahili WebChat doğrudan istekleri varsayılan olarak otomatik son teslimi kullanır: son asistan metni eski görünür yanıt yolu üzerinden gönderilir. Görünür çıktı yalnızca ajanmessage(action=send) çağırdıktan sonra gönderilmeliyse messages.visibleReplies: "message_tool" veya messages.groupChat.visibleReplies: "message_tool" seçeneğine katılın. Model, yalnızca araç moduna katılım yapılan bir modda mesaj aracını çağırmadan son metin döndürürse, bu son metin özel kalır ve gateway ayrıntılı günlüğü bastırılan yük metadata’sını kaydeder.
Yalnızca araç görünür yanıtları, araçları güvenilir biçimde çağıran bir model/çalışma zamanı gerektirir ve GPT 5.5 gibi en yeni nesil modellerde paylaşılan ortam odaları için önerilir. Bazı daha zayıf modeller son metni yanıtlayabilir, ancak kaynakta görünür çıktının message(action=send) ile gönderilmesi gerektiğini anlayamayabilir. Bu modeller için, son asistan turunun görünür yanıt yolu olması amacıyla "automatic" kullanın. Oturum günlüğünde didSendViaMessagingTool: false ile asistan metni görünüyorsa model, mesaj aracını çağırmak yerine özel son metin üretmiştir. O kanal için daha güçlü bir araç çağırma modeline geçin, bastırılan yük özeti için gateway ayrıntılı günlüğünü inceleyin veya her grup/kanal isteğinde görünür son yanıtları kullanmak için messages.groupChat.visibleReplies: "automatic" ayarlayın.
Mesaj aracı etkin araç ilkesi altında kullanılamıyorsa OpenClaw, yanıtı sessizce bastırmak yerine otomatik görünür yanıtlara geri döner. openclaw doctor bu uyumsuzluk hakkında uyarır.
Bu kural normal ajan son metni için geçerlidir. Plugin sahipli konuşma bağlamaları, sahip Plugin’in döndürdüğü yanıtı, sahiplenilen bağlı iş parçacığı turları için görünür yanıt olarak kullanır; Plugin’in bu bağlama yanıtları için message(action=send) çağırması gerekmez.
Sorun giderme: grup @bahsetmesi yazıyor göstergesini tetikliyor, sonra sessizlik oluyor (hata yok)
Belirti: Bir grup/kanal @bahsetmesi yazıyor göstergesini gösterir ve gateway günlüğü dispatch complete (queuedFinal=false, replies=0) bildirir, ancak odaya hiçbir mesaj düşmez. Aynı ajana DM’ler normal şekilde yanıt verir.
Neden: Grup/kanal görünür yanıt modu "message_tool" olarak çözümlenir; bu nedenle OpenClaw turu çalıştırır ancak ajan message(action=send) çağırmadıkça son asistan metnini bastırır. Bu modda NO_REPLY sözleşmesi yoktur; mesaj aracı çağrısı yoksa kaynak yanıtı da yoktur. Hata yoktur çünkü bastırma yapılandırılmış davranıştır. Normal grup ve kanal turları varsayılan olarak "automatic" kullanır; bu nedenle bu belirti yalnızca messages.groupChat.visibleReplies (veya genel messages.visibleReplies) açıkça "message_tool" olarak ayarlandığında görünür. Harness defaultVisibleReplies burada uygulanmaz — grup/kanal çözümleyicisi bunu yok sayar; yalnızca doğrudan/kaynak sohbetleri etkiler (Codex harness doğrudan sohbet sonlarını bu şekilde bastırır).
Düzeltme: Daha güçlü bir araç çağırma modeli seçin, "automatic" varsayılanına geri dönmek için açık "message_tool" geçersiz kılmasını kaldırın veya her grup/kanal isteğinde görünür yanıtları zorlamak için messages.groupChat.visibleReplies: "automatic" ayarlayın. Gateway, dosya kaydedildikten sonra messages yapılandırmasını sıcak yeniden yükler; Gateway’i yalnızca dağıtımda dosya izleme veya yapılandırma yeniden yükleme devre dışıysa yeniden başlatın.
Bahsetme türleri:
- Metadata bahsetmeleri: Yerel platform @-bahsetmeleri. WhatsApp self-chat modunda yok sayılır.
- Metin desenleri:
agents.list[].groupChat.mentionPatternsiçindeki güvenli regex desenleri. Geçersiz desenler ve güvenli olmayan iç içe yineleme yok sayılır. - Bahsetme geçidi yalnızca algılama mümkün olduğunda uygulanır (yerel bahsetmeler veya en az bir desen).
messages.groupChat.historyLimit genel varsayılanı ayarlar. Kanallar channels.<channel>.historyLimit ile (veya hesap başına) geçersiz kılabilir. Devre dışı bırakmak için 0 ayarlayın.
messages.groupChat.unmentionedInbound: "room_event", desteklenen kanallarda bahsedilmeyen her zaman açık grup/kanal mesajlarını sessiz oda bağlamı olarak gönderir. Bahsedilen mesajlar, komutlar ve doğrudan mesajlar kullanıcı isteği olarak kalır. Tam Discord, Slack ve Telegram örnekleri için Ortam oda olayları bölümüne bakın.
messages.visibleReplies genel kaynak-olay varsayılanıdır; messages.groupChat.visibleReplies bunu grup/kanal kaynak olayları için geçersiz kılar. messages.visibleReplies ayarlanmadığında doğrudan/kaynak sohbetler seçilen çalışma zamanı veya harness varsayılanını kullanır, ancak dahili WebChat doğrudan turları Pi/Codex istem eşliği için otomatik son teslimi kullanır. Görünür çıktı için bilinçli olarak message(action=send) gerektirmek üzere messages.visibleReplies: "message_tool" ayarlayın. Kanal izin listeleri ve bahsetme geçidi, bir olayın işlenip işlenmeyeceğine yine de karar verir.
DM geçmiş sınırları
telegram, whatsapp, discord, slack, signal, imessage, msteams.
Self-chat modu
Self-chat modunu etkinleştirmek içinallowFrom içine kendi numaranızı ekleyin (yerel @-bahsetmeleri yok sayar, yalnızca metin desenlerine yanıt verir):
Komutlar (sohbet komutu işleme)
Command details
Command details
- Bu blok komut yüzeylerini yapılandırır. Geçerli yerleşik + birlikte paketlenen komut kataloğu için bkz. Eğik Çizgi Komutları.
- Bu sayfa tam komut kataloğu değil, bir yapılandırma anahtarı başvurusudur. QQ Bot
/bot-ping/bot-help/bot-logs, LINE/card, cihaz eşleştirme/pair, bellek/dreaming, telefon denetimi/phoneve Talk/voicegibi kanal/Plugin sahipli komutlar, kanal/Plugin sayfalarında ve Eğik Çizgi Komutları sayfasında belgelenmiştir. - Metin komutları, başında
/bulunan bağımsız iletiler 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"). Discord içinfalse, başlangıç sırasında yerel komut kaydını ve temizlemeyi atlar. - Kanal başına yerel Skills kaydını
channels.<provider>.commands.nativeSkillsile geçersiz kılın. channels.telegram.customCommandsek Telegram bot menü girdileri ekler.bash: true, ana makine kabuğu için! <cmd>değerini etkinleştirir.tools.elevated.enabledve gönderenintools.elevated.allowFrom.<channel>içinde olmasını gerektirir.config: true,/configdeğerini 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 istemcileri için kullanılabilir kalır.mcp: true,mcp.serversaltındaki OpenClaw tarafından yönetilen MCP sunucu yapılandırması için/mcpdeğerini etkinleştirir.plugins: true, Plugin keşfi, yükleme ve etkinleştirme/devre dışı bırakma denetimleri için/pluginsdeğerini etkinleştirir.channels.<provider>.configWrites, kanal başına yapılandırma değişikliklerini sınırlar (varsayılan: true).- Çok hesaplı kanallar için
channels.<provider>.accounts.<id>.configWrites, o hesabı hedefleyen yazmaları da sınırlar (örneğin/allowlist --config --account <id>veya/config set channels.<provider>.accounts.<id>...). restart: false,/restartve gateway yeniden başlatma araç eylemlerini devre dışı bırakır. Varsayılan:true.ownerAllowFrom, yalnızca sahip komutları ve sahip kapılı kanal eylemleri için açık sahip izin listesidir.allowFromdeğerinden ayrıdır.ownerDisplay: "hash", sistem isteminde sahip kimliklerinin özetini alır. Özetlemeyi denetlemek içinownerDisplaySecretdeğerini ayarlayı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,allowFromayarlanmadığında komutların erişim grubu ilkelerini atlamasına izin verir.- Komut belgeleri haritası:
- yerleşik + birlikte paketlenen katalog: Eğik Çizgi Komutları
- kanala özel komut yüzeyleri: Kanallar
- QQ Bot komutları: QQ Bot
- eşleştirme komutları: Eşleştirme
- LINE kart komutu: LINE
- bellek dreaming: Dreaming
İlgili
- Yapılandırma başvurusu — üst düzey anahtarlar
- Yapılandırma — aracılar
- Kanallara genel bakış