CLI commands
QR
openclaw qr
Buat QR pemasangan perangkat seluler dan kode penyiapan dari konfigurasi Gateway Anda saat ini.
openclaw qropenclaw qr --setup-code-onlyopenclaw qr --jsonopenclaw qr --remoteopenclaw qr --url wss://gateway.example/wsAplikasi resmi OpenClaw untuk iOS dan Android terhubung secara otomatis ketika metadata kode penyiapannya cocok. Jika permintaan tetap tertunda (misalnya, untuk klien tidak resmi atau metadata yang tidak cocok), tinjau dan setujui permintaan tersebut:
openclaw devices listopenclaw devices approve <requestId>Opsi
--remote: utamakangateway.remote.url; beralih kegateway.tailscale.mode=serve|funneljika URL tersebut belum ditetapkan. MengabaikanpublicUrldari Plugindevice-pair.--url <url>: timpa URL gateway yang digunakan dalam muatan--public-url <url>: timpa URL publik yang digunakan dalam muatan--token <token>: timpa token gateway yang digunakan oleh alur bootstrap untuk autentikasi--password <password>: timpa kata sandi gateway yang digunakan oleh alur bootstrap untuk autentikasi--setup-code-only: cetak hanya kode penyiapan--no-ascii: lewati perenderan QR ASCII--json: keluarkan JSON (setupCode,gatewayUrl,gatewayUrlsopsional,auth,urlSource)
--token dan --password tidak dapat digunakan bersamaan.
Isi kode penyiapan
Kode penyiapan membawa bootstrapToken buram dan berumur pendek, bukan token/kata sandi gateway bersama. Alur bootstrap bawaan menerbitkan:
- token
nodeutama denganscopes: [] - token serah-terima
operatorterbatas yang hanya mencakupoperator.approvals,operator.read,operator.talk.secrets, danoperator.write
Cakupan mutasi pemasangan dan operator.admin tetap memerlukan alur pemasangan operator atau token terpisah yang telah disetujui.
Resolusi URL Gateway
Pemasangan perangkat seluler gagal secara aman untuk URL gateway ws:// Tailscale/publik: gunakan Tailscale Serve/Funnel atau URL gateway wss:// untuk kasus tersebut. Alamat LAN privat dan host Bonjour .local tetap didukung melalui ws:// biasa.
Ketika URL Gateway yang dipilih berasal dari gateway.bind=lan, OpenClaw juga memeriksa rute persisten dari tailscale serve status --json. Setiap akar Serve HTTPS yang memproksikan porta loopback Gateway aktif disertakan sebagai cadangan. Perintah QR menambahkan cadangan ini hanya untuk lan; custom dan tailnet mempertahankan rute yang diiklankan secara eksplisit. Klien iOS saat ini mencoba rute yang diiklankan secara berurutan dan menyimpan rute pertama yang dapat dijangkau; kolom lama url tetap tidak berubah untuk klien versi lama.
Dengan --remote, salah satu dari gateway.remote.url atau gateway.tailscale.mode=serve|funnel wajib tersedia.
Resolusi autentikasi (tanpa --remote)
Ketika tidak ada penggantian autentikasi CLI yang diteruskan, SecretRef autentikasi gateway lokal diresolusi sebagai berikut:
| Kondisi | Diresolusi menjadi |
|---|---|
gateway.auth.mode="token", atau mode yang disimpulkan tanpa sumber kata sandi yang menang |
gateway.auth.token |
gateway.auth.mode="password", atau mode yang disimpulkan tanpa token yang menang dari autentikasi/variabel lingkungan |
gateway.auth.password |
gateway.auth.token dan gateway.auth.password sama-sama dikonfigurasi (termasuk SecretRef) dan gateway.auth.mode kosong |
gagal; tetapkan gateway.auth.mode secara eksplisit |
Resolusi autentikasi (--remote)
Jika kredensial jarak jauh yang aktif secara efektif dikonfigurasi sebagai SecretRef dan baik --token maupun --password tidak diteruskan, perintah akan meresolusinya dari snapshot gateway aktif. Jika gateway tidak tersedia, perintah akan langsung gagal.