CLI commands
QR
openclaw qr
یک QR جفتسازی موبایل و کد راهاندازی را از پیکربندی فعلی Gateway شما ایجاد میکند.
نحوهٔ استفاده
openclaw qr
openclaw qr --setup-code-only
openclaw qr --json
openclaw qr --remote
openclaw qr --url wss://gateway.example/ws
گزینهها
--remote:gateway.remote.urlرا ترجیح میدهد؛ اگر تنظیم نشده باشد،gateway.tailscale.mode=serve|funnelهمچنان میتواند URL عمومی راه دور را فراهم کند--url <url>: URL Gateway استفادهشده در payload را بازنویسی میکند--public-url <url>: URL عمومی استفادهشده در payload را بازنویسی میکند--token <token>: توکن Gateway را که جریان bootstrap با آن احراز هویت میکند بازنویسی میکند--password <password>: گذرواژهٔ Gateway را که جریان bootstrap با آن احراز هویت میکند بازنویسی میکند--setup-code-only: فقط کد راهاندازی را چاپ میکند--no-ascii: رندر QR بهصورت ASCII را نادیده میگیرد--json: JSON تولید میکند (setupCode,gatewayUrl,auth,urlSource)
نکتهها
--tokenو--passwordناسازگارند و نمیتوانند همزمان استفاده شوند.- خود کد راهاندازی اکنون یک
bootstrapTokenمبهم و کوتاهمدت را حمل میکند، نه توکن/گذرواژهٔ مشترک Gateway. - در جریان داخلی bootstrap گره/اپراتور، توکن اصلی گره همچنان با
scopes: []قرار میگیرد. - اگر handoff مربوط به bootstrap یک توکن اپراتور هم صادر کند، به allowlist مربوط به bootstrap محدود میماند:
operator.approvals,operator.read,operator.talk.secrets,operator.write. - بررسیهای scope مربوط به bootstrap دارای پیشوند نقش هستند. آن allowlist اپراتور فقط درخواستهای اپراتور را برآورده میکند؛ نقشهای غیر اپراتور همچنان به scopeهایی زیر پیشوند نقش خودشان نیاز دارند.
- جفتسازی موبایل برای URLهای Gateway با
ws://در مسیرهای Tailscale/عمومی بهصورت fail-closed شکست میخورد. نشانیهای LAN خصوصی و میزبانهای Bonjour با.localهمچنان از طریقws://پشتیبانی میشوند، اما مسیرهای موبایل Tailscale/عمومی باید از Tailscale Serve/Funnel یا یک URL Gateway باwss://استفاده کنند. - با
--remote، OpenClaw به یکی از اینها نیاز دارد:gateway.remote.urlیاgateway.tailscale.mode=serve|funnel. - با
--remote، اگر اعتبارنامههای راه دوری که عملاً فعال هستند بهصورت SecretRef پیکربندی شده باشند و شما--tokenیا--passwordرا ارسال نکنید، فرمان آنها را از snapshot فعال Gateway resolve میکند. اگر Gateway در دسترس نباشد، فرمان سریعاً شکست میخورد. - بدون
--remote، زمانی که هیچ بازنویسی احراز هویت CLI ارسال نشده باشد، SecretRefهای احراز هویت Gateway محلی resolve میشوند:gateway.auth.tokenزمانی resolve میشود که احراز هویت با توکن بتواند برنده شود (gateway.auth.mode="token"بهصورت صریح یا حالت استنباطشدهای که در آن هیچ منبع گذرواژهای برنده نمیشود).gateway.auth.passwordزمانی resolve میشود که احراز هویت با گذرواژه بتواند برنده شود (gateway.auth.mode="password"بهصورت صریح یا حالت استنباطشده با نبود توکن برنده از auth/env).
- اگر هم
gateway.auth.tokenو همgateway.auth.passwordپیکربندی شده باشند (از جمله SecretRefها) وgateway.auth.modeتنظیم نشده باشد، resolve شدن کد راهاندازی تا زمانی که mode بهصورت صریح تنظیم شود شکست میخورد. - نکتهٔ ناسازگاری نسخهٔ Gateway: این مسیر فرمان به Gatewayای نیاز دارد که از
secrets.resolveپشتیبانی کند؛ Gatewayهای قدیمیتر خطای unknown-method برمیگردانند. - پس از اسکن، جفتسازی دستگاه را با این موارد تأیید کنید:
openclaw devices listopenclaw devices approve <requestId>