Web interfaces
Dasbor
Dasbor Gateway adalah Control UI berbasis peramban yang secara default disajikan di / (ubah dengan gateway.controlUi.basePath).
Buka cepat (Gateway lokal):
- http://127.0.0.1:18789/ (atau http://localhost:18789/)
- Dengan
gateway.tls.enabled: true, gunakanhttps://127.0.0.1:18789/danwss://127.0.0.1:18789untuk endpoint WebSocket.
Referensi utama:
- Control UI untuk penggunaan dan kemampuan UI.
- Tailscale untuk otomatisasi Serve/Funnel.
- Permukaan web untuk mode pengikatan dan catatan keamanan.
Autentikasi diberlakukan saat handshake WebSocket melalui jalur autentikasi gateway yang dikonfigurasi:
connect.params.auth.tokenconnect.params.auth.password- Header identitas Tailscale Serve ketika
gateway.auth.allowTailscale: true - Header identitas proksi tepercaya ketika
gateway.auth.mode: "trusted-proxy"
Lihat gateway.auth di Konfigurasi Gateway.
Jalur cepat (disarankan)
- Setelah onboarding, CLI otomatis membuka dasbor dan mencetak tautan bersih (tanpa token).
- Buka kembali kapan saja:
openclaw dashboard(menyalin tautan, membuka peramban jika memungkinkan, mencetak petunjuk SSH jika tanpa antarmuka grafis). - Jika pengiriman melalui papan klip dan peramban sama-sama gagal,
openclaw dashboardtetap mencetak URL bersih dan memberi tahu Anda untuk menambahkan token (dariOPENCLAW_GATEWAY_TOKENataugateway.auth.token) sebagai kunci fragmen URLtoken; nilai token tidak pernah dicetak dalam log. - Jika UI meminta autentikasi rahasia bersama, tempelkan token atau kata sandi yang dikonfigurasi ke pengaturan Control UI.
Dasar-dasar autentikasi (lokal vs jarak jauh)
- Localhost: buka
http://127.0.0.1:18789/. - TLS Gateway: ketika
gateway.tls.enabled: true, tautan dasbor/status menggunakanhttps://dan tautan WebSocket Control UI menggunakanwss://. - Sumber token rahasia bersama:
gateway.auth.token(atauOPENCLAW_GATEWAY_TOKEN).openclaw dashboarddapat meneruskannya melalui fragmen URL untuk bootstrap satu kali; Control UI menyimpannya di sessionStorage untuk tab saat ini dan URL gateway yang dipilih, bukan localStorage. - Jika
gateway.auth.tokendikelola oleh SecretRef,openclaw dashboardsecara sengaja mencetak/menyalin/membuka URL tanpa token untuk menghindari pemaparan token yang dikelola secara eksternal dalam log shell, riwayat papan klip, atau argumen peluncuran peramban. Jika referensi tidak dapat diurai dalam shell Anda saat ini, perintah tersebut tetap mencetak URL tanpa token beserta panduan penyiapan autentikasi yang dapat ditindaklanjuti. - Kata sandi rahasia bersama: gunakan
gateway.auth.passwordyang dikonfigurasi (atauOPENCLAW_GATEWAY_PASSWORD). Dasbor tidak menyimpan kata sandi setelah pemuatan ulang. - Mode yang membawa identitas: Tailscale Serve memenuhi autentikasi Control UI/WebSocket melalui header identitas ketika
gateway.auth.allowTailscale: true; proksi terbalik berbasis identitas non-loopback memenuhigateway.auth.mode: "trusted-proxy". Keduanya tidak memerlukan penempelan rahasia bersama untuk WebSocket. - Bukan localhost: gunakan Tailscale Serve, pengikatan rahasia bersama non-loopback, proksi terbalik berbasis identitas non-loopback dengan
gateway.auth.mode: "trusted-proxy", atau tunnel SSH. API HTTP tetap menggunakan autentikasi rahasia bersama kecuali Anda sengaja menjalankangateway.auth.mode: "none"dengan ingress privat atau autentikasi HTTP proksi tepercaya. Lihat Permukaan web.
Buka di Telegram
Bot Telegram dapat membuka dasbor sebagai Telegram Mini App dengan /dashboard.
Persyaratan:
gateway.tailscale.mode: "serve"atau"funnel"agar Telegram mendapatkan URL Mini App HTTPS.- Pengirim Telegram harus merupakan pemilik bot: ID pengguna Telegram numerik dalam
commands.ownerAllowFromatauchannels.telegram.allowFromefektif milik akun yang dipilih. - Jalankan
/dashboarddalam DM dengan bot. Pemanggilan di grup hanya memberi tahu Anda untuk membuka perintah tersebut di DM dan tidak menyertakan tombol. - Instalasi Docker: mode Serve/Funnel mengharuskan gateway terikat ke loopback di sebelah
tailscaled, yang tidak dapat dipenuhi oleh jaringan bridge dengan port yang dipublikasikan. Jalankan kontainer gateway dengannetwork_mode: hostdan pasang sokettailscaledhost (/var/run/tailscale) beserta CLItailscaleke dalam kontainer.
Mini App melakukan serah terima pemilik satu kali dan mengalihkan ke Control UI dengan token bootstrap berumur pendek. Mini App tidak mengekspos token gateway bersama dalam URL.
Bukan tujuan untuk v1:
- Iframe Web Telegram tidak didukung.
- Tailscale Serve/Funnel adalah satu-satunya jalur URL publikasi yang didukung.
Jika Anda melihat "unauthorized" / 1008
- Pastikan gateway dapat dijangkau: lokal
openclaw status; untuk jarak jauh, buat tunnel SSHssh -N -L 18789:127.0.0.1:18789 user@gateway-host, lalu bukahttp://127.0.0.1:18789/. - Untuk
AUTH_TOKEN_MISMATCH, klien dapat melakukan satu percobaan ulang tepercaya dengan token perangkat yang disimpan dalam cache ketika gateway mengembalikan petunjuk percobaan ulang; percobaan ulang tersebut menggunakan kembali cakupan yang telah disetujui dan disimpan dalam cache token (pemanggil eksplisitdeviceToken/scopesmempertahankan kumpulan cakupan yang diminta). Jika autentikasi masih gagal setelah percobaan ulang tersebut, atasi ketidakselarasan token secara manual. - Untuk
AUTH_SCOPE_MISMATCH, token perangkat dikenali tetapi tidak memiliki cakupan yang diminta; lakukan pemasangan ulang atau setujui kumpulan cakupan baru alih-alih merotasi token gateway bersama. - Di luar jalur percobaan ulang tersebut, urutan prioritas autentikasi koneksi adalah: token/kata sandi bersama eksplisit, lalu
deviceTokeneksplisit, kemudian token perangkat tersimpan, lalu token bootstrap. - Pada jalur Tailscale Serve asinkron, upaya gagal untuk
{scope, ip}yang sama diserialkan sebelum pembatas autentikasi gagal mencatatnya, sehingga percobaan ulang buruk kedua yang berlangsung bersamaan sudah dapat menampilkanretry later. - Untuk langkah perbaikan ketidakselarasan token, lihat Daftar periksa pemulihan ketidakselarasan token.
- Ambil atau berikan rahasia bersama dari host gateway:
- Token:
openclaw config get gateway.auth.token - Kata sandi: uraikan
gateway.auth.passwordatauOPENCLAW_GATEWAY_PASSWORDyang dikonfigurasi - Token yang dikelola SecretRef: uraikan penyedia rahasia eksternal, atau ekspor
OPENCLAW_GATEWAY_TOKENdalam shell ini dan jalankan kembaliopenclaw dashboard - Tidak ada rahasia bersama yang dikonfigurasi:
openclaw doctor --generate-gateway-token
- Token:
- Di pengaturan dasbor, tempelkan token atau kata sandi ke bidang autentikasi, lalu hubungkan.
- Pemilih bahasa UI berada di Settings -> General -> Language, bukan di bawah Appearance.
Terkait
Was this useful?