CLI commands

QR

openclaw qr

از پیکربندی فعلی Gateway خود، یک کد QR برای جفت‌سازی موبایل و کد راه‌اندازی ایجاد کنید.

bash
openclaw qropenclaw qr --setup-code-onlyopenclaw qr --jsonopenclaw qr --remoteopenclaw qr --limitedopenclaw qr --url wss://gateway.example/ws

برنامه‌های رسمی OpenClaw برای iOS و Android هنگامی که فراداده کد راه‌اندازی آن‌ها مطابقت داشته باشد، به‌طور خودکار متصل می‌شوند. اگر درخواستی در حالت انتظار باقی ماند (برای مثال، برای یک کارخواه غیررسمی یا فراداده نامطابق)، آن را بررسی و تأیید کنید:

bash
openclaw devices listopenclaw devices approve <requestId>

گزینه‌ها

  • --remote: gateway.remote.url را ترجیح می‌دهد؛ اگر آن نشانی اینترنتی تنظیم نشده باشد، از gateway.tailscale.mode=serve|funnel استفاده می‌کند. publicUrl مربوط به Plugin ‏device-pair را نادیده می‌گیرد.
  • --url <url>: نشانی اینترنتی Gateway مورداستفاده در بار داده را بازنویسی می‌کند
  • --public-url <url>: نشانی اینترنتی عمومی مورداستفاده در بار داده را بازنویسی می‌کند
  • --token <token>: توکن Gateway را که جریان راه‌اندازی اولیه با آن احراز هویت می‌کند، بازنویسی می‌کند
  • --password <password>: گذرواژه Gateway را که جریان راه‌اندازی اولیه با آن احراز هویت می‌کند، بازنویسی می‌کند
  • --limited: دسترسی مدیریتی Gateway را از توکن اپراتور تحویل‌داده‌شده حذف می‌کند
  • --setup-code-only: فقط کد راه‌اندازی را چاپ می‌کند
  • --no-ascii: رندر QR با ASCII را رد می‌کند
  • --json: خروجی JSON تولید می‌کند (setupCode، gatewayUrl، gatewayUrls اختیاری، auth، access، accessDowngraded اختیاری، urlSource)

--token و --password با یکدیگر ناسازگارند.

محتوای کد راه‌اندازی

کد راه‌اندازی به‌جای توکن/گذرواژه مشترک Gateway، یک bootstrapToken مبهم و کوتاه‌عمر را حمل می‌کند. برای یک نقطه پایانی wss:// (یا حلقه بازگشتی روی همان میزبان)، جریان پیش‌فرض راه‌اندازی اولیه موارد زیر را صادر می‌کند:

  • یک توکن اصلی node با scopes: []
  • یک توکن کامل تحویل operator ویژه موبایل بومی با operator.admin، operator.approvals، operator.read، operator.talk.secrets و operator.write

برای حفظ همان توکن Node و هم‌زمان حذف operator.admin از تحویل اپراتور، از --limited استفاده کنید. محدوده تغییر جفت‌سازی هرگز از طریق کد راه‌اندازی تحویل داده نمی‌شود.

راه‌اندازی ws:// در LAN با متن ساده همچنان در دسترس است، اما OpenClaw به‌طور خودکار از نمایه محدود استفاده می‌کند، زیرا ناظر شبکه می‌تواند توکن حامل راه‌اندازی اولیه را ضبط کند و در استفاده از آن پیش‌دستی کند. wss:// یا Tailscale Serve را پیکربندی کنید، سپس برای دریافت دسترسی کامل کد جدیدی ایجاد کنید.

تفکیک نشانی اینترنتی Gateway

جفت‌سازی موبایل برای نشانی‌های اینترنتی Gateway از نوع Tailscale/عمومی ws:// به‌صورت بسته و ایمن شکست می‌خورد: برای آن‌ها از Tailscale Serve/Funnel یا یک نشانی اینترنتی Gateway از نوع wss:// استفاده کنید. نشانی‌های خصوصی LAN و میزبان‌های Bonjour ‏.local همچنان از طریق ws:// با متن ساده پشتیبانی می‌شوند و همان‌طور که در بالا توضیح داده شد، دسترسی اپراتور محدود خواهد بود.

هنگامی که نشانی اینترنتی انتخاب‌شده 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 ارائه نشده باشد، SecretRefهای احراز هویت Gateway محلی به‌شکل زیر تفکیک می‌شوند:

شرط نتیجه تفکیک
gateway.auth.mode="token"، یا حالت استنباط‌شده بدون منبع گذرواژه غالب gateway.auth.token
gateway.auth.mode="password"، یا حالت استنباط‌شده بدون توکن غالب از احراز هویت/محیط gateway.auth.password
هر دو gateway.auth.token و gateway.auth.password پیکربندی شده‌اند (ازجمله SecretRefها) و gateway.auth.mode تنظیم نشده است شکست می‌خورد؛ gateway.auth.mode را صریحاً تنظیم کنید

تفکیک احراز هویت (--remote)

اگر اعتبارنامه‌های راه دورِ عملاً فعال به‌صورت SecretRef پیکربندی شده باشند و نه --token و نه --password ارائه نشده باشد، فرمان آن‌ها را از تصویر لحظه‌ای Gateway فعال تفکیک می‌کند. اگر Gateway در دسترس نباشد، فرمان بلافاصله شکست می‌خورد.

مرتبط

Was this useful?
On this page

On this page