openclaw devices
デバイスのペアリング要求とデバイススコープのトークンを管理します。
共通オプション
--url <url>: Gateway WebSocket URL(設定時のデフォルトはgateway.remote.url)--token <token>: Gateway トークン(必要な場合)--password <password>: Gateway パスワード(パスワード認証)--timeout <ms>: RPC タイムアウト--json: JSON 出力(スクリプトでの使用を推奨)
コマンド
openclaw devices list
保留中のペアリング要求とペアリング済みデバイスを一覧表示します。
devices rename の operatorLabel)、クライアントの displayName、clientId、deviceId の順です。
openclaw devices approve [requestId] [--latest]
正確な requestId を指定して、保留中のペアリング要求を承認します。requestId を省略するか、--latest を渡した場合は、最新の保留中の要求をプレビューして終了するだけです(終了コード 1)。承認するには、正確な要求 ID を指定して再実行してください。
デバイスが認証情報(ロール、スコープ、または公開鍵)を変更してペアリングを再試行すると、OpenClaw は以前の保留中エントリを新しい
requestId で置き換えます。現在の ID を取得するには、承認の直前に openclaw devices list を実行してください。- デバイスがすでにペアリング済みで、より広いスコープまたはロールを要求した場合、OpenClaw は既存の承認を維持し、新しい保留中のアップグレード要求を作成します。承認する前に、
openclaw devices listでRequestedとApprovedを比較するか、--latestでプレビューしてください。 nodeロールまたはその他の非オペレーターロールを承認するには、operator.adminが必要です。オペレーターデバイスの承認にはoperator.pairingで十分ですが、要求されたオペレータースコープが呼び出し元自身のスコープ内に収まる場合に限ります。オペレータースコープを参照してください。gateway.nodes.pairing.autoApproveCidrsが設定されている場合、一致するクライアント IP からの初回のrole: node要求は、この一覧に表示される前に自動承認されることがあります。デフォルトでは無効で、オペレーター/ブラウザークライアントやアップグレード要求には適用されません。gateway.nodes.pairing.sshVerify(デフォルトで有効)は、Gateway が SSH 経由で Node ホストのデバイス鍵を検証した場合、初回のrole: node要求を自動承認します。そのため、要求は表示された直後に承認済みになることがあります。SSH 検証を無効にするにはsshVerify: falseを設定してください。これはautoApproveCidrsとは独立しているため、手動のみのペアリングにするには、そちらも設定解除してください。
openclaw devices reject <requestId>
保留中のデバイスペアリング要求を拒否します。
openclaw devices remove <deviceId>
ペアリング済みデバイスのエントリを 1 件削除します。
operator.admin が必要です。
openclaw devices rename --device <id> --name <label>
ペアリング済みデバイスにオペレーターラベルを割り当てます。ラベルは所有者側の状態です。ペアリングの修復やロールの再承認後も保持され、安定した deviceId は変更されません。
--nameは必須で、前後の空白が除去され、空ではなく、最大 64 文字に制限されます。- 表示画面(CLI の一覧、Control UI のインベントリ)では、クライアントが報告した表示名よりオペレーターラベルが優先されます。
- 管理者ではないペアリング済みデバイスの呼び出し元は、自身のデバイスのみ名前を変更できます。別のデバイスの名前を変更するには
operator.adminが必要です。
openclaw devices clear --yes [--pending]
ペアリング済みデバイスを一括消去します。--yes によって保護されています。
--pending は、保留中のペアリング要求もすべて拒否します。
openclaw devices rotate --device <id> --role <role> [--scope <scope...>]
ロールのデバイストークンをローテーションし、必要に応じてスコープを更新します。
- 対象ロールは、そのデバイスの承認済みペアリング契約にすでに存在している必要があります。ローテーションによって新しい未承認ロールを発行することはできません。
--scopeを省略すると、それ以降の再接続では保存済みトークンにキャッシュされた承認済みスコープが再利用されます。明示的な--scope値を渡すと、以降のキャッシュ済みトークンによる再接続で使用される保存済みスコープセットが置き換えられます。- 管理者ではないペアリング済みデバイスの呼び出し元は、自身のデバイストークンのみローテーションでき、対象スコープセットは呼び出し元自身のオペレータースコープ内に収まる必要があります。ローテーションによって、呼び出し元がすでに持つものより広いトークンを発行または維持することはできません。
openclaw devices revoke --device <id> --role <role>
ロールのデバイストークンを失効させます。
operator.admin が必要です。また、対象スコープセットは呼び出し元自身のオペレータースコープ内に収まる必要があります。ペアリング専用の呼び出し元は、管理者/書き込みオペレータートークンを失効させることはできません。
注意事項
- これらのコマンドには、
operator.pairing(またはoperator.admin)スコープが必要です。オペレーター以外のデバイスロールには常にoperator.adminが必要です。オペレータースコープを参照してください。 - トークンのローテーションと失効は、デバイスの承認済みペアリングロールセットおよびスコープの基準内に限定されます。孤立したキャッシュ済みトークンエントリによって、トークン管理の対象権限が付与されることはありません。
- ペアリング済みデバイストークンのセッションでは、デバイスをまたぐ管理(
remove、rename、rotate、revoke)は、呼び出し元がoperator.adminを持たない限り、自身のデバイスのみに制限されます。 - トークンのローテーションでは新しいトークン(機密情報)が返されます。シークレットとして扱ってください。
- local loopback でペアリングスコープが利用できず、明示的な
--urlが渡されていない場合、list/approveはローカルのペアリング状態にフォールバックできます。
トークンの不整合からの復旧チェックリスト
Control UI またはその他のクライアントでAUTH_TOKEN_MISMATCH、AUTH_DEVICE_TOKEN_MISMATCH、または AUTH_SCOPE_MISMATCH による失敗が続く場合に使用してください。
-
現在の Gateway トークンの取得元を確認します。
-
ペアリング済みデバイスを一覧表示し、影響を受けるデバイス ID を特定します。
-
影響を受けるデバイスのオペレータートークンをローテーションします。
-
ローテーションで解決しない場合は、古いペアリングを削除して再度承認します。
- 現在の共有トークン/パスワードを使用して、クライアント接続を再試行します。
- 通常の再接続時の認証優先順位は、明示的な共有トークン/パスワード、明示的な
deviceToken、保存済みデバイストークン、ブートストラップトークンの順です。 - 信頼済みの
AUTH_TOKEN_MISMATCH復旧では、1 回に限定された再試行のため、共有トークンと保存済みデバイストークンの両方を一時的に送信できます。 AUTH_SCOPE_MISMATCHは、デバイストークンは認識されたものの、要求されたスコープセットを保持していないことを意味します。共有 Gateway 認証を変更する前に、ペアリング/スコープ承認の契約を修正してください。
Paperclip / openclaw_gateway の初回実行時の承認
openclaw_gateway アダプターを介して接続する Paperclip エージェントには、他の新規クライアントと同じ初回実行時のデバイスペアリング承認が適用されます。Paperclip が openclaw_gateway_pairing_required を報告した場合は、保留中のデバイスを承認して再試行してください。
openclaw devices approve <requestId> コマンドが表示されます。詳細を確認してから、要求 ID を指定してそのコマンドを再実行し、承認してください。リモート Gateway または明示的な認証情報を使用する場合は、プレビュー時と承認時に同じオプションを渡します。
adapterConfig.devicePrivateKeyPem を設定します。
openclaw devices list を実行して、保留中の要求が存在することを確認してください。