CLI commands

دستگاه‌ها

openclaw devices

درخواست‌های جفت‌سازی دستگاه و توکن‌های محدود به دستگاه را مدیریت کنید.

فرمان‌ها

openclaw devices list

درخواست‌های جفت‌سازی در انتظار و دستگاه‌های جفت‌شده را فهرست کنید.

openclaw devices list
openclaw devices list --json

خروجی درخواست در انتظار، وقتی دستگاه از قبل جفت شده باشد، دسترسی درخواست‌شده را کنار دسترسی تأییدشده فعلی دستگاه نشان می‌دهد. این کار ارتقاهای دامنه/نقش را صریح می‌کند، به‌جای اینکه شبیه از دست رفتن جفت‌سازی به نظر برسد.

openclaw devices remove <deviceId>

یک ورودی دستگاه جفت‌شده را حذف کنید.

وقتی با توکن دستگاه جفت‌شده احراز هویت شده‌اید، فراخوان‌های غیرمدیر فقط می‌توانند ورودی دستگاه خودشان را حذف کنند. حذف دستگاهی دیگر به operator.admin نیاز دارد.

openclaw devices remove <deviceId>
openclaw devices remove <deviceId> --json

openclaw devices clear --yes [--pending]

دستگاه‌های جفت‌شده را به‌صورت گروهی پاک کنید.

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

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

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

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

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

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

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

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

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

  • --url <url>: نشانی وب‌سوکت 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 صریحی ارسال نشده باشد)، فهرست/تأیید می‌تواند از مسیر جایگزین جفت‌سازی محلی استفاده کند.
  • devices approve پیش از صدور توکن‌ها به شناسه درخواست صریح نیاز دارد؛ حذف requestId یا ارسال --latest فقط جدیدترین درخواست در انتظار را پیش‌نمایش می‌کند.

فهرست بررسی بازیابی رانش توکن

وقتی رابط کاربری کنترل یا سرویس‌گیرنده‌های دیگر مدام با AUTH_TOKEN_MISMATCH یا AUTH_DEVICE_TOKEN_MISMATCH شکست می‌خورند، از این استفاده کنید.

  1. منبع فعلی توکن Gateway را تأیید کنید:
openclaw config get gateway.auth.token
  1. دستگاه‌های جفت‌شده را فهرست کنید و شناسه دستگاه آسیب‌دیده را شناسایی کنید:
openclaw devices list
  1. توکن عملگر را برای دستگاه آسیب‌دیده بچرخانید:
openclaw devices rotate --device <deviceId> --role operator
  1. اگر چرخش کافی نیست، جفت‌سازی کهنه را حذف کنید و دوباره تأیید کنید:
openclaw devices remove <deviceId>
openclaw devices list
openclaw devices approve <requestId>
  1. اتصال سرویس‌گیرنده را با توکن/گذرواژه اشتراکی فعلی دوباره امتحان کنید.

یادداشت‌ها:

  • تقدم عادی احراز هویت در اتصال مجدد این است: ابتدا توکن/گذرواژه اشتراکی صریح، سپس deviceToken صریح، سپس توکن دستگاه ذخیره‌شده، سپس توکن راه‌اندازی اولیه.
  • بازیابی مورداعتماد AUTH_TOKEN_MISMATCH می‌تواند به‌طور موقت هم توکن اشتراکی و هم توکن دستگاه ذخیره‌شده را برای همان یک تلاش مجدد محدود با هم ارسال کند.

مرتبط:

مرتبط