Windows и Linux

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 --json
  • Локальный агент: openclaw agent --local --agent main -m "test"
  • Gateway через 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).

    Покрываемые процессы:

  • Supervisor-managed команды
  • PTY shell-процессы
  • MCP stdio-серверы
  • Браузерные процессы Chrome
  • Проверка:

    
    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

    Что дальше

  • Установка OpenClaw — общие инструкции
  • Установка на VPS — серверная установка
  • Конфигурация Gateway — настройка сервера
  • macOS — приложение для Mac
  • Мобильные ноды — iOS и Android