CLI commands
رمز الاستجابة السريعة
openclaw qr
أنشئ رمز QR لاقتران جهاز محمول ورمز إعداد من تهيئة Gateway الحالية.
openclaw qropenclaw qr --setup-code-onlyopenclaw qr --jsonopenclaw qr --remoteopenclaw qr --url wss://gateway.example/wsتتصل تطبيقات OpenClaw الرسمية لنظامي iOS وAndroid تلقائيًا عندما تتطابق بيانات تعريف رمز الإعداد الخاصة بها. إذا ظل طلب قيد الانتظار (على سبيل المثال، لعميل غير رسمي أو بسبب عدم تطابق بيانات التعريف)، فراجعه ووافق عليه:
openclaw devices listopenclaw devices approve <requestId>الخيارات
--remote: يفضّلgateway.remote.url؛ ويعود إلىgateway.tailscale.mode=serve|funnelإذا لم يُعيّن عنوان URL هذا. يتجاهلpublicUrlفي Plugin device-pair.--url <url>: يتجاوز عنوان URL الخاص بـ Gateway المستخدم في الحمولة--public-url <url>: يتجاوز عنوان URL العام المستخدم في الحمولة--token <token>: يتجاوز رمز Gateway الذي تتم المصادقة عليه في تدفق التمهيد--password <password>: يتجاوز كلمة مرور Gateway التي تتم المصادقة عليها في تدفق التمهيد--setup-code-only: يطبع رمز الإعداد فقط--no-ascii: يتخطى عرض رمز QR باستخدام ASCII--json: يُخرج JSON (setupCodeوgatewayUrlوgatewayUrlsالاختياري وauthوurlSource)
الخياران --token و--password متنافيان.
محتويات رمز الإعداد
يحمل رمز الإعداد bootstrapToken مبهمًا وقصير العمر، وليس رمز Gateway المشترك أو كلمة مروره. يُصدر تدفق التمهيد المضمّن:
- رمز
nodeأساسيًا معscopes: [] - رمز تسليم
operatorمحدودًا ومقيدًا بـoperator.approvalsوoperator.readوoperator.talk.secretsوoperator.write
لا تزال نطاقات تعديل الاقتران وoperator.admin تتطلب اقتران مشغّل منفصلًا ومعتمدًا أو تدفق رمز مميز.
تحديد عنوان URL الخاص بـ Gateway
يفشل اقتران الأجهزة المحمولة بصورة مغلقة لعناوين URL العامة أو الخاصة بـ Tailscale التي تستخدم ws:// لـ Gateway: استخدم Tailscale Serve/Funnel أو عنوان URL لـ Gateway يستخدم wss:// في هذه الحالات. تظل عناوين الشبكة المحلية الخاصة ومضيفات Bonjour ذات اللاحقة .local مدعومة عبر ws:// العادي.
عندما يأتي عنوان URL المحدد لـ Gateway من gateway.bind=lan، يتحقق OpenClaw أيضًا من مسارات tailscale serve status --json الدائمة. يُضمَّن بوصفه خيارًا احتياطيًا أي جذر HTTPS لخدمة Serve يعمل وكيلاً لمنفذ الاسترجاع المحلي لـ Gateway النشط. يضيف أمر QR هذا الخيار الاحتياطي لـlan فقط؛ بينما يحتفظ custom وtailnet بمساراتهما المعلنة صراحةً. تختبر عملاء iOS الحالية المسارات المعلنة بالترتيب وتحفظ أول مسار يمكن الوصول إليه؛ ويظل الحقل القديم url دون تغيير للعملاء الأقدم.
عند استخدام --remote، يلزم أحد الخيارين gateway.remote.url أو gateway.tailscale.mode=serve|funnel.
تحديد المصادقة (من دون --remote)
عند عدم تمرير تجاوز للمصادقة عبر CLI، تُحدَّد SecretRefs لمصادقة Gateway المحلي كما يلي:
| الشرط | القيمة المحددة |
|---|---|
gateway.auth.mode="token"، أو الوضع المستنتج عند عدم وجود مصدر كلمة مرور غالب |
gateway.auth.token |
gateway.auth.mode="password"، أو الوضع المستنتج عند عدم وجود رمز غالب من المصادقة/البيئة |
gateway.auth.password |
تهيئة كل من gateway.auth.token وgateway.auth.password (بما في ذلك SecretRefs) وعدم تعيين gateway.auth.mode |
يفشل؛ عيّن gateway.auth.mode صراحةً |
تحديد المصادقة (--remote)
إذا كانت بيانات الاعتماد البعيدة النشطة فعليًا مهيأة على هيئة SecretRefs ولم يُمرَّر --token ولا --password، فسيحدد الأمر قيمها من لقطة Gateway النشطة. إذا لم يكن Gateway متاحًا، يفشل الأمر فورًا.