#room) والرسائل المباشرة.
ثبّت Plugin الرسمي لـ IRC، ثم اضبطه ضمن channels.irc.
البدء السريع
- ثبّت Plugin:
- عيّن على الأقل المضيف والاسم المستعار والقنوات المطلوب الانضمام إليها في
~/.openclaw/openclaw.json:
- شغّل Gateway أو أعد تشغيله:
إعدادات الاتصال
إعدادات الأمان الافتراضية
- يستخدم IRC مقابس TCP/TLS خام خارج توجيه الوكيل الأمامي الذي يديره مشغّل OpenClaw. في عمليات النشر التي تشترط مرور كل حركة الخروج عبر ذلك الوكيل الأمامي، اضبط
channels.irc.enabled=falseما لم تُعتمد حركة خروج IRC المباشرة صراحةً. - تكون القيمة الافتراضية لـ
channels.irc.dmPolicyهي"pairing": يحصل مرسلو الرسائل المباشرة غير المعروفين على رمز إقران توافق عليه باستخدامopenclaw pairing approve irc <code>. - تكون القيمة الافتراضية لـ
channels.irc.groupPolicyهي"allowlist". - عند استخدام
groupPolicy="allowlist"، اضبطchannels.irc.groupsلتعريف القنوات المسموح بها. - استخدم TLS (
channels.irc.tls=true) ما لم تكن تقبل النقل بنص صريح عن قصد.
التحكم في الوصول
توجد «بوابتان» منفصلتان لقنوات IRC:- الوصول إلى القناة (
groupPolicy+groups): ما إذا كان الروبوت يقبل الرسائل من قناة ما أساسًا. - وصول المرسل (
groupAllowFrom/ groups["#channel"].allowFromلكل قناة): من يُسمح له بتشغيل الروبوت داخل تلك القناة.
- قائمة السماح للرسائل المباشرة (وصول مرسل الرسائل المباشرة):
channels.irc.allowFrom - قائمة سماح مرسلي المجموعة (وصول مرسل القناة):
channels.irc.groupAllowFrom - عناصر التحكم لكل قناة (القناة + المرسل + قواعد الإشارة):
channels.irc.groups["#channel"]معrequireMentionوallowFromوenabledوtoolsوtoolsBySenderوskillsوsystemPrompt - يسمح
channels.irc.groupPolicy="open"بالقنوات غير المضبوطة (مع استمرار اشتراط الإشارة افتراضيًا)
nick!user@host).
يمكن تغيير المطابقة بالاسم المستعار وحده، ولا تُفعّل إلا عندما تكون channels.irc.dangerouslyAllowNameMatching: true.
خطأ شائع: allowFrom للرسائل المباشرة وليس للقنوات
إذا رأيت سجلات مثل:
irc: drop group sender alice!ident@host (policy=allowlist)
- ضبط
channels.irc.groupAllowFrom(عام لجميع القنوات)، أو - ضبط قوائم سماح المرسلين لكل قناة:
channels.irc.groups["#channel"].allowFrom
#openclaw بالتحدث إلى الروبوت):
تشغيل الردود (الإشارات)
حتى إذا كانت القناة مسموحًا بها (عبرgroupPolicy + groups) وكان المرسل مسموحًا له، يشترط OpenClaw افتراضيًا الإشارة في سياقات المجموعات. يُعدّ الروبوت مُشارًا إليه عندما تحتوي الرسالة على الاسم المستعار المتصل للروبوت أو تطابق أنماط الإشارة المضبوطة لديك.
يعني ذلك أنك قد ترى سجلات مثل drop channel … (missing-mention) ما لم تتضمن الرسالة نمط إشارة يطابق الروبوت.
لجعل الروبوت يرد في قناة IRC من دون الحاجة إلى إشارة، عطّل اشتراط الإشارة لتلك القناة:
ملاحظة أمنية (موصى بها للقنوات العامة)
إذا سمحت بـallowFrom: ["*"] في قناة عامة، فيمكن لأي شخص توجيه مطالبات إلى الروبوت.
لتقليل المخاطر، قيّد الأدوات لتلك القناة.
الأدوات نفسها لجميع الموجودين في القناة
أدوات مختلفة لكل مرسل (يحصل المالك على صلاحيات أكبر)
استخدمtoolsBySender لتطبيق سياسة أكثر صرامة على "*" وسياسة أكثر تساهلًا على اسمك المستعار:
- يجب أن تستخدم مفاتيح
toolsBySenderبادئات صريحة (channel:وid:وe164:وusername:وname:). بالنسبة إلى IRC، استخدمid:مع قيمة هوية المرسل:id:aliceأوid:alice!~alice@203.0.113.7لمطابقة أقوى. - ما تزال المفاتيح القديمة بلا بادئات مقبولة، وتُطابق بوصفها
id:فقط، وتصدر تحذير إيقاف تدريجي. - تسود أول سياسة مرسل مطابقة؛ وتكون
"*"هي الخيار الاحتياطي لحرف البدل.
NickServ
للتعريف لدى NickServ بعد الاتصال:enabled على false إلا لإلغاء الاشتراك). تكون القيمة الافتراضية لـ service هي NickServ؛ ويُعد passwordFile بديلًا عن password المضمّنة.
تسجيل اختياري لمرة واحدة عند الاتصال (يتطلب register: true وجود registerEmail):
register بعد تسجيل الاسم المستعار لتجنب محاولات REGISTER المتكررة.
متغيرات البيئة
يدعم الحساب الافتراضي:IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(مفصولة بفواصل)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
IRC_HOST من ملف .env لمساحة عمل؛ راجع ملفات .env لمساحة العمل.
استكشاف الأخطاء وإصلاحها
- إذا اتصل الروبوت لكنه لم يرد مطلقًا في القنوات، فتحقق من
channels.irc.groupsومن احتمال إسقاط الرسائل بسبب اشتراط الإشارة (missing-mention). إذا أردته أن يرد من دون تنبيهات، فاضبطrequireMention:falseللقناة. - إذا فشل تسجيل الدخول، فتحقق من توفر الاسم المستعار وكلمة مرور الخادم.
- إذا فشل TLS على شبكة مخصصة، فتحقق من إعدادات المضيف والمنفذ والشهادة.
ذو صلة
- نظرة عامة على القنوات — جميع القنوات المدعومة
- الإقران — مصادقة الرسائل المباشرة ومسار الإقران
- المجموعات — سلوك المحادثات الجماعية واشتراط الإشارة
- توجيه القنوات — توجيه جلسات الرسائل
- الأمان — نموذج الوصول والتحصين