CLI commands

QR

openclaw qr

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

bash
openclaw qropenclaw qr --setup-code-onlyopenclaw qr --jsonopenclaw qr --remoteopenclaw 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 パスワードを上書きします
  • --setup-code-only: セットアップコードのみを出力します
  • --no-ascii: ASCII QR のレンダリングを省略します
  • --json: JSON(setupCodegatewayUrl、省略可能な gatewayUrlsauthurlSource)を出力します

--token--password は同時に指定できません。

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

セットアップコードには、共有 Gateway トークン/パスワードではなく、不透明で有効期間の短い bootstrapToken が含まれます。組み込みのブートストラップフローは、以下を発行します。

  • scopes: [] を持つプライマリ node トークン
  • operator.approvalsoperator.readoperator.talk.secretsoperator.write に限定された operator 引き継ぎトークン

ペアリング変更スコープと operator.admin には、引き続き別途承認済みのオペレーターペアリングまたはトークンフローが必要です。

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 認証の SecretRef は次のように解決されます。

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

認証の解決(--remote

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

関連項目

Was this useful?
On this page

On this page