CLI commands

الأجهزة

openclaw devices

إدارة طلبات إقران الأجهزة والرموز المميزة المقيّدة بنطاق الجهاز.

الأوامر

openclaw devices list

اعرض طلبات الإقران المعلّقة والأجهزة المقترنة.

Code
openclaw devices listopenclaw devices list --json

يعرض خرج الطلب المعلّق صلاحية الوصول المطلوبة بجانب صلاحية الوصول الحالية المعتمدة للجهاز عندما يكون الجهاز مقترنًا بالفعل. يجعل ذلك ترقيات النطاق/الدور واضحة بدلًا من أن تبدو وكأن الإقران قد فُقد.

openclaw devices remove <deviceId>

أزِل إدخال جهاز مقترن واحد.

عندما تكون مصادقًا باستخدام رمز جهاز مقترن، يمكن للمتصلين غير المسؤولين إزالة إدخال جهازهم هم فقط. تتطلب إزالة جهاز آخر operator.admin.

Code
openclaw devices remove <deviceId>openclaw devices remove <deviceId> --json

openclaw devices clear --yes [--pending]

امسح الأجهزة المقترنة دفعة واحدة.

Code
openclaw devices clear --yesopenclaw devices clear --yes --pendingopenclaw devices clear --yes --pending --json

openclaw devices approve [requestId] [--latest]

وافِق على طلب إقران جهاز معلّق باستخدام requestId الدقيق. إذا حُذف requestId أو مُرّر --latest، يطبع OpenClaw طلب الإقران المعلّق المحدد فقط ثم يخرج؛ أعد تشغيل الموافقة باستخدام معرف الطلب الدقيق بعد التحقق من التفاصيل.

إذا كان الجهاز مقترنًا بالفعل وطلب نطاقات أوسع أو دورًا أوسع، يبقي OpenClaw الموافقة الحالية كما هي وينشئ طلب ترقية معلّقًا جديدًا. راجع عمودي Requested وApproved في openclaw devices list أو استخدم openclaw devices approve --latest لمعاينة الترقية الدقيقة قبل الموافقة عليها.

إذا كان Gateway مهيأً صراحة باستخدام gateway.nodes.pairing.autoApproveCidrs، يمكن الموافقة على طلبات role: node الأولى من عناوين IP للعملاء المطابقة قبل ظهورها في هذه القائمة. تكون هذه السياسة معطّلة افتراضيًا ولا تنطبق أبدًا على عملاء المشغّل/المتصفح أو طلبات الترقية.

تتطلب الموافقة على أدوار الأجهزة من نوع node أو غيرها من الأدوار غير الخاصة بالمشغّل operator.admin. يكفي operator.pairing للموافقات الخاصة بأجهزة المشغّل فقط عندما تبقى نطاقات المشغّل المطلوبة ضمن نطاقات المتصل نفسه. راجع نطاقات المشغّل لفحوصات وقت الموافقة.

Code
openclaw devices approveopenclaw devices approve <requestId>openclaw devices approve --latest

موافقة التشغيل الأول لـ Paperclip / openclaw_gateway

عندما يتصل وكيل Paperclip جديد عبر محوّل openclaw_gateway لأول مرة، قد يتطلب Gateway موافقة إقران جهاز لمرة واحدة قبل أن تنجح عمليات التشغيل. إذا أبلغ Paperclip عن openclaw_gateway_pairing_required، فوافِق على الجهاز المعلّق ثم أعد المحاولة.

بالنسبة إلى البوابات المحلية، عاين أحدث طلب معلّق:

bash
openclaw devices approve --latest

تطبع المعاينة أمر openclaw devices approve <requestId> الدقيق. تحقّق من تفاصيل الطلب، ثم أعد تشغيل ذلك الأمر مع معرف الطلب للموافقة عليه.

بالنسبة إلى البوابات البعيدة أو بيانات الاعتماد الصريحة، مرّر الخيارات نفسها أثناء المعاينة والموافقة:

bash
openclaw devices approve --latest --url <gateway-ws-url> --token <gateway-token>

لتجنّب إعادة الموافقة بعد إعادة التشغيل، احتفظ بمفتاح جهاز دائم في تهيئة محوّل Paperclip بدلًا من إنشاء هوية مؤقتة جديدة في كل تشغيل:

json
{  "adapterConfig": {    "devicePrivateKeyPem": "<ed25519-private-key-pkcs8-pem>"  }}

إذا استمرت الموافقة في الفشل، فشغّل openclaw devices list أولًا للتأكد من وجود طلب معلّق.

openclaw devices reject <requestId>

ارفض طلب إقران جهاز معلّقًا.

Code
openclaw devices reject <requestId>

openclaw devices rotate --device <id> --role <role> [--scope <scope...>]

دوّر رمز جهاز لدور محدد (مع تحديث النطاقات اختياريًا). يجب أن يكون الدور الهدف موجودًا بالفعل في عقد الإقران المعتمد لذلك الجهاز؛ لا يمكن للدوران إصدار دور جديد غير معتمد. إذا حذفت --scope، فستعيد عمليات إعادة الاتصال اللاحقة باستخدام الرمز المخزّن والمدوّر استخدام النطاقات المعتمدة المخزنة مؤقتًا لذلك الرمز. إذا مرّرت قيم --scope صريحة، فستصبح مجموعة النطاقات المخزّنة لعمليات إعادة الاتصال المستقبلية باستخدام الرمز المخزن مؤقتًا. يمكن لمتصلين الأجهزة المقترنة غير المسؤولين تدوير رمز جهازهم هم فقط. يجب أن تبقى مجموعة نطاقات الرمز الهدف ضمن نطاقات المشغّل الخاصة بجلسة المتصل نفسها؛ لا يمكن للدوران إصدار رمز مشغّل أوسع أو الحفاظ عليه إذا كان أوسع مما لدى المتصل بالفعل.

Code
openclaw devices rotate --device <deviceId> --role operator --scope operator.read --scope operator.write

يعيد بيانات تعريف الدوران بصيغة JSON. إذا كان المتصل يدوّر رمزه الخاص أثناء المصادقة باستخدام ذلك الرمز، يتضمن الرد أيضًا الرمز البديل كي يتمكن العميل من حفظه قبل إعادة الاتصال. لا تعيد عمليات الدوران المشتركة/الخاصة بالمسؤول إظهار رمز الحامل.

openclaw devices revoke --device <id> --role <role>

ألغِ رمز جهاز لدور محدد.

يمكن لمتصلين الأجهزة المقترنة غير المسؤولين إلغاء رمز جهازهم هم فقط. يتطلب إلغاء رمز جهاز آخر operator.admin. يجب أن تلائم مجموعة نطاقات الرمز الهدف أيضًا نطاقات المشغّل الخاصة بجلسة المتصل نفسها؛ لا يستطيع المتصلون الخاصون بالإقران فقط إلغاء رموز مشغّل المسؤول/الكتابة.

Code
openclaw devices revoke --device <deviceId> --role node

يعيد نتيجة الإلغاء بصيغة JSON.

الخيارات الشائعة

  • --url <url>: عنوان URL لـ WebSocket الخاص بـ Gateway (يستخدم gateway.remote.url افتراضيًا عند تهيئته).
  • --token <token>: رمز Gateway (إذا كان مطلوبًا).
  • --password <password>: كلمة مرور Gateway (مصادقة كلمة المرور).
  • --timeout <ms>: مهلة RPC.
  • --json: خرج JSON (موصى به للبرمجة النصية).

ملاحظات

  • يعيد تدوير الرمز رمزًا جديدًا (حساسًا). عامله كسر.
  • تتطلب هذه الأوامر نطاق operator.pairing (أو operator.admin). تتطلب بعض الموافقات أيضًا أن يمتلك المتصل نطاقات المشغّل التي سيصدرها الجهاز الهدف أو يرثها. تتطلب أدوار الأجهزة غير الخاصة بالمشغّل operator.admin؛ راجع نطاقات المشغّل.
  • gateway.nodes.pairing.autoApproveCidrs هي سياسة Gateway اختيارية لإقران أجهزة node الجديدة فقط؛ ولا تغيّر صلاحية الموافقة عبر CLI.
  • يبقى تدوير الرمز وإلغاؤه داخل مجموعة أدوار الإقران المعتمدة وخط أساس النطاق المعتمد لذلك الجهاز. لا يمنح إدخال رمز مخزّن مؤقتًا شارد هدفًا لإدارة الرموز.
  • بالنسبة إلى جلسات رموز الأجهزة المقترنة، تكون الإدارة عبر الأجهزة للمسؤولين فقط: remove وrotate وrevoke ذاتية فقط ما لم يكن لدى المتصل operator.admin.
  • يكون تغيير الرمز محصورًا أيضًا بنطاق المتصل: لا تستطيع جلسة خاصة بالإقران فقط تدوير أو إلغاء رمز يحمل حاليًا operator.admin أو operator.write.
  • devices clear محمي عمدًا بواسطة --yes.
  • إذا لم يكن نطاق الإقران متاحًا على local loopback (ولم يُمرّر --url صريح)، يمكن للقائمة/الموافقة استخدام بديل إقران محلي.
  • يتطلب devices approve معرف طلب صريحًا قبل إصدار الرموز؛ إن حذف requestId أو تمرير --latest يعاين أحدث طلب معلّق فقط.

قائمة التحقق لاسترداد انحراف الرمز

استخدم هذا عندما تستمر Control UI أو عملاء آخرون في الفشل مع AUTH_TOKEN_MISMATCH أو AUTH_DEVICE_TOKEN_MISMATCH أو AUTH_SCOPE_MISMATCH.

  1. أكّد مصدر رمز Gateway الحالي:
bash
openclaw config get gateway.auth.token
  1. اعرض الأجهزة المقترنة وحدد معرف الجهاز المتأثر:
bash
openclaw devices list
  1. دوّر رمز المشغّل للجهاز المتأثر:
bash
openclaw devices rotate --device <deviceId> --role operator
  1. إذا لم يكن الدوران كافيًا، فأزِل الإقران القديم ووافِق مرة أخرى:
bash
openclaw devices remove <deviceId>openclaw devices listopenclaw devices approve <requestId>
  1. أعد محاولة اتصال العميل باستخدام الرمز/كلمة المرور المشتركة الحالية.

ملاحظات:

  • أسبقية مصادقة إعادة الاتصال العادية هي الرمز/كلمة المرور المشتركة الصريحة أولًا، ثم deviceToken الصريح، ثم رمز الجهاز المخزّن، ثم رمز التمهيد.
  • يمكن لاسترداد AUTH_TOKEN_MISMATCH الموثوق أن يرسل مؤقتًا كلًا من الرمز المشترك ورمز الجهاز المخزّن معًا لمحاولة إعادة واحدة محدودة.
  • يعني AUTH_SCOPE_MISMATCH أن رمز الجهاز تم التعرف عليه لكنه لا يحمل مجموعة النطاقات المطلوبة؛ أصلح عقد الموافقة على الإقران/النطاق قبل تغيير مصادقة Gateway المشتركة.

ذات صلة:

ذات صلة

Was this useful?
On this page

On this page