Skip to main content
Alur ini memungkinkan aplikasi macOS berfungsi sebagai kendali jarak jauh penuh untuk Gateway OpenClaw yang berjalan di host lain (desktop/server). Aplikasi terhubung langsung ke URL Gateway LAN/Tailnet tepercaya, atau mengelola terowongan SSH saat Gateway jarak jauh hanya dapat diakses melalui loopback. Pemeriksaan kesehatan, penerusan Voice Wake, dan Web Chat menggunakan kembali konfigurasi jarak jauh yang sama dari Settings -> General.

Mode

  • Lokal (Mac ini): semuanya berjalan di laptop; tidak melibatkan SSH.
  • Jarak jauh melalui SSH (default): perintah OpenClaw berjalan di host jarak jauh. Aplikasi membuka koneksi SSH dengan -o BatchMode, identitas/kunci pilihan Anda, dan penerusan port lokal.
  • Jarak jauh langsung (ws/wss): tanpa terowongan SSH; aplikasi terhubung langsung ke URL Gateway (LAN, Tailscale, Tailscale Serve, atau proksi balik HTTPS publik).

Transportasi jarak jauh

  • Terowongan SSH (default): menggunakan ssh -N -L ... untuk meneruskan port Gateway ke localhost. Gateway melihat IP Node sebagai 127.0.0.1 karena terowongan menggunakan loopback.
  • Langsung (ws/wss): terhubung langsung ke URL Gateway. Gateway melihat IP klien yang sebenarnya.
Aplikasi menonaktifkan multipleks koneksi SSH dan proses latar belakang pascaautentikasi untuk proses SSH miliknya agar dapat memantau dan memulai ulang proses yang tepat, meskipun alias yang dipilih mengaktifkan ControlMaster atau ForkAfterAuthentication. Verifikasi kunci host SSH bersifat ketat secara default karena kredensial Gateway melewati terowongan ini. Untuk menggunakan perilaku kepercayaan milik alias SSH terkelola, tetapkan --ssh-host-key-policy openssh melalui openclaw-mac configure-remote, atau tetapkan gateway.remote.sshHostKeyPolicy langsung ke "openssh". Tinjau alias tersebut serta setiap Host * yang cocok atau konfigurasi sistem sebelum mengaktifkannya. Mengubah target SSH (di aplikasi atau melalui configure-remote) mereset kebijakan kembali ke strict, kecuali Anda mengaktifkannya kembali secara eksplisit untuk target baru. Dalam mode terowongan SSH, nama host LAN/tailnet yang ditemukan disimpan sebagai gateway.remote.sshTarget. Aplikasi mempertahankan gateway.remote.url pada titik akhir terowongan lokal (misalnya ws://127.0.0.1:18789) agar CLI, Web Chat, dan layanan host Node lokal semuanya menggunakan transportasi loopback yang sama. Saat penemuan menghasilkan IP Tailnet mentah dan nama host stabil, aplikasi lebih memilih nama Tailscale MagicDNS atau LAN agar koneksi lebih mampu bertahan terhadap perubahan alamat. Jika port terowongan lokal berbeda dari port Gateway jarak jauh, tetapkan gateway.remote.remotePort ke port pada host jarak jauh. Automasi browser dalam mode jarak jauh dimiliki oleh host Node CLI, bukan Node aplikasi macOS native. Aplikasi memulai layanan host Node yang terpasang jika memungkinkan; untuk mengaktifkan kendali browser dari Mac tersebut, pasang/mulai layanan itu dengan openclaw node install ... dan openclaw node start (atau jalankan openclaw node run ... di latar depan), lalu targetkan Node yang mendukung browser tersebut.

Prasyarat pada host jarak jauh

  1. Pasang Node + pnpm dan bangun/pasang CLI OpenClaw (pnpm install && pnpm build && pnpm link --global).
  2. Pastikan openclaw tersedia di PATH untuk shell noninteraktif (buat symlink ke /usr/local/bin atau /opt/homebrew/bin jika diperlukan).
  3. Untuk transportasi SSH: siapkan autentikasi SSH berbasis kunci. IP Tailscale direkomendasikan untuk keterjangkauan yang stabil dari luar LAN.

Penyiapan aplikasi macOS

Untuk melakukan prakonfigurasi aplikasi tanpa alur sambutan, melalui SSH:
Atau untuk Gateway yang sudah dapat dijangkau melalui LAN atau Tailnet tepercaya, lewati SSH sepenuhnya:
openclaw-mac connect, wizard, dan configure-remote menentukan konfigurasi aktif dalam urutan berikut: OPENCLAW_CONFIG_PATH, lalu $OPENCLAW_STATE_DIR/openclaw.json, kemudian ~/.openclaw/openclaw.json. Kedua bentuk konfigurasi menulis ke berkas aktif tersebut, menandai onboarding sebagai selesai, dan memungkinkan aplikasi mengelola transportasi yang dipilih pada saat dimulai berikutnya. --local-port/--remote-port menggunakan 18789 secara default. Flag lainnya: --password, --identity <path>, --ssh-host-key-policy <strict|openssh>, --project-root <path>, --cli-path <path>, --json. Jalankan openclaw-mac configure-remote --help untuk referensi lengkap. Untuk mengonfigurasi dari UI:
  1. Buka Settings -> General.
  2. Di bawah OpenClaw berjalan, pilih Jarak Jauh dan tetapkan:
    • Transportasi: Terowongan SSH atau Langsung (ws/wss).
    • Target SSH: user@host (:port opsional). Jika Gateway berada di LAN yang sama dan mengiklankan Bonjour, pilih dari daftar yang ditemukan untuk mengisi kolom ini secara otomatis.
    • URL Gateway (khusus Langsung): wss://gateway.example.ts.net (atau ws://... untuk lokal/LAN).
    • Berkas identitas (lanjutan): jalur ke kunci Anda.
    • Root proyek (lanjutan): jalur checkout jarak jauh yang digunakan untuk perintah.
    • Jalur CLI (lanjutan): jalur opsional ke titik masuk/biner openclaw yang dapat dijalankan (diisi otomatis saat diiklankan).
  3. Tekan Uji jarak jauh. Keberhasilan berarti openclaw status --json jarak jauh berjalan dengan benar. Kegagalan biasanya berarti masalah PATH/CLI; kode keluar 127 berarti CLI tidak ditemukan dari jarak jauh.
  4. Pemeriksaan kesehatan dan Web Chat kini berjalan secara otomatis melalui transportasi yang dipilih.

Web Chat

  • Terowongan SSH: terhubung ke Gateway melalui port kendali WebSocket yang diteruskan (default 18789).
  • Langsung (ws/wss): terhubung langsung ke URL Gateway yang dikonfigurasi.
  • Tidak ada server HTTP Web Chat terpisah.

Izin

  • Host jarak jauh memerlukan persetujuan TCC yang sama seperti host lokal (Automation, Accessibility, Screen Recording, Microphone, Speech Recognition, Notifications). Jalankan onboarding satu kali pada mesin tersebut untuk memberikannya.
  • Node mengiklankan status izinnya melalui node.list / node.describe agar agen mengetahui apa yang tersedia.

Catatan keamanan

  • Utamakan binding loopback pada host jarak jauh dan hubungkan melalui SSH, Tailscale Serve, atau URL langsung Tailnet/LAN tepercaya.
  • Terowongan SSH memerlukan kunci host yang sudah dipercaya secara default. Percayai kunci host terlebih dahulu (tambahkan ke berkas known-hosts yang dikonfigurasi), atau tetapkan gateway.remote.sshHostKeyPolicy: "openssh" secara eksplisit untuk alias terkelola yang kebijakan kepercayaan OpenSSH-nya Anda terima.
  • Jika Anda mengikat Gateway ke antarmuka non-loopback, wajibkan autentikasi Gateway yang valid: token, kata sandi, atau proksi balik berbasis identitas dengan gateway.auth.mode: "trusted-proxy".
  • Lihat Keamanan dan Tailscale.

Alur masuk WhatsApp (jarak jauh)

  • Jalankan openclaw channels login --channel whatsapp --verbose pada host jarak jauh. Pindai kode QR dengan WhatsApp di ponsel Anda.
  • Jalankan kembali proses masuk pada host tersebut jika autentikasi kedaluwarsa. Pemeriksaan kesehatan menampilkan masalah penautan.

Pemecahan masalah

Suara notifikasi

Pilih suara untuk setiap notifikasi dari skrip dengan openclaw nodes notify, misalnya:
Tidak ada tombol suara default global di aplikasi; pemanggil memilih suara (atau tanpa suara) untuk setiap permintaan.

Terkait