Platforms overview
Windows
OpenClaw підтримує як нативний Windows, так і WSL2. WSL2 є стабільнішим шляхом і рекомендований для повного досвіду — CLI, Gateway і інструменти працюють усередині Linux із повною сумісністю. Нативний Windows підходить для базового використання CLI та Gateway, з деякими застереженнями, зазначеними нижче.
Супутні застосунки для нативного Windows заплановані.
WSL2 (рекомендовано)
- Початок роботи (використовуйте всередині WSL)
- Встановлення та оновлення
- Офіційний посібник WSL2 (Microsoft): https://learn.microsoft.com/windows/wsl/install
Стан нативного Windows
Потоки CLI для нативного Windows покращуються, але WSL2 досі є рекомендованим шляхом.
Що добре працює на нативному Windows сьогодні:
- встановлювач із вебсайту через
install.ps1 - локальне використання CLI, як-от
openclaw --version,openclaw doctorіopenclaw plugins list --json - вбудована димова перевірка локального агента/провайдера, наприклад:
openclaw agent --local --agent main --thinking low -m "Reply with exactly WINDOWS-HATCH-OK."Поточні застереження:
openclaw onboard --non-interactiveдосі очікує доступний локальний Gateway, якщо не передати--skip-healthopenclaw onboard --non-interactive --install-daemonіopenclaw gateway installспершу пробують Windows Scheduled Tasks- якщо створення Scheduled Task заборонено, OpenClaw повертається до елемента входу в папці автозапуску поточного користувача та одразу запускає Gateway
- якщо сам
schtasksзависає або перестає відповідати, OpenClaw тепер швидко перериває цей шлях і переходить до резервного варіанту, замість того щоб зависати назавжди - Scheduled Tasks досі бажані, коли доступні, бо вони надають кращий статус супервізора
Якщо вам потрібен лише нативний CLI, без встановлення служби Gateway, використайте один із цих варіантів:
openclaw onboard --non-interactive --skip-healthopenclaw gateway runЯкщо ви хочете керований автозапуск у нативному Windows:
openclaw gateway installopenclaw gateway status --jsonЯкщо створення Scheduled Task заблоковано, резервний режим служби все одно автоматично запускається після входу через папку автозапуску поточного користувача.
Gateway
Встановлення служби Gateway (CLI)
Усередині WSL2:
openclaw onboard --install-daemonАбо:
openclaw gateway installАбо:
openclaw configureВиберіть службу Gateway, коли з’явиться запит.
Відновлення/міграція:
openclaw doctorАвтозапуск Gateway до входу в Windows
Для безголових налаштувань переконайтеся, що повний ланцюг завантаження працює навіть тоді, коли ніхто не входить у Windows.
1) Підтримуйте роботу користувацьких служб без входу
Усередині WSL:
sudo loginctl enable-linger "$(whoami)"2) Встановіть користувацьку службу OpenClaw gateway
Усередині WSL:
openclaw gateway install3) Автоматично запускайте WSL під час завантаження Windows
У 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.servicesystemctl --user status openclaw-gateway.service --no-pagerДодатково: відкриття служб WSL у LAN (portproxy)
WSL має власну віртуальну мережу. Якщо іншій машині потрібно дістатися до служби, що працює всередині WSL (SSH, локальний TTS-сервер або Gateway), потрібно перенаправити порт Windows на поточну IP-адресу WSL. IP-адреса WSL змінюється після перезапусків, тому може знадобитися оновити правило перенаправлення.
Приклад (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 Firewall (одноразово):
New-NetFirewallRule -DisplayName "WSL SSH $ListenPort" -Direction Inbound ` -Protocol TCP -LocalPort $ListenPort -Action AllowОновіть portproxy після перезапуску WSL:
netsh interface portproxy delete v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 | Out-Nullnetsh interface portproxy add v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 ` connectaddress=$WslIp connectport=$TargetPort | Out-NullПримітки:
- SSH з іншої машини націлюється на IP-адресу хоста Windows (приклад:
ssh user@windows-host -p 2222). - Віддалені вузли мають вказувати на доступну URL-адресу Gateway (не
127.0.0.1); використовуйтеopenclaw status --allдля підтвердження. - Використовуйте
listenaddress=0.0.0.0для доступу з LAN;127.0.0.1залишає його лише локальним. - Якщо хочете автоматизувати це, зареєструйте Scheduled Task для запуску кроку оновлення під час входу.
Покрокове встановлення WSL2
1) Встановіть WSL2 + Ubuntu
Відкрийте PowerShell (адміністратор):
wsl --install# Or pick a distro explicitly:wsl --list --onlinewsl --install -d Ubuntu-24.04Перезавантажтеся, якщо Windows попросить.
2) Увімкніть systemd (потрібно для встановлення Gateway)
У вашому терміналі WSL:
sudo tee /etc/wsl.conf >/dev/null <<'EOF'[boot]systemd=trueEOFПотім з PowerShell:
wsl --shutdownЗнову відкрийте Ubuntu, потім перевірте:
systemctl --user status3) Встановіть OpenClaw (усередині WSL)
Для звичайного першого налаштування всередині WSL дотримуйтеся Linux-потоку початку роботи:
git clone https://github.com/openclaw/openclaw.gitcd openclawpnpm installpnpm buildpnpm ui:buildpnpm openclaw onboard --install-daemonЯкщо ви розробляєте з вихідного коду, а не виконуєте перше онбординг-налаштування, використовуйте цикл розробки з вихідного коду з Налаштування:
pnpm install# First run only (or after resetting local OpenClaw config/workspace)pnpm openclaw setuppnpm gateway:watchПовний посібник: Початок роботи
Супутній застосунок Windows
У нас ще немає супутнього застосунку Windows. Внески вітаються, якщо ви хочете допомогти це реалізувати.
Підключення Git і GitHub (контриб’ютори)
Деякі мережі блокують або обмежують HTTPS до GitHub. Якщо git clone завершується невдало через тайм-аути
або скидання з’єднання, спробуйте іншу мережу, VPN або HTTP/HTTPS-проксі, який
надає ваша організація.
Якщо gh auth login завершується невдало під час браузерного потоку пристрою (наприклад, тайм-аут
підключення до github.com:443), автентифікуйтеся натомість за допомогою персонального токена доступу:
- Створіть токен принаймні з областю
repo(класичний PAT) або еквівалентним детальним доступом. - У PowerShell для поточного сеансу:
$env:GH_TOKEN="<your-token>"gh auth statusgh auth setup-git- Якщо
gh auth statusпопереджає про відсутнійread:org, створіть токен, який включає цю область, і повторно призначте змінну:
$env:GH_TOKEN="<your-token-with-repo-and-read:org>"gh auth statusgh auth refresh -s read:org застосовується лише тоді, коли ви автентифікувалися через gh auth login
і маєте збережені облікові дані для оновлення (не під час використання GH_TOKEN).
Ніколи не комітьте токени й не вставляйте їх в issue або pull request.