الانتقال إلى المحتوى الرئيسي

الاقتران

“الاقتران” هو خطوة موافقة المالك الصريحة في OpenClaw. ويُستخدم في موضعين:
  1. اقتران الرسائل المباشرة (من يُسمح له بالتحدث إلى البوت)
  2. اقتران العقد (أي الأجهزة/العقد يُسمح لها بالانضمام إلى شبكة البوابة)
السياق الأمني: الأمان

1) اقتران الرسائل المباشرة (الوصول إلى الدردشة الواردة)

عندما تُضبط قناة بسياسة رسائل مباشرة pairing، يحصل المرسلون غير المعروفين على رمز قصير ولا تتم معالجة رسالتهم حتى توافق عليها. سياسات الرسائل المباشرة الافتراضية موثقة في: الأمان رموز الاقتران:
  • 8 أحرف، بأحرف كبيرة، من دون أحرف ملتبسة (0O1I).
  • تنتهي صلاحيتها بعد ساعة واحدة. لا يرسل البوت رسالة الاقتران إلا عند إنشاء طلب جديد (تقريبًا مرة واحدة كل ساعة لكل مرسل).
  • يُحدَّد الحد الأقصى لطلبات اقتران الرسائل المباشرة المعلقة عند 3 لكل قناة افتراضيًا؛ ويتم تجاهل الطلبات الإضافية حتى تنتهي صلاحية أحدها أو تتم الموافقة عليه.

الموافقة على مرسل

openclaw pairing list telegram
openclaw pairing approve telegram <CODE>
القنوات المدعومة: bluebubbles وdiscord وfeishu وgooglechat وimessage وirc وline وmatrix وmattermost وmsteams وnextcloud-talk وnostr وopenclaw-weixin وsignal وslack وsynology-chat وtelegram وtwitch وwhatsapp وzalo وzalouser.

مكان وجود الحالة

تُخزَّن تحت ~/.openclaw/credentials/:
  • الطلبات المعلقة: <channel>-pairing.json
  • مخزن قائمة السماح المعتمدة:
    • الحساب الافتراضي: <channel>-allowFrom.json
    • الحساب غير الافتراضي: <channel>-<accountId>-allowFrom.json
سلوك نطاق الحساب:
  • تقرأ الحسابات غير الافتراضية وتكتب فقط إلى ملف قائمة السماح الخاص بنطاقها.
  • يستخدم الحساب الافتراضي ملف قائمة السماح غير المقيّد بنطاق الحساب والخاص بالقناة.
تعامل مع هذه الملفات على أنها حساسة (فهي تتحكم في الوصول إلى مساعدك). مهم: هذا المخزن خاص بوصول الرسائل المباشرة. أما تفويض المجموعات فهو منفصل. الموافقة على رمز اقتران رسالة مباشرة لا تسمح تلقائيًا لذلك المرسل بتشغيل أوامر المجموعات أو التحكم في البوت داخل المجموعات. بالنسبة إلى وصول المجموعات، اضبط قوائم السماح الصريحة للمجموعات في القناة (مثل groupAllowFrom أو groups أو التجاوزات الخاصة بكل مجموعة/موضوع بحسب القناة).

2) اقتران أجهزة العقد (عقد iOS/Android/macOS/headless)

تتصل العقد بالبوابة كأجهزة ذات role: node. وتنشئ البوابة طلب اقتران جهاز يجب الموافقة عليه.

الإقران عبر Telegram (مستحسن لـ iOS)

إذا كنت تستخدم plugin ‏device-pair، فيمكنك تنفيذ اقتران الجهاز لأول مرة بالكامل من Telegram:
  1. في Telegram، أرسل إلى البوت: /pair
  2. يرد البوت برسالتين: رسالة تعليمات ورسالة منفصلة تحتوي على رمز الإعداد (ليسهل نسخه/لصقه في Telegram).
  3. على هاتفك، افتح تطبيق OpenClaw على iOS → Settings → Gateway.
  4. الصق رمز الإعداد واتصل.
  5. ارجع إلى Telegram: /pair pending (لمراجعة معرّفات الطلبات والدور والنطاقات)، ثم وافق.
رمز الإعداد هو حمولة JSON مشفّرة بـ base64 تحتوي على:
  • url: عنوان WebSocket URL الخاص بالبوابة (ws://... أو wss://...)
  • bootstrapToken: رمز bootstrap قصير العمر لجهاز واحد يُستخدم في مصافحة الاقتران الأولية
يحمل رمز bootstrap هذا ملف تعريف bootstrap المضمّن الخاص بالاقتران:
  • يظل رمز node الأساسي المُسلَّم بصلاحيات scopes: []
  • يظل أي رمز operator مُسلَّم مقيّدًا بقائمة السماح الخاصة بالـ bootstrap: operator.approvals وoperator.read وoperator.talk.secrets وoperator.write
  • تكون عمليات التحقق من نطاق bootstrap مسبوقة بالدور، وليست مجموعة نطاقات مسطحة واحدة: إدخالات نطاق operator تلبّي فقط طلبات operator، ولا تزال الأدوار غير operator مطالبة بطلب نطاقات تحت بادئة دورها الخاصة
تعامل مع رمز الإعداد كما تتعامل مع كلمة مرور طوال مدة صلاحيته.

الموافقة على جهاز عقدة

openclaw devices list
openclaw devices approve <requestId>
openclaw devices reject <requestId>
إذا أعاد الجهاز نفسه المحاولة بتفاصيل مصادقة مختلفة (على سبيل المثال دور/نطاقات/مفتاح عام مختلف)، فسيتم استبدال الطلب المعلق السابق ويُنشأ requestId جديد.

تخزين حالة اقتران العقدة

تُخزَّن تحت ~/.openclaw/devices/:
  • pending.json ‏(قصير العمر؛ تنتهي صلاحية الطلبات المعلقة)
  • paired.json ‏(الأجهزة المقترنة + الرموز)

ملاحظات

  • واجهة node.pair.* القديمة (CLI: ‏openclaw nodes pending|approve|reject|rename) هي مخزن اقتران منفصل مملوك للبوابة. ولا تزال عقد WS تتطلب اقتران الأجهزة.
  • سجل الاقتران هو المصدر الدائم للحقيقة بالنسبة إلى الأدوار المعتمدة. وتبقى رموز الأجهزة النشطة مقيّدة بمجموعة الأدوار المعتمدة تلك؛ ولا يؤدي وجود إدخال رمز شارد خارج الأدوار المعتمدة إلى إنشاء وصول جديد.

مستندات ذات صلة