- إقران الرسائل المباشرة (من يُسمح له بالتحدث إلى الروبوت)
- إقران Node (أي الأجهزة/العُقد يُسمح لها بالانضمام إلى شبكة Gateway)
1) إقران الرسائل المباشرة (وصول الدردشة الواردة)
عند تكوين قناة بسياسة رسائل مباشرةpairing، يحصل المرسلون غير المعروفين على رمز قصير ولا تتم معالجة رسالتهم حتى توافق عليها.
سياسات الرسائل المباشرة الافتراضية موثقة في: الأمان
dmPolicy: "open" تكون عامة فقط عندما تتضمن قائمة السماح الفعالة للرسائل المباشرة "*".
يتطلب الإعداد والتحقق وجود حرف البدل هذا لتكوينات الفتح العام. إذا كانت الحالة
الحالية تحتوي على open مع إدخالات allowFrom محددة، فسيظل وقت التشغيل يقبل
هؤلاء المرسلين فقط، ولا توسّع موافقات مخزن الإقران وصول open.
رموز الإقران:
- 8 أحرف، كبيرة، بلا أحرف ملتبسة (
0O1I). - تنتهي بعد ساعة واحدة. لا يرسل الروبوت رسالة الإقران إلا عند إنشاء طلب جديد (تقريبًا مرة واحدة في الساعة لكل مرسل).
- طلبات إقران الرسائل المباشرة المعلقة محدودة افتراضيًا بـ 3 لكل قناة؛ وتُتجاهل الطلبات الإضافية حتى تنتهي صلاحية أحدها أو تتم الموافقة عليه.
الموافقة على مرسل
commands.ownerAllowFrom للمرسل الموافق عليه، مثل telegram:123456789.
يمنح ذلك الإعدادات لأول مرة مالكًا صريحًا للأوامر ذات الامتيازات ومطالبات موافقة
التنفيذ. بعد وجود مالك، تمنح موافقات الإقران اللاحقة وصول الرسائل المباشرة فقط؛
ولا تضيف المزيد من المالكين.
القنوات المدعومة: discord، feishu، googlechat، imessage، irc، line، matrix، mattermost، msteams، nextcloud-talk، nostr، openclaw-weixin، signal، slack، synology-chat، telegram، twitch، whatsapp، zalo، zalouser.
مجموعات مرسلين قابلة لإعادة الاستخدام
استخدمaccessGroups في المستوى الأعلى عندما ينبغي تطبيق مجموعة المرسلين الموثوقين نفسها على
عدة قنوات رسائل أو على قوائم سماح الرسائل المباشرة والمجموعات معًا.
تستخدم المجموعات الثابتة type: "message.senders" وتتم الإشارة إليها باستخدام
accessGroup:<name> من قوائم السماح الخاصة بالقناة:
مكان حفظ الحالة
تُخزّن ضمن~/.openclaw/credentials/:
- الطلبات المعلقة:
<channel>-pairing.json - مخزن قائمة السماح المعتمدة:
- الحساب الافتراضي:
<channel>-allowFrom.json - الحساب غير الافتراضي:
<channel>-<accountId>-allowFrom.json
- الحساب الافتراضي:
- الحسابات غير الافتراضية تقرأ/تكتب ملف قائمة السماح المحدد النطاق الخاص بها فقط.
- الحساب الافتراضي يستخدم ملف قائمة السماح غير المحدد النطاق على مستوى القناة.
مخزن قائمة سماح الإقران مخصص لوصول الرسائل المباشرة. تخويل المجموعات منفصل.
الموافقة على رمز إقران رسائل مباشرة لا تسمح تلقائيًا لذلك المرسل بتشغيل أوامر
المجموعات أو التحكم في الروبوت داخل المجموعات. تمهيد المالك الأول هو حالة تكوين
منفصلة في
commands.ownerAllowFrom، ولا يزال تسليم دردشة المجموعات يتبع
قوائم السماح للمجموعات الخاصة بالقناة (على سبيل المثال groupAllowFrom أو groups أو التجاوزات لكل مجموعة
أو لكل موضوع حسب القناة).2) إقران أجهزة Node (iOS/Android/macOS/العُقد بلا واجهة)
تتصل العُقد بـ Gateway باعتبارها أجهزة معrole: node. ينشئ Gateway
طلب إقران جهاز يجب الموافقة عليه.
الإقران من واجهة التحكم (موصى به)
استخدم جلسة واجهة تحكم متصلة مسبقًا لديها وصولoperator.admin:
- افتح واجهة التحكم وحدد العُقد.
- في الأجهزة، انقر على إقران جهاز محمول.
- على هاتفك، افتح تطبيق OpenClaw ← الإعدادات ← Gateway.
- امسح رمز QR أو الصق رمز الإعداد، ثم اتصل.
الإقران عبر Telegram
إذا كنت تستخدم Plugindevice-pair، يمكنك إجراء إقران الجهاز لأول مرة بالكامل من Telegram:
- في Telegram، أرسل رسالة إلى روبوتك:
/pair - يرد الروبوت برسالتين: رسالة تعليمات ورسالة رمز إعداد منفصلة (سهلة النسخ/اللصق في Telegram).
- على هاتفك، افتح تطبيق OpenClaw لنظام iOS ← الإعدادات ← Gateway.
- امسح رمز QR أو الصق رمز الإعداد واتصل.
- يتصل تطبيق الجوال الرسمي تلقائيًا. إذا أظهر
/pair pendingطلبًا، فراجع دوره ونطاقاته قبل الموافقة عليه.
url: عنوان WebSocket URL الخاص بـ Gateway (ws://...أوwss://...)bootstrapToken: رمز تمهيد قصير العمر لجهاز واحد يُستخدم لمصافحة الإقران الأولية
- يسمح ملف تعريف الإعداد المدمج بخط الأساس الجديد لرمز QR/رمز الإعداد فقط:
nodeبالإضافة إلى تسليم محدود لـoperator - يظل رمز
nodeالذي تم تسليمهscopes: [] - يقتصر رمز
operatorالذي تم تسليمه علىoperator.approvals، وoperator.read، وoperator.talk.secrets، وoperator.write - لا يُمنح
operator.adminعبر تمهيد QR/رمز الإعداد؛ فهو يتطلب مسار إقران أو رمز عامل منفصلًا ومعتمدًا - يظل تدوير/إبطال الرموز لاحقًا مقيدًا بكل من عقد الدور المعتمد للجهاز ونطاقات العامل الخاصة بجلسة المستدعي
wss://. لا تُقبل رموز إعداد النص الصريح ws:// إلا
لـ local loopback، وعناوين الشبكة المحلية الخاصة، ومضيفي Bonjour بصيغة .local، ومضيف محاكي Android.
لا تزال عناوين Tailnet CGNAT، وأسماء .ts.net، والمضيفون العامون
تفشل بإغلاق آمن قبل إصدار QR/رمز الإعداد.
الموافقة على جهاز Node
operator.admin. يتيح ذلك لجهاز مقترن حالي قادر على الإدارة استعادة إقران
جديد لواجهة التحكم/المتصفح دون تعديل devices/paired.json يدويًا. لا يزال
Gateway يتحقق من الاتصال المعاد؛ وتبقى الرموز التي لا يمكنها المصادقة
باستخدام operator.admin محظورة.
إذا حاول الجهاز نفسه مجددًا بتفاصيل مصادقة مختلفة (على سبيل المثال
دور/نطاقات/مفتاح عام مختلف)، فسيتم تجاوز الطلب المعلق السابق وإنشاء
requestId جديد.
لا يحصل الجهاز المقترن مسبقًا على وصول أوسع بصمت. إذا أعاد الاتصال طالبًا نطاقات أكثر أو دورًا أوسع، يُبقي OpenClaw الموافقة الحالية كما هي وينشئ طلب ترقية معلقًا جديدًا. استخدم
openclaw devices list لمقارنة الوصول المعتمد حاليًا بالوصول المطلوب حديثًا قبل أن توافق.موافقة تلقائية اختيارية على Node عبر CIDR موثوق
يبقى إقران الجهاز يدويًا افتراضيًا. بالنسبة إلى شبكات Node المحكمة التحكم، يمكنك الاشتراك في الموافقة التلقائية لأول مرة على Node باستخدام CIDR صريحة أو عناوين IP دقيقة:role: node الجديدة بلا نطاقات
مطلوبة. لا يزال عملاء العامل والمتصفح وواجهة التحكم وWebChat يتطلبون موافقة
يدوية. ولا تزال تغييرات الدور والنطاق والبيانات التعريفية والمفتاح العام تتطلب موافقة
يدوية.
تخزين حالة إقران Node
تُخزّن ضمن~/.openclaw/devices/:
pending.json(قصير العمر؛ تنتهي صلاحية الطلبات المعلقة)paired.json(الأجهزة المقترنة + الرموز)
ملاحظات
- واجهة API القديمة
node.pair.*(CLI:openclaw nodes pending|approve|reject|remove|rename) هي مخزن إقران منفصل يملكه Gateway. لا تزال عُقد WS تتطلب إقران جهاز. - سجل الإقران هو مصدر الحقيقة الدائم للأدوار المعتمدة. تبقى رموز الأجهزة النشطة مقيدة بمجموعة الأدوار المعتمدة تلك؛ ولا ينشئ إدخال رمز شارد خارج الأدوار المعتمدة وصولًا جديدًا.