Windows (WSL2)
OpenClaw trên Windows được khuyên dùng qua WSL2 (mình khuyên dùng Ubuntu). CLI + Gateway sẽ chạy bên trong Linux, giúp runtime nhất quán và các công cụ tương thích tốt hơn nhiều (Node/Bun/pnpm, Linux binaries, skills). Windows thuần có thể phức tạp hơn. WSL2 cho các bạn trải nghiệm Linux đầy đủ — chỉ cần một lệnh để cài: wsl --install.
Ứng dụng companion cho Windows thuần đang được lên kế hoạch.
Cài đặt (WSL2)
- Getting Started (dùng bên trong WSL)
- Cài đặt & cập nhật
- Hướng dẫn WSL2 chính thức (Microsoft): https://learn.microsoft.com/windows/wsl/install
Gateway
Cài đặt Gateway service (CLI)
Bên trong WSL2:
openclaw onboard --install-daemon
Hoặc:
openclaw gateway install
Hoặc:
openclaw configure
Chọn Gateway service khi được hỏi.
Sửa chữa/migrate:
openclaw doctor
Nâng cao: expose các service WSL qua LAN (portproxy)
WSL có mạng ảo riêng. Nếu máy khác cần truy cập service đang chạy bên trong WSL (SSH, local TTS server, hoặc Gateway), các bạn phải forward một port Windows tới IP WSL hiện tại. IP WSL thay đổi sau khi khởi động lại, nên các bạn có thể cần refresh lại rule forwarding.
Ví dụ (PowerShell với quyền 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
Cho phép port qua Windows Firewall (chỉ cần làm một lần):
New-NetFirewallRule -DisplayName "WSL SSH $ListenPort" -Direction Inbound `
-Protocol TCP -LocalPort $ListenPort -Action Allow
Refresh portproxy sau khi WSL khởi động lại:
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
Lưu ý:
- SSH từ máy khác sẽ trỏ tới IP của Windows host (ví dụ:
ssh user@windows-host -p 2222). - Các node từ xa phải trỏ tới Gateway URL có thể truy cập được (không phải
127.0.0.1); dùngopenclaw status --allđể kiểm tra. - Dùng
listenaddress=0.0.0.0để truy cập qua LAN;127.0.0.1chỉ giữ local thôi. - Nếu muốn tự động, các bạn đăng ký Scheduled Task để chạy bước refresh khi đăng nhập.
Hướng dẫn cài WSL2 từng bước
1) Cài WSL2 + Ubuntu
Mở PowerShell (Admin):
wsl --install
# Hoặc chọn distro cụ thể:
wsl --list --online
wsl --install -d Ubuntu-24.04
Khởi động lại nếu Windows yêu cầu.
2) Bật systemd (bắt buộc để cài gateway)
Trong terminal WSL của các bạn:
sudo tee /etc/wsl.conf >/dev/null <<'EOF'
[boot]
systemd=true
EOF
Sau đó từ PowerShell:
wsl --shutdown
Mở lại Ubuntu, rồi kiểm tra:
systemctl --user status
3) Cài OpenClaw (bên trong WSL)
Làm theo flow Getting Started của Linux bên trong WSL:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build # tự động cài UI deps lần đầu chạy
pnpm build
openclaw onboard
Hướng dẫn đầy đủ: Getting Started
Ứng dụng companion cho Windows
Hiện tại mình chưa có ứng dụng companion cho Windows. Rất hoan nghênh các contributions nếu các bạn muốn giúp thực hiện điều này.