CLI commands

دستگاه‌ها

Edit source

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های مشتری منطبق می‌توانند پیش از ظاهر شدن در این فهرست تأیید شوند. این سیاست به‌صورت پیش‌فرض غیرفعال است و هرگز برای مشتریان اپراتور/مرورگر یا درخواست‌های ارتقا اعمال نمی‌شود.

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

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 برمی‌گرداند. اگر فراخوان در حال چرخاندن توکن خودش باشد و با همان توکن دستگاه احراز هویت شده باشد، پاسخ همچنین شامل توکن جایگزین است تا مشتری بتواند پیش از اتصال دوباره آن را پایدار کند. چرخش‌های مشترک/مدیر توکن bearer را بازتاب نمی‌دهند.

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

یک توکن دستگاه را برای نقشی مشخص لغو می‌کند.

فراخوان‌های غیرمدیرِ دستگاه جفت‌شده فقط می‌توانند توکن دستگاه خودشان را لغو کنند. لغو توکن دستگاه دیگر به operator.admin نیاز دارد. مجموعهٔ دامنهٔ توکن هدف نیز باید در محدودهٔ دامنه‌های اپراتورِ خود نشست فراخوان جا بگیرد؛ فراخوان‌هایی که فقط جفت‌سازی دارند نمی‌توانند توکن‌های اپراتور مدیر/نوشتن را لغو کنند.

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

نتیجهٔ لغو را به‌صورت JSON برمی‌گرداند.

گزینه‌های رایج

  • --url <url>: نشانی WebSocket Gateway (وقتی پیکربندی شده باشد، پیش‌فرض gateway.remote.url است).
  • --token <token>: توکن Gateway (در صورت نیاز).
  • --password <password>: گذرواژهٔ Gateway (احراز هویت با گذرواژه).
  • --timeout <ms>: مهلت زمانی RPC.
  • --json: خروجی JSON (برای اسکریپت‌نویسی توصیه می‌شود).

یادداشت‌ها

  • چرخش توکن یک توکن جدید برمی‌گرداند (حساس). با آن مثل یک راز رفتار کنید.
  • این فرمان‌ها به دامنهٔ operator.pairing (یا operator.admin) نیاز دارند. برخی تأییدها همچنین نیاز دارند فراخوان دامنه‌های اپراتوری را داشته باشد که دستگاه هدف صادر یا به ارث خواهد برد؛ دامنه‌های اپراتور را ببینید.
  • gateway.nodes.pairing.autoApproveCidrs یک سیاست اختیاری Gateway فقط برای جفت‌سازی دستگاه node تازه است؛ اختیار تأیید CLI را تغییر نمی‌دهد.
  • چرخش و لغو توکن داخل مجموعهٔ نقش‌های جفت‌سازی تأییدشده و خط مبنای دامنهٔ تأییدشده برای همان دستگاه باقی می‌مانند. یک ورودی توکن کش‌شدهٔ سرگردان، هدف مدیریت توکن اعطا نمی‌کند.
  • برای نشست‌های توکن دستگاه جفت‌شده، مدیریت بین دستگاه‌ها فقط مخصوص مدیر است: remove، rotate و revoke فقط برای خود کاربر هستند، مگر اینکه فراخوان operator.admin داشته باشد.
  • تغییر توکن نیز در دامنهٔ فراخوان محدود است: نشستی که فقط جفت‌سازی دارد نمی‌تواند توکنی را بچرخاند یا لغو کند که در حال حاضر operator.admin یا operator.write را حمل می‌کند.
  • devices clear عمداً پشت --yes قرار داده شده است.
  • اگر دامنهٔ جفت‌سازی روی local loopback در دسترس نباشد (و --url صریحی پاس داده نشده باشد)، list/approve می‌تواند از یک جایگزین جفت‌سازی محلی استفاده کند.
  • devices approve پیش از صدور توکن‌ها به شناسهٔ درخواست صریح نیاز دارد؛ حذف requestId یا پاس دادن --latest فقط جدیدترین درخواست در انتظار را پیش‌نمایش می‌کند.

چک‌لیست بازیابی drift توکن

وقتی 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 صریح، سپس توکن دستگاه ذخیره‌شده، و سپس توکن bootstrap است.
  • بازیابی قابل‌اعتماد AUTH_TOKEN_MISMATCH می‌تواند به‌طور موقت هم توکن مشترک و هم توکن دستگاه ذخیره‌شده را برای همان تلاش دوبارهٔ محدودشده با هم بفرستد.
  • AUTH_SCOPE_MISMATCH یعنی توکن دستگاه شناسایی شده اما مجموعهٔ دامنهٔ درخواست‌شده را حمل نمی‌کند؛ پیش از تغییر احراز هویت مشترک gateway، قرارداد تأیید جفت‌سازی/دامنه را اصلاح کنید.

مرتبط:

مرتبط

Was this useful?