Коротко
- Три сценария: Windows Hub с GUI, нативный CLI/Gateway через PowerShell или WSL2 для самого Linux-совместимого Gateway.
- Без
gateway.mode=localв конфиге Gateway не стартует; задайте его черезopenclaw onboard --mode localилиopenclaw setup. - Запуск как службы идёт через Scheduled Task и скрытый
gateway.vbs, без видимой консоли. - Битый конфиг или конфиг от более новой версии отдаёт exit 78 и не зацикливает перезапуски.
Сверено с документацией OpenClaw 2026.9.9, 9 октября 2026.
Под Windows у OpenClaw три точки входа, и выбор между ними зависит от того, нужен ли вам графический клиент, терминал или Linux-окружение. Hub ставит Gateway в собственную WSL-дистрибутив, CLI работает прямо в Windows, WSL2 даёт самый Linux-совместимый режим Gateway. Дальше: что выбрать и как довести Gateway до зелёного трея.
Какой сценарий выбрать
Документация называет три пути: Hub для десктопа с треем, чатом и Command Center; PowerShell-установщик для терминального CLI/Gateway; WSL2 как самый совместимый с Linux вариант Gateway. Hub рассчитан на большинство: ставится без прав администратора, идёт с подписанными x64 и ARM64 инсталляторами и сам поднимает Gateway в собственной WSL-дистрибутиве OpenClawGateway, не трогая ваш Ubuntu.
Hub: быстрый путь
Скачайте установщик с релизов проекта openclaw-windows-node: OpenClawCompanion-Setup-x64.exe или OpenClawCompanion-Setup-arm64.exe. Запустите из Start-меню OpenClaw Companion. При первом запуске выберите Set up locally: Hub развернёт свою WSL-дистрибутив, поставит в неё Gateway и спарит приложение. Когда трей станет зелёным, откройте Command Center и проверьте соединение, спаривание, состояние узла и каналов.
Если Hub уже стоит, а Gateway у вас свой, откройте вкладку Connections и выберите Advanced setup. Hub умеет подключаться к локальному Gateway на этой же машине, к WSL-Gateway, к удалённому по URL и токену или к Gateway за SSH-туннелем.
Нативный CLI из PowerShell
Для терминального режима установите OpenClaw однострочником в PowerShell:
iwr -useb https://openclaw.ai/install.ps1 | iex
Проверка сразу из той же сессии:
openclaw --version
openclaw doctor
openclaw gateway status --json
Новый workspace работает и с нативным Windows Gateway: поставьте Git for Windows и держите его в PATH. Каждый пустой workspace стартует как отдельный Git-репозиторий без вашей глобальной Git-конфигурации.
Где лежит конфиг и почему старт молчит
Без ключа gateway.mode=local Gateway откажется стартовать, это защита, а не баг. Поставьте его через openclaw onboard --mode local или openclaw setup. Если конфиг существует, но gateway.mode в нём нет, Gateway не будет угадывать local за вас: перезапустите onboarding, задайте ключ вручную или передайте --allow-unconfigured для разового запуска.
Если автоматическая миграция не приводит конфиг в порядок, интерактивный терминал может предложить openclaw doctor --fix и повторить старт после согласия. В неинтерактивной среде команда просто печатается. Если после правки конфиг всё ещё не валиден, старт останавливается. Конфиг с $include, Nix-управляемый конфиг и конфиг, записанный более новой версией, авто-миграция не трогает.
Gateway как служба
Управляется теми же командами, что и на других платформах:
openclaw gateway install
openclaw gateway start
openclaw gateway stop
openclaw gateway restart
openclaw gateway uninstall
На Windows используется Scheduled Task. Видимый скрипт лежит как gateway.cmd в каталоге состояния OpenClaw, но запускается он через сгенерированный gateway.vbs-обёртку WScript, так что фоновая служба не открывает консольное окно. Если создание задачи отклонено, OpenClaw откатывается к записи в пользовательской папке Startup.
Когда дописываете перенаправление вывода в команду запуска, берите всю цель в кавычки, например >> "%USERPROFILE%\.openclaw\logs\gateway-stdout.log" 2>&1. Без кавычек OpenClaw не разбирает такой лаунчер однозначно и откажется останавливать слушателя, чью принадлежность не удалось проверить. После обновления старой установки прогоняйте openclaw gateway install --force, чтобы пересоздать лаунчер, если обновление его не обновило.
Первый запуск: что может сломаться
Gateway не стартует и в конфиге нет gateway.mode=local. Запустите openclaw onboard --mode local и повторите старт. Если конфиг битый, Gateway не пытается чинить его в неинтерактивной среде: запустите openclaw doctor --fix в обычном терминале, согласитесь на исправление и попробуйте снова.
Если gateway start упирается в дедлайн готовности, команда печатает still-starting и выходит с кодом 2. Служба при этом продолжает работать. Проверьте openclaw gateway status --deep ещё раз, прежде чем перезапускать. Занятый порт или чужой слушатель на нём — отдельный класс ошибок, и сам по себе занятый порт ещё не значит, что Gateway действительно готов.
Статус Gateway и Doctor читают числовое состояние Scheduled Task и не зависят от языка Windows или кодовой страницы консоли. Сообщение о прошлом завершении задачи не доказывает, что она сейчас работает. Задачи в очереди или в неизвестном состоянии Doctor не считает безопасно остановленными: остановите их через владельца службы; если проверка недоступна, сначала восстановите права на чтение Task Scheduler.
Когда Windows-маршрут не подходит
Если вам нужен клиент без своего Gateway, например чтобы подключаться к уже поднятому удалённому Gateway, ставьте Hub и в Connections выбирайте remote по URL и токену. Локальный MCP-сервер в Hub включается отдельно в настройках и позволяет MCP-клиентам вроде Claude Desktop или Cursor использовать Windows-возможности без запущенного Gateway.
Частые ошибки
Конфиг без gateway.mode=local. Gateway не угадывает значение, отказывается стартовать и не пытается чинить конфиг в неинтерактивной службе. Запустите openclaw onboard --mode local.
Конфигурация, записанная более новой версией OpenClaw. Старт не пройдёт валидацию и завершится с exit 78, чтобы не зациклить перезапуски.
Незакавыченное перенаправление вывода в gateway.cmd. Фрагменты пути остаются в аргументах процесса, и OpenClaw отказывается останавливать такой слушатель. Возьмите цель в кавычки.
Старый лаунчер после обновления. Прогоните openclaw gateway install --force, это пересоздаёт Scheduled Task и vbs-обёртку.
Служба «вроде запущена», но не отвечает. Занятый порт не равно готовность: проверяйте openclaw gateway status --deep, прежде чем перезапускать.