IRC
OpenClaw’ı klasik kanallarda (#room) ve doğrudan mesajlarda kullanmak istediğinizde IRC kullanın.
IRC bir uzantı eklentisi olarak gelir, ancak ana yapılandırmada channels.irc altında yapılandırılır.
Hızlı başlangıç
~/.openclaw/openclaw.jsoniçinde IRC yapılandırmasını etkinleştirin.- En azından şunları ayarlayın:
- Gateway’i başlatın/yeniden başlatın:
Varsayılan güvenlik ayarları
channels.irc.dmPolicyvarsayılan olarak"pairing"değerini kullanır.channels.irc.groupPolicyvarsayılan olarak"allowlist"değerini kullanır.groupPolicy="allowlist"olduğunda izin verilen kanalları tanımlamak içinchannels.irc.groupsayarlayın.- Bilerek düz metin taşımasını kabul etmiyorsanız TLS kullanın (
channels.irc.tls=true).
Erişim denetimi
IRC kanalları için iki ayrı “geçit” vardır:- Kanal erişimi (
groupPolicy+groups): botun bir kanaldan gelen mesajları hiç kabul edip etmemesi. - Gönderen erişimi (
groupAllowFrom/ kanal başınagroups["#channel"].allowFrom): o kanal içinde botu kimin tetiklemeye yetkili olduğu.
- DM izin listesi (DM 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ı):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open"yapılandırılmamış kanallara izin verir (varsayılan olarak yine de bahsetme geçitlemesi uygulanır)
nick!user@host).
Yalın takma ad eşleştirmesi değiştirilebilir olduğundan yalnızca channels.irc.dangerouslyAllowNameMatching: true olduğunda etkinleştirilir.
Sık karşılaşılan hata: allowFrom DM’ler içindir, kanallar için değil
Şu gibi günlükler görüyorsanız:
irc: drop group sender alice!ident@host (policy=allowlist)
channels.irc.groupAllowFromayarlayarak (tüm kanallar için genel), veya- kanal başına gönderen izin listeleri ayarlayarak:
channels.irc.groups["#channel"].allowFrom
#tuirc-dev içindeki herkesin botla konuşmasına izin vermek için):
Yanıt tetikleme (bahsetmeler)
Bir kanala izin verilmiş olsa bile (groupPolicy + groups aracılığıyla) ve gönderen izinli olsa bile, OpenClaw grup bağlamlarında varsayılan olarak bahsetme geçitlemesi kullanır.
Bu, mesaj botla eşleşen bir bahsetme kalıbı içermiyorsa drop channel … (missing-mention) gibi 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 için bahsetme geçitlemesini devre dışı bırakın:
Güvenlik notu (genel kanallar için önerilir)
Genel bir kanaldaallowFrom: ["*"] ayarına izin verirseniz herkes botu yönlendirebilir.
Riski azaltmak için o kanalın araçlarını kısıtlayın.
Kanaldaki herkes için aynı araçlar
Gönderen başına farklı araçlar (sahip daha fazla yetki alır)
"*" için daha sıkı, kendi takma adınız için daha gevşek bir ilke uygulamak üzere toolsBySender kullanın:
toolsBySenderanahtarları IRC gönderen kimliği değerleri içinid:kullanmalıdır: daha güçlü eşleştirme içinid:eigenveyaid:eigen!~eigen@174.127.248.171.- Eski, öneksiz anahtarlar hâlâ kabul edilir ve yalnızca
id:olarak eşleştirilir. - İlk eşleşen gönderen ilkesi kazanır;
"*"joker geri dönüşüdür.
NickServ
Bağlantıdan sonra NickServ ile kimlik doğrulamak için: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
Sorun giderme
- Bot bağlanıyor ama kanallarda hiç yanıt vermiyorsa
channels.irc.groupsdeğerini ve bahsetme geçitlemesinin mesajları düşürüp düşürmediğini (missing-mention) doğrulayın. Ping olmadan yanıt vermesini istiyorsanız kanal içinrequireMention:falseayarlayın. - Giriş 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 makine/bağlantı noktası ve sertifika kurulumunu doğrulayın.
İlgili
- Channels Overview — desteklenen tüm kanallar
- Pairing — DM kimlik doğrulaması ve eşleme akışı
- Groups — grup sohbeti davranışı ve bahsetme geçitlemesi
- Channel Routing — mesajlar için oturum yönlendirme
- Security — erişim modeli ve sertleştirme