CLI commands
دستگاهها
openclaw devices
درخواستهای جفتسازی دستگاه و توکنهای محدود به دستگاه را مدیریت کنید.
فرمانها
openclaw devices list
درخواستهای جفتسازی در انتظار و دستگاههای جفتشده را فهرست میکند.
openclaw devices listopenclaw devices list --jsonخروجی درخواستهای در انتظار، دسترسی درخواستشده را کنار دسترسی تأییدشدهٔ فعلی دستگاه نشان میدهد، در صورتی که دستگاه از قبل جفت شده باشد. این کار ارتقاهای دامنه/نقش را صریح میکند، بهجای اینکه شبیه از دست رفتن جفتسازی به نظر برسد.
openclaw devices remove <deviceId>
یک ورودی دستگاه جفتشده را حذف میکند.
وقتی با توکن دستگاه جفتشده احراز هویت شدهاید، فراخوانهای غیرمدیر فقط میتوانند ورودی دستگاه خودشان را حذف کنند. حذف دستگاه دیگر به operator.admin نیاز دارد.
openclaw devices remove <deviceId>openclaw devices remove <deviceId> --jsonopenclaw devices clear --yes [--pending]
دستگاههای جفتشده را بهصورت دستهجمعی پاک میکند.
openclaw devices clear --yesopenclaw devices clear --yes --pendingopenclaw devices clear --yes --pending --jsonopenclaw 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های مشتری منطبق میتوانند پیش از ظاهر شدن در این فهرست تأیید شوند. این سیاست بهصورت پیشفرض غیرفعال است و هرگز برای مشتریان اپراتور/مرورگر یا درخواستهای ارتقا اعمال نمیشود.
openclaw devices approveopenclaw devices approve <requestId>openclaw devices approve --latestopenclaw devices reject <requestId>
یک درخواست جفتسازی دستگاه در انتظار را رد میکند.
openclaw devices reject <requestId>openclaw devices rotate --device <id> --role <role> [--scope <scope...>]
یک توکن دستگاه را برای نقشی مشخص میچرخاند (با امکان بهروزرسانی دامنهها).
نقش هدف باید از قبل در قرارداد جفتسازی تأییدشدهٔ همان دستگاه وجود داشته باشد؛ چرخش نمیتواند نقش تأییدنشدهٔ جدیدی صادر کند.
اگر --scope را حذف کنید، اتصالهای دوبارهٔ بعدی با توکن چرخاندهشدهٔ ذخیرهشده، از دامنههای تأییدشدهٔ کششدهٔ همان توکن دوباره استفاده میکنند. اگر مقدارهای صریح --scope را پاس دهید، همانها به مجموعهٔ دامنهٔ ذخیرهشده برای اتصالهای دوبارهٔ آینده با توکن کششده تبدیل میشوند.
فراخوانهای غیرمدیرِ دستگاه جفتشده فقط میتوانند توکن دستگاه خودشان را بچرخانند.
مجموعهٔ دامنهٔ توکن هدف باید در محدودهٔ دامنههای اپراتورِ خود نشست فراخوان باقی بماند؛ چرخش نمیتواند توکن اپراتور گستردهتری نسبت به آنچه فراخوان از قبل دارد صادر یا حفظ کند.
openclaw devices rotate --device <deviceId> --role operator --scope operator.read --scope operator.writeفرادادهٔ چرخش را بهصورت JSON برمیگرداند. اگر فراخوان در حال چرخاندن توکن خودش باشد و با همان توکن دستگاه احراز هویت شده باشد، پاسخ همچنین شامل توکن جایگزین است تا مشتری بتواند پیش از اتصال دوباره آن را پایدار کند. چرخشهای مشترک/مدیر توکن bearer را بازتاب نمیدهند.
openclaw devices revoke --device <id> --role <role>
یک توکن دستگاه را برای نقشی مشخص لغو میکند.
فراخوانهای غیرمدیرِ دستگاه جفتشده فقط میتوانند توکن دستگاه خودشان را لغو کنند.
لغو توکن دستگاه دیگر به operator.admin نیاز دارد.
مجموعهٔ دامنهٔ توکن هدف نیز باید در محدودهٔ دامنههای اپراتورِ خود نشست فراخوان جا بگیرد؛ فراخوانهایی که فقط جفتسازی دارند نمیتوانند توکنهای اپراتور مدیر/نوشتن را لغو کنند.
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 شکست میخورند، از این استفاده کنید.
- منبع فعلی توکن gateway را تأیید کنید:
openclaw config get gateway.auth.token- دستگاههای جفتشده را فهرست کنید و شناسهٔ دستگاه تحت تأثیر را شناسایی کنید:
openclaw devices list- توکن اپراتور را برای دستگاه تحت تأثیر بچرخانید:
openclaw devices rotate --device <deviceId> --role operator- اگر چرخش کافی نیست، جفتسازی کهنه را حذف کنید و دوباره تأیید کنید:
openclaw devices remove <deviceId>openclaw devices listopenclaw devices approve <requestId>- اتصال مشتری را با توکن/گذرواژهٔ مشترک فعلی دوباره امتحان کنید.
یادداشتها:
- تقدم عادی احراز هویت در اتصال دوباره ابتدا توکن/گذرواژهٔ مشترک صریح، سپس
deviceTokenصریح، سپس توکن دستگاه ذخیرهشده، و سپس توکن bootstrap است. - بازیابی قابلاعتماد
AUTH_TOKEN_MISMATCHمیتواند بهطور موقت هم توکن مشترک و هم توکن دستگاه ذخیرهشده را برای همان تلاش دوبارهٔ محدودشده با هم بفرستد. AUTH_SCOPE_MISMATCHیعنی توکن دستگاه شناسایی شده اما مجموعهٔ دامنهٔ درخواستشده را حمل نمیکند؛ پیش از تغییر احراز هویت مشترک gateway، قرارداد تأیید جفتسازی/دامنه را اصلاح کنید.
مرتبط: