OpenClaw работает на Windows и Linux. Linux — основная платформа (серверы, VPS). Windows поддерживается через WSL2 (рекомендуется) и нативно (с оговорками). Companion-приложения для обеих платформ в планах.
Windows
WSL2 (рекомендуется)
Самый стабильный путь. CLI, Gateway и весь тулзинг работают внутри Linux с полной совместимостью.
Шаг 1. Установить WSL2 + Ubuntu
В PowerShell (администратор):
wsl --install
# Или конкретный дистрибутив:
wsl --list --online
wsl --install -d Ubuntu-24.04
Перезагрузите Windows, если попросит.
Шаг 2. Включить systemd
Внутри WSL-терминала:
sudo tee /etc/wsl.conf >/dev/null
Затем из PowerShell:
wsl --shutdown
Откройте Ubuntu заново и проверьте:
systemctl --user status
Шаг 3. Установить OpenClaw
Внутри WSL — по стандартному Linux-флоу:
curl -fsSL https://openclaw.ai/install.sh | bash
Или из исходников:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm build
pnpm ui:build
pnpm openclaw onboard --install-daemon
Шаг 4. Автозапуск до входа в Windows
Для headless-серверов — чтобы Gateway работал даже без залогиненного пользователя:
# Внутри WSL: разрешить linger
sudo loginctl enable-linger "$(whoami)"
В PowerShell (администратор) — автозапуск WSL при загрузке Windows:
schtasks /create /tn "WSL Boot" /tr "wsl.exe -d Ubuntu --exec /bin/true" /sc onstart /ru SYSTEM
Замените Ubuntu на ваш дистрибутив (wsl --list --verbose).
Проверка после перезагрузки (до входа в Windows):
systemctl --user is-enabled openclaw-gateway.service
systemctl --user status openclaw-gateway.service --no-pager
Нативная Windows
Работает для базового CLI и Gateway, но WSL2 стабильнее.
Установка:
iwr -useb https://openclaw.ai/install.ps1 | iex
Что работает:
openclaw --version, openclaw doctor, openclaw plugins list --jsonopenclaw agent --local --agent main -m "test"openclaw gateway run или openclaw gateway installОговорки:
openclaw onboard --non-interactive ожидает запущенный Gateway (или --skip-health)openclaw gateway install пробует Scheduled Tasks, потом fallback на Startup-папкуschtasks зависает — OpenClaw быстро переключается на fallbackУправление сервисом:
openclaw gateway install
openclaw gateway status --json
Доступ из LAN (portproxy)
WSL имеет свою виртуальную сеть. Чтобы другие машины видели Gateway внутри WSL — пробросьте порт.
PowerShell (администратор):
$Distro = "Ubuntu-24.04"
$ListenPort = 18789
$TargetPort = 18789
$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
Разрешите порт в файрволе (один раз):
New-NetFirewallRule -DisplayName "OpenClaw Gateway" -Direction Inbound `
-Protocol TCP -LocalPort $ListenPort -Action Allow
⚠️ WSL IP меняется после перезапуска. Обновляйте portproxy:
netsh interface portproxy delete v4tov4 listenport=$ListenPort listenaddress=0.0.0.0
netsh interface portproxy add v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 `
connectaddress=$WslIp connectport=$TargetPort
Для автоматизации — запустите скрипт обновления через Scheduled Task при входе.
Linux
Быстрый старт (VPS)
# 1. Установить Node 24 (или 22.14+)
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt-get install -y nodejs
# 2. Установить OpenClaw
npm i -g openclaw@latest
# 3. Запустить онбординг + сервис
openclaw onboard --install-daemon
# 4. Подключиться извне (с ноутбука)
ssh -N -L 18789:127.0.0.1:18789 user@your-vps
# Открыть http://127.0.0.1:18789/
Полный гайд: Установка на VPS.
Gateway как сервис
OpenClaw ставит systemd user-сервис. Для серверов «всегда включён» — используйте system-сервис.
# Стандартный способ
openclaw gateway install
# Или через онбординг
openclaw onboard --install-daemon
Ручная настройка (~/.config/systemd/user/openclaw-gateway.service):
[Unit]
Description=OpenClaw Gateway
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/openclaw gateway --port 18789
Restart=always
RestartSec=5
TimeoutStopSec=30
TimeoutStartSec=30
SuccessExitStatus=0 143
KillMode=control-group
[Install]
WantedBy=default.target
systemctl --user enable --now openclaw-gateway.service
Давление памяти и OOM
На Linux ядро выбирает жертву OOM при нехватке памяти. Gateway — плохая жертва (owns long-lived sessions). OpenClaw решает это через приоритизацию дочерних процессов:
Дочерние процессы запускаются через /bin/sh-wrapper, который ставит oom_score_adj = 1000 (максимальная вероятность убийства). Gateway остаётся на своём нормальном уровне (обычно 0).
Покрываемые процессы:
Проверка:
cat /proc//oom_score_adj
# Ожидаемое значение: 1000
Отключить: OPENCLAW_CHILD_OOM_SCORE_ADJ=0|false|no|off
Если VPS регулярно убивает процессы — увеличьте лимит памяти, снизьте конкурентность или добавьте systemd MemoryMax=.
Рекомендации
| Параметр | Рекомендация |
|---|---|
| Node.js | 24 (рекомендуется) или 22.14+ |
| Runtime | npm (рекомендуется). Bun — не рекомендуется для Gateway (баги с WhatsApp/Telegram) |
| Raspberry Pi | Работает, но может потребоваться кэш компиляции: export NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache |