OPENCLAW GATEWAY
WS_CHALLENGE_
NO_REPLY_DEBUG.
В цикле 2026.4.x часто встречается «WebSocket есть, connect.challenge в логе Gateway есть, а connect.reply так и не приходит» — CLI зависает почти без CPU. Причины обычно в цепочке подписи Ed25519 PKCS#8, сдвиге Node/OpenSSL или сломанном WebSocket upgrade за reverse-proxy. Здесь таблица симптомов, пять шагов, короткий FAQ и кейс; читайте вместе с материалами MACGPU про doctor, откат Gateway, SSH/VNC и sessions/OAuth.
1. Боль
Успешный TCP не равен успешному прикладному рукопожатию. Ошибки подписи только в debug выглядят как тишина после challenge. Разные минорные версии Node меняют строгость PEM. launchd без того же HOME даёт «зависания» вместо 401.
2. Матрица
| Симптом | Слой | Доказательство |
|---|---|---|
| Зависают команды Gateway | Handshake/подпись | только challenge, trace CLI |
| Только удалённо | runtime/путь | node -p process.versions |
| Только за прокси | WS upgrade | 499/504, Upgrade |
| Спорадически после апгрейда | токен/параллель | таймлайн терминалов |
3. Пять шагов
01 status
openclaw gateway status, RPC-зонд, хвосты gateway.mode=remote.
02 trace
Есть ли попытка reply после challenge.
03 мини-тест Ed25519
Одноразовый REPL с privateKeyPem.
04 транспорт
Upgrade, таймауты, маршруты.
05 launchd
Согласовать EnvironmentVariables, kickstart, doctor.
4. Решение
| Доказательство | Сначала | Потом | Не надо |
|---|---|---|---|
| REPL бросает на sign | PEM/Node выровнять | identity заново | только рестарт |
| Только прокси | чинить WS | SSH-туннель на loopback | 0.0.0.0 без auth |
| Параллельные терминалы | сериализовать CLI | один источник token | гонка attach |
Пороги: >8 c без попытки reply — P0. Подпись ок на macOS, не ок на цели — не открывать публичный bind «для обхода».
5. FAQ
probe зелёный, но часть команд висит? Другой путь инициализации. Отключить подпись? Не в проде. Только docker exec? HOME/часы/RO.
6. Кейс
Windows SYSTEM + Node 24 ужесточил PKCS#8 Ed25519; выравнивание LTS-минора вернуло connect.reply.
7. Вывод
Добавьте задержку challenge→reply в те же SLO, что и каналы. Постоянный Gateway логичнее держать на предсказуемом удалённом Mac; MACGPU помогает почасовой эластичностью без CUDA-only операционки.