CLI commands

QR

openclaw qr

現在の Gateway 設定から、モバイルペアリング用の QR とセットアップコードを生成します。

bash
openclaw qropenclaw qr --setup-code-onlyopenclaw qr --jsonopenclaw qr --remoteopenclaw qr --limitedopenclaw qr --url wss://gateway.example/ws

公式の OpenClaw iOS および Android アプリは、セットアップコードのメタデータが一致すると自動的に接続します。リクエストが保留中のままの場合(たとえば、非公式クライアントやメタデータの不一致の場合)は、確認して承認します。

bash
openclaw devices listopenclaw devices approve <requestId>

オプション

  • --remote: gateway.remote.url を優先します。その URL が未設定の場合は gateway.tailscale.mode=serve|funnel にフォールバックします。device-pair Plugin の publicUrl は無視します。
  • --url <url>: ペイロードで使用する Gateway URL を上書きします
  • --public-url <url>: ペイロードで使用する公開 URL を上書きします
  • --token <token>: ブートストラップフローの認証先となる Gateway トークンを上書きします
  • --password <password>: ブートストラップフローの認証先となる Gateway パスワードを上書きします
  • --limited: 引き渡すオペレータートークンから Gateway の管理アクセスを除外します
  • --setup-code-only: セットアップコードのみを出力します
  • --no-ascii: ASCII QR の描画をスキップします
  • --json: JSON を出力します(setupCodegatewayUrl、任意の gatewayUrlsauthaccess、任意の accessDowngradedurlSource

--token--password は相互に排他的です。

セットアップコードの内容

セットアップコードには、共有 Gateway トークン/パスワードではなく、不透明で有効期間の短い bootstrapToken が含まれます。wss:// エンドポイント(または同一ホストのループバック)の場合、デフォルトのブートストラップフローは次を発行します。

  • scopes: [] を持つプライマリ node トークン
  • operator.adminoperator.approvalsoperator.readoperator.talk.secretsoperator.write を持つ、完全なネイティブモバイル用 operator 引き渡しトークン

オペレーターへの引き渡しから operator.admin を除外しながら同じ Node トークンを維持するには、--limited を使用します。ペアリング変更スコープがセットアップコードによって引き渡されることはありません。

平文 LAN ws:// セットアップも引き続き利用できますが、ネットワーク監視者がベアラーブートストラップトークンを取得して先に使用する可能性があるため、OpenClaw は制限付きプロファイルを自動的に使用します。完全なアクセスを得るには、wss:// または Tailscale Serve を設定してから、新しいコードを生成してください。

Gateway URL の解決

Tailscale/公開 ws:// Gateway URL では、モバイルペアリングはフェイルクローズします。この場合は Tailscale Serve/Funnel または wss:// Gateway URL を使用してください。プライベート LAN アドレスと .local Bonjour ホストは、平文 ws:// 経由でも引き続きサポートされますが、前述のとおりオペレーターアクセスは制限されます。

選択した Gateway URL が gateway.bind=lan から取得された場合、OpenClaw は永続的な tailscale serve status --json ルートも確認します。アクティブな Gateway のループバックポートをプロキシする HTTPS Serve ルートは、すべてフォールバックとして含まれます。QR コマンドがこのフォールバックを追加するのは lan のみです。customtailnet は、明示的に公開されたルートを維持します。現在の iOS クライアントは、公開されたルートを順番にプローブして最初に到達可能なものを保存します。古いクライアント向けの従来の url フィールドは変更されません。

--remote を使用する場合、gateway.remote.url または gateway.tailscale.mode=serve|funnel のいずれかが必要です。

認証の解決(--remote なし)

CLI の認証上書きが渡されていない場合、ローカル Gateway 認証の SecretRefs は次のように解決されます。

条件 解決先
gateway.auth.mode="token"、または優先されるパスワードソースがない推論モード gateway.auth.token
gateway.auth.mode="password"、または認証/環境から優先されるトークンがない推論モード gateway.auth.password
gateway.auth.tokengateway.auth.password の両方が設定され(SecretRefs を含む)、gateway.auth.mode が未設定 失敗します。gateway.auth.mode を明示的に設定してください

認証の解決(--remote

実質的に有効なリモート認証情報が SecretRefs として設定されており、--token--password のどちらも渡されていない場合、このコマンドはアクティブな Gateway スナップショットからそれらを解決します。Gateway が利用できない場合、コマンドは即座に失敗します。

関連項目

Was this useful?
On this page

On this page