CLI commands
QR
openclaw qr
Wygeneruj kod QR parowania urządzenia mobilnego i kod konfiguracji na podstawie bieżącej konfiguracji Gateway.
openclaw qropenclaw qr --setup-code-onlyopenclaw qr --jsonopenclaw qr --remoteopenclaw qr --limitedopenclaw qr --url wss://gateway.example/wsOficjalne aplikacje OpenClaw na iOS i Androida łączą się automatycznie, gdy metadane ich kodu konfiguracji są zgodne. Jeśli żądanie nadal oczekuje (na przykład w przypadku nieoficjalnego klienta lub niezgodnych metadanych), sprawdź je i zatwierdź:
openclaw devices listopenclaw devices approve <requestId>Opcje
--remote: preferujegateway.remote.url; jeśli ten adres URL nie jest ustawiony, używa zastępczogateway.tailscale.mode=serve|funnel. Ignorujedevice-pairPluginpublicUrl.--url <url>: zastępuje adres URL Gateway używany w ładunku--public-url <url>: zastępuje publiczny adres URL używany w ładunku--token <token>: zastępuje token Gateway, względem którego uwierzytelnia się przepływ inicjalizacji--password <password>: zastępuje hasło Gateway, względem którego uwierzytelnia się przepływ inicjalizacji--limited: pomija administracyjny dostęp do Gateway w przekazywanym tokenie operatora--setup-code-only: wyświetla tylko kod konfiguracji--no-ascii: pomija renderowanie kodu QR w ASCII--json: generuje JSON (setupCode,gatewayUrl, opcjonalniegatewayUrls,auth,access, opcjonalnieaccessDowngraded,urlSource)
--token i --password wzajemnie się wykluczają.
Zawartość kodu konfiguracji
Kod konfiguracji zawiera nieprzezroczysty, krótkotrwały bootstrapToken, a nie współdzielony token ani hasło Gateway. W przypadku punktu końcowego wss:// (lub pętli zwrotnej na tym samym hoście) domyślny przepływ inicjalizacji wydaje:
- podstawowy token
nodezscopes: [] - pełny token przekazania
operatordla natywnej aplikacji mobilnej zoperator.admin,operator.approvals,operator.read,operator.talk.secretsioperator.write
Użyj --limited, aby zachować ten sam token węzła, jednocześnie pomijając operator.admin w przekazaniu operatora. Zakres modyfikacji parowania nigdy nie jest przekazywany przez kod konfiguracji.
Konfiguracja ws:// w postaci zwykłego tekstu w sieci LAN pozostaje dostępna, ale OpenClaw automatycznie używa
profilu ograniczonego, ponieważ obserwator sieci mógłby przechwycić token okaziciela
inicjalizacji i wykorzystać go wcześniej. Skonfiguruj wss:// lub Tailscale Serve, a następnie wygeneruj nowy kod,
aby uzyskać pełny dostęp.
Rozpoznawanie adresu URL Gateway
Parowanie urządzeń mobilnych bezpiecznie odrzuca adresy URL Gateway Tailscale/publiczne ws://: w ich przypadku użyj Tailscale Serve/Funnel lub adresu URL Gateway wss://. Prywatne adresy LAN i hosty Bonjour .local są nadal obsługiwane przez zwykły ws://, z ograniczonym dostępem operatora opisanym powyżej.
Gdy wybrany adres URL Gateway pochodzi z gateway.bind=lan, OpenClaw sprawdza również trwałe trasy tailscale serve status --json. Każdy główny adres HTTPS Serve, który pośredniczy w dostępie do portu pętli zwrotnej aktywnego Gateway, jest uwzględniany jako trasa zapasowa. Polecenie QR dodaje tę trasę zapasową tylko dla lan; custom i tailnet zachowują jawnie rozgłaszane trasy. Bieżące klienty iOS sprawdzają rozgłaszane trasy w podanej kolejności i zapisują pierwszą osiągalną; starsze pole url pozostaje bez zmian dla starszych klientów.
W przypadku --remote wymagane jest jedno z gateway.remote.url lub gateway.tailscale.mode=serve|funnel.
Rozpoznawanie uwierzytelniania (bez --remote)
Jeśli nie podano zastąpienia uwierzytelniania w CLI, lokalne odwołania SecretRef uwierzytelniania Gateway są rozpoznawane w następujący sposób:
| Warunek | Rozpoznawana wartość |
|---|---|
gateway.auth.mode="token" lub tryb wywnioskowany bez nadrzędnego źródła hasła |
gateway.auth.token |
gateway.auth.mode="password" lub tryb wywnioskowany bez nadrzędnego tokenu z uwierzytelniania/środowiska |
gateway.auth.password |
Skonfigurowano zarówno gateway.auth.token, jak i gateway.auth.password (w tym SecretRefs), a gateway.auth.mode nie jest ustawione |
występuje błąd; ustaw jawnie gateway.auth.mode |
Rozpoznawanie uwierzytelniania (--remote)
Jeśli faktycznie aktywne zdalne dane uwierzytelniające są skonfigurowane jako SecretRefs i nie przekazano ani --token, ani --password, polecenie rozpoznaje je z aktywnej migawki Gateway. Jeśli Gateway jest niedostępny, polecenie natychmiast kończy się błędem.