Platforms overview
Windows
OpenClaw mendukung Windows native dan WSL2. WSL2 adalah jalur yang lebih stabil dan direkomendasikan untuk pengalaman penuh — CLI, Gateway, dan tooling berjalan di dalam Linux dengan kompatibilitas penuh. Windows native berfungsi untuk penggunaan CLI inti dan Gateway, dengan beberapa catatan di bawah.
Aplikasi pendamping Windows native direncanakan.
WSL2 (direkomendasikan)
- Memulai (gunakan di dalam WSL)
- Instal & pembaruan
- Panduan resmi WSL2 (Microsoft): https://learn.microsoft.com/windows/wsl/install
Status Windows native
Alur CLI Windows native sedang membaik, tetapi WSL2 masih menjadi jalur yang direkomendasikan.
Yang berfungsi baik di Windows native saat ini:
- penginstal situs web melalui
install.ps1 - penggunaan CLI lokal seperti
openclaw --version,openclaw doctor, danopenclaw plugins list --json - smoke lokal-agent/provider tertanam seperti:
openclaw agent --local --agent main --thinking low -m "Reply with exactly WINDOWS-HATCH-OK."
Catatan saat ini:
openclaw onboard --non-interactivemasih mengharapkan gateway lokal yang dapat dijangkau kecuali Anda meneruskan--skip-healthopenclaw onboard --non-interactive --install-daemondanopenclaw gateway installmencoba Windows Scheduled Tasks terlebih dahulu- jika pembuatan Scheduled Task ditolak, OpenClaw beralih ke item login folder Startup per pengguna dan segera memulai gateway
- jika
schtaskssendiri macet atau berhenti merespons, OpenClaw kini membatalkan jalur itu dengan cepat dan beralih alih-alih menggantung selamanya - Scheduled Tasks tetap diprioritaskan saat tersedia karena memberikan status supervisor yang lebih baik
Jika Anda hanya menginginkan CLI native, tanpa instal layanan gateway, gunakan salah satu ini:
openclaw onboard --non-interactive --skip-health
openclaw gateway run
Jika Anda memang menginginkan startup terkelola di Windows native:
openclaw gateway install
openclaw gateway status --json
Jika pembuatan Scheduled Task diblokir, mode layanan fallback tetap otomatis dimulai setelah login melalui folder Startup pengguna saat ini.
Gateway
Instal layanan Gateway (CLI)
Di dalam WSL2:
openclaw onboard --install-daemon
Atau:
openclaw gateway install
Atau:
openclaw configure
Pilih Layanan Gateway saat diminta.
Perbaiki/migrasikan:
openclaw doctor
Mulai otomatis Gateway sebelum login Windows
Untuk setup headless, pastikan seluruh rantai boot berjalan bahkan ketika tidak ada yang login ke Windows.
1) Biarkan layanan pengguna berjalan tanpa login
Di dalam WSL:
sudo loginctl enable-linger "$(whoami)"
2) Instal layanan pengguna gateway OpenClaw
Di dalam WSL:
openclaw gateway install
3) Mulai WSL secara otomatis saat boot Windows
Di PowerShell sebagai Administrator:
schtasks /create /tn "WSL Boot" /tr "wsl.exe -d Ubuntu --exec /bin/true" /sc onstart /ru SYSTEM
Ganti Ubuntu dengan nama distro Anda dari:
wsl --list --verbose
Verifikasi rantai startup
Setelah reboot (sebelum masuk ke Windows), periksa dari WSL:
systemctl --user is-enabled openclaw-gateway.service
systemctl --user status openclaw-gateway.service --no-pager
Lanjutan: ekspos layanan WSL melalui LAN (portproxy)
WSL memiliki jaringan virtualnya sendiri. Jika mesin lain perlu menjangkau layanan yang berjalan di dalam WSL (SSH, server TTS lokal, atau Gateway), Anda harus meneruskan port Windows ke IP WSL saat ini. IP WSL berubah setelah restart, jadi Anda mungkin perlu menyegarkan aturan penerusan.
Contoh (PowerShell sebagai Administrator):
$Distro = "Ubuntu-24.04"
$ListenPort = 2222
$TargetPort = 22
$WslIp = (wsl -d $Distro -- hostname -I).Trim().Split(" ")[0]
if (-not $WslIp) { throw "WSL IP not found." }
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=$ListenPort `
connectaddress=$WslIp connectport=$TargetPort
Izinkan port melalui Windows Firewall (sekali saja):
New-NetFirewallRule -DisplayName "WSL SSH $ListenPort" -Direction Inbound `
-Protocol TCP -LocalPort $ListenPort -Action Allow
Segarkan portproxy setelah WSL restart:
netsh interface portproxy delete v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 | Out-Null
netsh interface portproxy add v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 `
connectaddress=$WslIp connectport=$TargetPort | Out-Null
Catatan:
- SSH dari mesin lain menargetkan IP host Windows (contoh:
ssh user@windows-host -p 2222). - Node jarak jauh harus menunjuk ke URL Gateway yang dapat dijangkau (bukan
127.0.0.1); gunakanopenclaw status --alluntuk mengonfirmasi. - Gunakan
listenaddress=0.0.0.0untuk akses LAN;127.0.0.1menjaganya tetap lokal saja. - Jika Anda ingin ini otomatis, daftarkan Scheduled Task untuk menjalankan langkah penyegaran saat login.
Instal WSL2 langkah demi langkah
1) Instal WSL2 + Ubuntu
Buka PowerShell (Admin):
wsl --install
# Or pick a distro explicitly:
wsl --list --online
wsl --install -d Ubuntu-24.04
Reboot jika Windows meminta.
2) Aktifkan systemd (diperlukan untuk instal gateway)
Di terminal WSL Anda:
sudo tee /etc/wsl.conf >/dev/null <<'EOF'
[boot]
systemd=true
EOF
Lalu dari PowerShell:
wsl --shutdown
Buka ulang Ubuntu, lalu verifikasi:
systemctl --user status
3) Instal OpenClaw (di dalam WSL)
Untuk setup pertama kali yang normal di dalam WSL, ikuti alur Memulai Linux:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm build
pnpm ui:build
pnpm openclaw onboard --install-daemon
Jika Anda mengembangkan dari source alih-alih melakukan onboarding pertama kali, gunakan loop pengembangan source dari Setup:
pnpm install
# First run only (or after resetting local OpenClaw config/workspace)
pnpm openclaw setup
pnpm gateway:watch
Panduan lengkap: Memulai
Aplikasi pendamping Windows
Kami belum memiliki aplikasi pendamping Windows. Kontribusi diterima jika Anda ingin membantu mewujudkannya.
Konektivitas Git dan GitHub (kontributor)
Beberapa jaringan memblokir atau membatasi HTTPS ke GitHub. Jika git clone gagal karena timeout
atau koneksi direset, coba jaringan lain, VPN, atau proxy HTTP/HTTPS yang disediakan
organisasi Anda.
Jika gh auth login gagal selama alur perangkat browser (misalnya timeout
saat menjangkau github.com:443), autentikasi dengan token akses pribadi sebagai gantinya:
- Buat token dengan setidaknya scope
repo(PAT klasik) atau akses fine-grained yang setara. - Di PowerShell untuk sesi saat ini:
$env:GH_TOKEN="<your-token>"
gh auth status
gh auth setup-git
- Jika
gh auth statusmemperingatkan tentangread:orgyang hilang, buat token yang mencakup scope tersebut dan tetapkan ulang variabel:
$env:GH_TOKEN="<your-token-with-repo-and-read:org>"
gh auth status
gh auth refresh -s read:org hanya berlaku saat Anda mengautentikasi melalui gh auth login
dan memiliki kredensial tersimpan untuk disegarkan (bukan saat menggunakan GH_TOKEN).
Jangan pernah commit token atau menempelkannya ke issue atau pull request.