“الإقران” هو خطوة موافقة الوصول الصريحة في OpenClaw. يُستخدم في موضعين:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- إقران DM (من يُسمح له بالتحدث إلى البوت)
- إقران Node (أي الأجهزة/العُقد يُسمح لها بالانضمام إلى شبكة Gateway)
1) إقران DM (وصول المحادثة الواردة)
عندما تُهيَّأ قناة بسياسة DM هيpairing، يحصل المرسلون غير المعروفين على رمز قصير ولا تتم معالجة رسالتهم حتى توافق عليها.
سياسات DM الافتراضية موثقة في: الأمان
dmPolicy: "open" تكون عامة فقط عندما تتضمن قائمة السماح الفعلية لـ DM القيمة "*".
يتطلب الإعداد والتحقق وجود هذا wildcard لإعدادات public-open. إذا كانت الحالة الحالية
تحتوي على open مع إدخالات allowFrom محددة، فسيظل وقت التشغيل يسمح
لهؤلاء المرسلين فقط، ولا توسّع موافقات مخزن الإقران وصول open.
رموز الإقران:
- 8 أحرف، كبيرة، بلا أحرف ملتبسة (
0O1I). - تنتهي بعد ساعة واحدة. لا يرسل البوت رسالة الإقران إلا عند إنشاء طلب جديد (تقريبًا مرة كل ساعة لكل مرسل).
- تُحد طلبات إقران DM المعلقة إلى 3 لكل قناة افتراضيًا؛ وتُتجاهل الطلبات الإضافية حتى تنتهي صلاحية أحدها أو تتم الموافقة عليه.
الموافقة على مرسل
commands.ownerAllowFrom إلى المرسل الموافق عليه، مثل telegram:123456789.
يمنح ذلك الإعدادات لأول مرة مالكًا صريحًا للأوامر ذات الصلاحيات ومطالبات موافقة التنفيذ.
بعد وجود مالك، تمنح موافقات الإقران اللاحقة وصول DM فقط؛ ولا تضيف مزيدًا من المالكين.
القنوات المدعومة: discord, feishu, googlechat, imessage, irc, line, matrix, mattermost, msteams, nextcloud-talk, nostr, openclaw-weixin, signal, slack, synology-chat, telegram, twitch, whatsapp, zalo, zalouser.
مجموعات مرسلين قابلة لإعادة الاستخدام
استخدمaccessGroups في المستوى الأعلى عندما ينبغي تطبيق مجموعة المرسلين الموثوقين نفسها على
عدة قنوات رسائل أو على قوائم سماح DM والمجموعات معًا.
تستخدم المجموعات الثابتة type: "message.senders" وتُشار إليها باستخدام
accessGroup:<name> من قوائم السماح الخاصة بالقنوات:
أين توجد الحالة
مخزنة ضمن~/.openclaw/credentials/:
- الطلبات المعلقة:
<channel>-pairing.json - مخزن قائمة السماح الموافق عليها:
- الحساب الافتراضي:
<channel>-allowFrom.json - الحساب غير الافتراضي:
<channel>-<accountId>-allowFrom.json
- الحساب الافتراضي:
- الحسابات غير الافتراضية تقرأ/تكتب فقط ملف قائمة السماح scoped الخاص بها.
- يستخدم الحساب الافتراضي ملف قائمة السماح غير scoped على مستوى القناة.
مخزن قائمة سماح الإقران مخصص لوصول DM. تفويض المجموعات منفصل.
لا تسمح الموافقة على رمز إقران DM تلقائيًا لذلك المرسل بتشغيل أوامر المجموعات
أو التحكم في البوت داخل المجموعات. تمهيد المالك الأول هو حالة إعداد منفصلة
في
commands.ownerAllowFrom، ولا يزال تسليم محادثات المجموعات يتبع
قوائم السماح الخاصة بمجموعات القناة (مثل groupAllowFrom أو groups أو التجاوزات لكل مجموعة
أو لكل موضوع، بحسب القناة).2) إقران أجهزة Node (عُقد iOS/Android/macOS/headless)
تتصل العُقد بـ Gateway بصفتها أجهزة معrole: node. ينشئ Gateway
طلب إقران جهاز يجب الموافقة عليه.
الإقران عبر Telegram (موصى به لـ iOS)
إذا استخدمت Plugin باسمdevice-pair، يمكنك إجراء إقران الجهاز لأول مرة بالكامل من Telegram:
- في Telegram، راسل البوت الخاص بك:
/pair - يرد البوت برسالتين: رسالة تعليمات ورسالة رمز إعداد منفصلة (سهلة النسخ/اللصق في Telegram).
- على هاتفك، افتح تطبيق OpenClaw على iOS ← Settings ← Gateway.
- امسح رمز QR أو الصق رمز الإعداد واتصل.
- ارجع إلى Telegram:
/pair pending(راجع معرّفات الطلبات والدور والنطاقات)، ثم وافق.
url: عنوان URL لـ WebSocket الخاص بـ Gateway (ws://...أوwss://...)bootstrapToken: رمز تمهيد قصير العمر لجهاز واحد يُستخدم لمصافحة الإقران الأولية
- يظل رمز
nodeالأساسي المُسلَّمscopes: [] - يظل أي رمز
operatorمُسلَّم محدودًا بقائمة سماح التمهيد:operator.approvals,operator.read,operator.talk.secrets,operator.write - تكون فحوصات نطاق التمهيد مسبوقة بالدور، وليست مجموعة نطاقات مسطحة واحدة: إدخالات نطاق operator تفي بطلبات operator فقط، ويجب على الأدوار غير operator أن تظل تطلب النطاقات تحت بادئة الدور الخاصة بها
- يظل تدوير/إبطال الرموز لاحقًا محدودًا بكل من عقد الدور الموافق عليه للجهاز ونطاقات operator الخاصة بجلسة المستدعي
wss://. تُقبل رموز إعداد ws:// ذات النص الصريح فقط
لـ loopback وعناوين LAN الخاصة ومضيفي Bonjour باسم .local ومضيف محاكي Android.
لا تزال عناوين Tailnet CGNAT وأسماء .ts.net والمضيفون العامون
تفشل بشكل مغلق قبل إصدار QR/رمز الإعداد.
الموافقة على جهاز Node
operator.admin. يتيح ذلك لجهاز مقترن موجود قادر على الإدارة استعادة إقران
واجهة Control UI/المتصفح جديد دون تحرير devices/paired.json يدويًا. لا يزال
Gateway يتحقق من الاتصال المُعاد؛ وتظل الرموز التي لا يمكنها المصادقة
باستخدام operator.admin محظورة.
إذا أعاد الجهاز نفسه المحاولة بتفاصيل مصادقة مختلفة (مثل دور/نطاقات/مفتاح عام مختلف)،
يُستبدل الطلب المعلق السابق ويُنشأ requestId جديد.
لا يحصل الجهاز المقترن مسبقًا على وصول أوسع بصمت. إذا أعاد الاتصال طالبًا نطاقات أكثر أو دورًا أوسع، يبقي OpenClaw الموافقة الحالية كما هي وينشئ طلب ترقية معلقًا جديدًا. استخدم
openclaw devices list لمقارنة الوصول الموافق عليه حاليًا مع الوصول المطلوب حديثًا قبل أن توافق.موافقة تلقائية اختيارية لـ Node عبر trusted-CIDR
يبقى إقران الأجهزة يدويًا افتراضيًا. بالنسبة إلى شبكات Node المحكمة التحكم، يمكنك الاشتراك في الموافقة التلقائية لأول مرة على Node باستخدام CIDR صريحة أو عناوين IP دقيقة:role: node الجديدة التي لا تطلب
نطاقات. لا يزال عملاء Operator والمتصفح وControl UI وWebChat يتطلبون موافقة يدوية.
ولا تزال تغييرات الدور والنطاق والبيانات الوصفية والمفتاح العام تتطلب موافقة
يدوية.
تخزين حالة إقران Node
مخزنة ضمن~/.openclaw/devices/:
pending.json(قصير العمر؛ تنتهي صلاحية الطلبات المعلقة)paired.json(الأجهزة المقترنة + الرموز)
ملاحظات
- واجهة API القديمة
node.pair.*(CLI:openclaw nodes pending|approve|reject|remove|rename) هي مخزن إقران منفصل مملوك لـ Gateway. لا تزال عُقد WS تتطلب إقران جهاز. - سجل الإقران هو مصدر الحقيقة الدائم للأدوار الموافق عليها. تظل رموز الأجهزة النشطة محدودة بمجموعة الأدوار الموافق عليها؛ ولا ينشئ إدخال رمز عارض خارج الأدوار الموافق عليها وصولًا جديدًا.