#room) ve doğrudan mesajlarda OpenClaw kullanmak istediğinizde IRC kullanın.
Resmî IRC Plugin’ini yükleyin, ardından channels.irc altında yapılandırın.
Hızlı başlangıç
- Plugin’i yükleyin:
~/.openclaw/openclaw.jsoniçinde en az ana bilgisayarı, takma adı ve katılınacak kanalları ayarlayın:
- Gateway’i başlatın/yeniden başlatın:
Gelen iletilerin dayanıklılığı
OpenClaw, kabul edilen her IRCPRIVMSG öğesini normal politika kontrollerinden ve ajan yönlendirmesinden önce kalıcı giriş kuyruğuna yazar. Bekleyen veya yeniden denenebilir mesajlar Gateway yeniden başlatıldığında korunur ve kanal ya da doğrudan mesaj eşine göre sıralı kalır.
IRC, yeniden oynatılabilir bir teslimat kimliği sağlamaz veya bağlantısı kesilmiş bir istemcinin kaçırdığı mesajları yeniden göndermez. Bu nedenle OpenClaw, yalnızca mevcut TCP bağlantısı içinde kararlı olan yerel bir kimlik atar. Kuyruk, yerel kabulden yönlendirmeye kadar olan aralığı korur; OpenClaw’a hiç ulaşmamış bir mesajı kurtaramaz veya sunucunun bağlantılar arasında yeniden gönderdiği bir mesajı tekilleştiremez.
Bağlantı ayarları
Güvenlik varsayılanları
- IRC, OpenClaw operatörü tarafından yönetilen ileri proxy yönlendirmesinin dışında ham TCP/TLS yuvaları kullanır. Tüm çıkış trafiğinin bu ileri proxy üzerinden geçmesini gerektiren dağıtımlarda, doğrudan IRC çıkışına açıkça onay verilmediği sürece
channels.irc.enabled=falseayarını kullanın. channels.irc.dmPolicyvarsayılan olarak"pairing"değerini kullanır: bilinmeyen doğrudan mesaj gönderenler,openclaw pairing approve irc <code>ile onaylayacağınız bir eşleştirme kodu alır.channels.irc.groupPolicyvarsayılan olarak"allowlist"değerini kullanır.groupPolicy="allowlist"kullanırken izin verilen kanalları tanımlamak içinchannels.irc.groupsayarını belirleyin.- Bilerek düz metin aktarımını kabul etmediğiniz sürece TLS (
channels.irc.tls=true) kullanın.
Erişim denetimi
IRC kanalları için iki ayrı “geçit” vardır:- Kanal erişimi (
groupPolicy+groups): botun bir kanaldan gelen mesajları kabul edip etmeyeceği. - Gönderen erişimi (
groupAllowFrom/ kanal başınagroups["#channel"].allowFrom): o kanal içinde botu kimlerin tetiklemesine izin verildiği.
- Doğrudan mesaj izin listesi (doğrudan mesaj gönderen erişimi):
channels.irc.allowFrom - Grup gönderen izin listesi (kanal gönderen erişimi):
channels.irc.groupAllowFrom - Kanal başına denetimler (kanal + gönderen + bahsetme kuralları):
requireMention,allowFrom,enabled,tools,toolsBySender,skillsvesystemPromptilechannels.irc.groups["#channel"] channels.irc.groupPolicy="open", yapılandırılmamış kanallara izin verir (varsayılan olarak yine de bahsetme geçidi uygulanır)
nick!user@host) kullanmalıdır.
Yalın takma ad eşleştirmesi değişkendir ve yalnızca channels.irc.dangerouslyAllowNameMatching: true olduğunda etkinleştirilir.
Yaygın sorun: allowFrom doğrudan mesajlar içindir, kanallar için değil
Şuna benzer günlükler görürseniz:
irc: drop group sender alice!ident@host (policy=allowlist)
channels.irc.groupAllowFromayarını belirleyerek (tüm kanallar için genel) veya- kanal başına gönderen izin listelerini belirleyerek:
channels.irc.groups["#channel"].allowFrom
#openclaw içindeki herkesin botla konuşmasına izin verin):
Yanıt tetikleme (bahsetmeler)
Bir kanala (groupPolicy + groups aracılığıyla) ve gönderene izin verilmiş olsa bile OpenClaw, grup bağlamlarında varsayılan olarak bahsetme geçidi uygular. Mesaj, bağlı botun takma adını içerdiğinde veya yapılandırılmış bahsetme kalıplarınızla eşleştiğinde botun adından bahsedilmiş sayılır.
Bu, mesaj botla eşleşen bir bahsetme kalıbı içermedikçe drop channel … (missing-mention) benzeri günlükler görebileceğiniz anlamına gelir.
Botun bir IRC kanalında bahsetme gerektirmeden yanıt vermesini sağlamak için o kanalın bahsetme geçidini devre dışı bırakın:
Güvenlik notu (genel kanallar için önerilir)
Genel bir kanaldaallowFrom: ["*"] ayarına izin verirseniz herkes bota istem gönderebilir.
Riski azaltmak için o kanalın araçlarını kısıtlayın.
Kanaldaki herkes için aynı araçlar
Gönderene göre farklı araçlar (sahip daha fazla yetki alır)
"*" için daha katı, kendi takma adınız için daha gevşek bir politika uygulamak üzere toolsBySender kullanın:
toolsBySenderanahtarları açık önekler (channel:,id:,e164:,username:,name:) kullanmalıdır. IRC için gönderen kimliği değeriyleid:kullanın: daha güçlü eşleştirme içinid:aliceveyaid:alice!~alice@203.0.113.7.- Eski öneksiz anahtarlar hâlâ kabul edilir, yalnızca
id:olarak eşleştirilir ve kullanımdan kaldırma uyarısı verir. - İlk eşleşen gönderen politikası geçerli olur;
"*"joker karakterli geri dönüş seçeneğidir.
NickServ
Bağlantıdan sonra NickServ ile kimlik doğrulamak için:enabled değerinin false olması gerekir). service varsayılan olarak NickServ değerini kullanır; passwordFile, satır içi password ayarına bir alternatiftir.
Bağlantıda isteğe bağlı tek seferlik kayıt (register: true, registerEmail gerektirir):
register ayarını devre dışı bırakın.
Ortam değişkenleri
Varsayılan hesap şunları destekler:IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(virgülle ayrılmış)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
IRC_HOST, çalışma alanındaki bir .env üzerinden ayarlanamaz; bkz. Çalışma alanı .env dosyaları.
Sorun giderme
- Bot bağlanıyor ancak kanallarda hiç yanıt vermiyorsa
channels.irc.groupsayarını ve bahsetme geçidinin mesajları düşürüp düşürmediğini (missing-mention) doğrulayın. Botun pingleme olmadan yanıt vermesini istiyorsanız kanal içinrequireMention:falseayarını belirleyin. - Oturum açma başarısız olursa takma adın kullanılabilirliğini ve sunucu parolasını doğrulayın.
- Özel bir ağda TLS başarısız olursa ana bilgisayar/port ve sertifika kurulumunu doğrulayın.
İlgili
- Kanallara Genel Bakış — desteklenen tüm kanallar
- Eşleştirme — doğrudan mesaj kimlik doğrulaması ve eşleştirme akışı
- Gruplar — grup sohbeti davranışı ve bahsetme geçidi
- Kanal Yönlendirme — mesajların oturum yönlendirmesi
- Güvenlik — erişim modeli ve sağlamlaştırma