Windows (WSL2)
WindowsでのOpenClawはWSL2経由(Ubuntu推奨)での利用が推奨されます。CLI+GatewayはLinux内で動作するため、ランタイムの一貫性が保たれ、ツールの互換性も大幅に向上します(Node/Bun/pnpm、Linuxバイナリ、スキル)。ネイティブWindowsは扱いにくい場合があります。WSL2なら完全なLinux環境が手に入ります — インストールはコマンド一つ:wsl --install。
ネイティブWindowsコンパニオンアプリは計画中です。
インストール(WSL2)
- はじめに(WSL内で実行)
- インストールと更新
- 公式WSL2ガイド(Microsoft):https://learn.microsoft.com/windows/wsl/install
ネイティブWindowsの状況
ネイティブWindowsのCLIフローは改善が進んでいますが、WSL2が引き続き推奨パスです。
現在ネイティブWindowsで問題なく動作するもの:
install.ps1によるWebサイトインストーラーopenclaw --version、openclaw doctor、openclaw plugins list --jsonなどのローカルCLI操作- 組み込みのlocal-agent/providerスモークテスト:
openclaw agent --local --agent main --thinking low -m "Reply with exactly WINDOWS-HATCH-OK."
現時点の注意点:
openclaw onboard --non-interactiveは--skip-healthを渡さない限り、到達可能なローカルGatewayを期待するopenclaw onboard --non-interactive --install-daemonとopenclaw gateway installはまずWindowsスケジュールタスクを試行- スケジュールタスクの作成が拒否された場合、OpenClawはユーザーごとのスタートアップフォルダのログインアイテムにフォールバックし、Gatewayを即座に起動
schtasks自体がフリーズまたは応答停止した場合、OpenClawはそのパスを素早く中止してフォールバック- 利用可能な場合、スケジュールタスクはより良いスーパーバイザーステータスを提供するため引き続き優先される
GatewayサービスのインストールなしでネイティブCLIのみを使用する場合:
openclaw onboard --non-interactive --skip-health
openclaw gateway run
ネイティブWindowsでマネージド起動が必要な場合:
openclaw gateway install
openclaw gateway status --json
スケジュールタスクの作成がブロックされた場合でも、フォールバックサービスモードが現在のユーザーのスタートアップフォルダを通じてログイン後に自動起動します。
Gateway
Gatewayサービスのインストール(CLI)
WSL2内で:
openclaw onboard --install-daemon
または:
openclaw gateway install
または:
openclaw configure
プロンプトでGateway serviceを選択します。
修復/移行:
openclaw doctor
Windowsログイン前のGateway自動起動
ヘッドレスセットアップでは、誰もWindowsにログインしなくても完全な起動チェーンが実行されるようにします。
1) ログインなしでユーザーサービスを維持する
WSL内で:
sudo loginctl enable-linger "$(whoami)"
2) OpenClaw Gatewayユーザーサービスをインストールする
WSL内で:
openclaw gateway install
3) Windows起動時にWSLを自動起動する
PowerShellを管理者として:
schtasks /create /tn "WSL Boot" /tr "wsl.exe -d Ubuntu --exec /bin/true" /sc onstart /ru SYSTEM
Ubuntuをお使いのディストロ名に置き換えてください:
wsl --list --verbose
起動チェーンの確認
再起動後(Windowsサインイン前)、WSLから確認:
systemctl --user is-enabled openclaw-gateway
systemctl --user status openclaw-gateway --no-pager
上級者向け:WSLサービスをLANに公開する(portproxy)
WSLは独自の仮想ネットワークを持っています。別のマシンからWSL内で実行しているサービス(SSH、ローカルTTSサーバー、Gateway)に到達する必要がある場合、WindowsポートをWSLの現在のIPに転送する必要があります。WSLのIPは再起動後に変わるため、転送ルールの更新が必要になる場合があります。
例(PowerShellを管理者として):
$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
Windowsファイアウォールでポートを許可(初回のみ):
New-NetFirewallRule -DisplayName "WSL SSH $ListenPort" -Direction Inbound `
-Protocol TCP -LocalPort $ListenPort -Action Allow
WSL再起動後にportproxyを更新:
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
注意:
- 別のマシンからのSSHはWindowsホストIPを対象にします(例:
ssh user@windows-host -p 2222)。 - リモートノードは到達可能なGateway URL(
127.0.0.1ではなく)を指す必要があります。openclaw status --allで確認してください。 - LAN アクセスには
listenaddress=0.0.0.0を使用、ローカルのみなら127.0.0.1を使用。 - 自動化したい場合は、ログイン時にこの更新ステップを実行するスケジュールタスクを登録。
WSL2のステップバイステップインストール
1) WSL2 + Ubuntuをインストールする
PowerShell(管理者)を開く:
wsl --install
# またはディストロを明示的に指定:
wsl --list --online
wsl --install -d Ubuntu-24.04
Windowsが求めたら再起動してください。
2) systemdを有効にする(Gatewayインストールに必要)
WSLターミナルで:
sudo tee /etc/wsl.conf >/dev/null <<'EOF'
[boot]
systemd=true
EOF
PowerShellから:
wsl --shutdown
Ubuntuを再度開き、確認:
systemctl --user status
3) OpenClawをインストールする(WSL内)
WSL内でLinuxのはじめにフローに従います:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build # 初回実行時にUI依存関係を自動インストール
pnpm build
openclaw onboard
完全ガイド:はじめに
Windowsコンパニオンアプリ
Windowsコンパニオンアプリはまだありません。開発に協力いただける方を歓迎します。