Dashboard (UI Kontrol)
Dashboard Gateway adalah UI Kontrol berbasis browser yang disajikan di/ secara default
(override dengan gateway.controlUi.basePath).
Buka cepat (Gateway lokal):
Referensi utama:
- UI Kontrol untuk penggunaan dan kemampuan UI.
- Tailscale untuk otomatisasi Serve/Funnel.
- Permukaan web untuk mode bind dan catatan keamanan.
connect.params.auth.tokenconnect.params.auth.password- Header identitas Tailscale Serve saat
gateway.auth.allowTailscale: true - Header identitas trusted-proxy saat
gateway.auth.mode: "trusted-proxy"
gateway.auth di Konfigurasi Gateway.
Catatan keamanan: UI Kontrol adalah permukaan admin (chat, config, persetujuan exec).
Jangan mengeksposnya secara publik. UI menyimpan token URL dashboard di sessionStorage
untuk sesi tab browser saat ini dan URL gateway yang dipilih, lalu menghapusnya dari URL setelah dimuat.
Pilih localhost, Tailscale Serve, atau tunnel SSH.
Jalur cepat (direkomendasikan)
- Setelah onboarding, CLI otomatis membuka dashboard dan mencetak tautan bersih (tanpa token).
- Buka kembali kapan saja:
openclaw dashboard(menyalin tautan, membuka browser jika memungkinkan, menampilkan petunjuk SSH jika headless). - Jika UI meminta autentikasi shared-secret, tempel token atau password yang dikonfigurasi ke pengaturan UI Kontrol.
Dasar autentikasi (lokal vs jarak jauh)
- Localhost: buka
http://127.0.0.1:18789/. - Sumber token shared-secret:
gateway.auth.token(atauOPENCLAW_GATEWAY_TOKEN);openclaw dashboarddapat meneruskannya melalui URL fragment untuk bootstrap satu kali, dan UI Kontrol menyimpannya di sessionStorage untuk sesi tab browser saat ini dan URL gateway yang dipilih alih-alih localStorage. - Jika
gateway.auth.tokendikelola SecretRef,openclaw dashboardmencetak/menyalin/membuka URL tanpa token secara desain. Ini menghindari mengekspos token yang dikelola secara eksternal di log shell, riwayat clipboard, atau argumen peluncuran browser. - Jika
gateway.auth.tokendikonfigurasi sebagai SecretRef dan tidak dapat diresolusikan di shell Anda saat ini,openclaw dashboardtetap mencetak URL tanpa token beserta panduan penyiapan autentikasi yang dapat ditindaklanjuti. - Password shared-secret: gunakan
gateway.auth.passwordyang dikonfigurasi (atauOPENCLAW_GATEWAY_PASSWORD). Dashboard tidak menyimpan password antar reload. - Mode pembawa identitas: Tailscale Serve dapat memenuhi autentikasi UI Kontrol/WebSocket
melalui header identitas saat
gateway.auth.allowTailscale: true, dan reverse proxy non-loopback yang sadar identitas dapat memenuhigateway.auth.mode: "trusted-proxy". Dalam mode tersebut dashboard tidak memerlukan shared secret yang ditempel untuk WebSocket. - Bukan localhost: gunakan Tailscale Serve, bind shared-secret non-loopback, sebuah
reverse proxy non-loopback yang sadar identitas dengan
gateway.auth.mode: "trusted-proxy", atau tunnel SSH. API HTTP tetap menggunakan autentikasi shared-secret kecuali Anda sengaja menjalankan private-ingressgateway.auth.mode: "none"atau autentikasi HTTP trusted-proxy. Lihat Permukaan web.
Jika Anda melihat “unauthorized” / 1008
- Pastikan gateway dapat dijangkau (lokal:
openclaw status; jarak jauh: tunnel SSHssh -N -L 18789:127.0.0.1:18789 user@hostlalu bukahttp://127.0.0.1:18789/). - Untuk
AUTH_TOKEN_MISMATCH, klien dapat melakukan satu percobaan ulang tepercaya dengan token perangkat tersimpan saat gateway mengembalikan petunjuk retry. Percobaan ulang token tersimpan itu menggunakan kembali scope yang telah disetujui dan tersimpan pada token; pemanggildeviceTokeneksplisit /scopeseksplisit tetap mempertahankan set scope yang diminta. Jika autentikasi masih gagal setelah retry itu, selesaikan token drift secara manual. - Di luar jalur retry itu, prioritas autentikasi koneksi adalah shared token/password eksplisit terlebih dahulu, lalu
deviceTokeneksplisit, lalu token perangkat tersimpan, lalu token bootstrap. - Pada jalur UI Kontrol Tailscale Serve async, percobaan gagal untuk
{scope, ip}yang sama diserialkan sebelum limiter failed-auth mencatatnya, sehingga percobaan buruk kedua yang berjalan bersamaan sudah bisa menampilkanretry later. - Untuk langkah perbaikan token drift, ikuti Checklist pemulihan token drift.
- Ambil atau sediakan shared secret dari host gateway:
- Token:
openclaw config get gateway.auth.token - Password: resolusikan
gateway.auth.passwordatauOPENCLAW_GATEWAY_PASSWORDyang dikonfigurasi - Token yang dikelola SecretRef: resolusikan penyedia secret eksternal atau ekspor
OPENCLAW_GATEWAY_TOKENdi shell ini, lalu jalankan ulangopenclaw dashboard - Tidak ada shared secret yang dikonfigurasi:
openclaw doctor --generate-gateway-token
- Token:
- Di pengaturan dashboard, tempel token atau password ke field autentikasi, lalu sambungkan.