Кому это знакомо: OpenClaw установлен через Docker или локально, но CLI openclaw при первом сопряжении, onboarding или в контейнерах снова выдаёт WebSocket 1006/1008, либо в логах token mismatch, хотя файлы конфигурации уже меняли.Вывод: сведите на одну матрицу перекрытия переменных окружения, фактический ws-URL, куда подключается CLI, и конечный автомат сопряжения, затем свяжите это с openclaw doctor и статьёй про Docker-сеть.Структура: шесть частых ошибочных трактовок, матрица симптомов, отпечатки команд, шестишаговый runbook, три KPI и вывод про хостинг.
gateway.auth.token всё ещё mismatch? Шесть частых ложных следовВ комьюнити-разборе 2025–2026 темы сопряжения и аутентификации Gateway OpenClaw часто смешивают с «сеть мертва»: в логах вместе коды закрытия и ошибки моделей, и кажется, что упал upstream LLM. Распечатайте эти шесть ловушек рядом с post-install doctor и проверкой здоровья Gateway на вики-главной.
OPENCLAW_GATEWAY_TOKEN тихо перекрывает файл: переменные окружения из контейнеров или unit launchd имеют приоритет; на диске gateway.auth.token уже новый, а процесс читает старое значение — отсюда «перезапуск, а mismatch остаётся».127.0.0.1: если в Compose URL Gateway для CLI не указывает на сервис openclaw-gateway, рушится ранний handshake; в логах могут быть только 1006/1008 без ошибки приложения, что пересекается с чеклистом Docker-сети..openclaw в профиле пользователя и ещё одно в проекте; путь, который реально грузит CLI, не совпадает с открытым в редакторе файлом.Связь с официальными установочными скриптами и npm global: установочная статья гарантирует «бинарники и версии Node в PATH»; эта гарантирует «CLI и Gateway говорят одним токеном и одним WebSocket-эндпоинтом». Обе должны идти в одном первом runbook по порядку.
Матрица для первичного триажа: если строка подходит, получите воспроизводимый вывод команд, прежде чем углубляться; не меняйте одновременно токен, Compose и обратный прокси.
| Видимый симптом | Сначала подозреваемый стек | Немедленная проверка | Следующий документ |
|---|---|---|---|
В логах token mismatch, правка файла не помогает | Переменные окружения / несколько конфигов | Вывести OPENCLAW_GATEWAY_* в окружении процесса; сверить фактически загруженный путь | Скрипт отпечатков §3 здесь; статья post-install doctor |
| Падает только в контейнере; на хосте ок | Loopback / имя сервиса / DNS | В контейнере curl или nc на порт Gateway; проверить хост ws-URL | Чеклист Docker-сети |
| 1008 и семантика 401/403 или явный отказ аутентификации | Настройка аутентификации или прокси срезает заголовки | Воспроизвести на прямом loopback; сравнить заголовки ответа с прокси и без | Статья Nginx/Caddy, WebSocket и обратный прокси |
| Частые 1006 без явной ошибки аутентификации | Разрывы по простою, пробы, рассинхрон версий | Выровнять версии CLI и Gateway; смотреть логи Gateway на принудительный рецикл сессий | Статья про Gateway без ответа и doctor |
| Onboarding UI/CLI «завис» | Незавершённый автомат / конфликт портов | Проверить конфликт listen-портов; перед повторным сопряжением очистить временное состояние по официальному гиду | Официальный troubleshooting; runbook здесь |
| После переустановки «один раз подключилось» и сразу обрыв | Остался слой старой инъекции токена | Проверить systemd drop-in, профили shell, переменные CI | Раздел pin и прокси-фолбэк в установочной статье |
Вставляйте вывод в тикет; корни-заглушки замените на свой корень конфигурации. При ревью вместе с Docker-томами и правами убедитесь, что монтирование не перекрывает новый том старым каталогом конфигурации.
# A) Переменные окружения, видимые в этой оболочке (регистр и префиксы) env | sort | grep -i OPENCLAW || true # B) Только пример: если gateway под systemd, проверить drop-in на инъекцию токена # systemctl show openclaw-gateway --property=Environment 2>/dev/null || true # C) Версия CLI и doctor (сначала поверхностно—не жмите слепой --fix в проде) openclaw --version || true openclaw doctor 2>/dev/null | sed -n '1,40p' || true # D) Вывести gateway URL на стороне CLI (точная подкоманда зависит от сборки) # openclaw config get gateway.remoteUrl # пример имени, заглушка # E) Docker: в контейнере, где крутится CLI, убедиться, что ws не ошибочно 127.0.0.1:18789 # docker compose exec cli sh -lc 'env | grep -i OPENCLAW; getent hosts openclaw-gateway || true'
Подсказка: в issue часто долгий зависший onboarding из-за расхождения токена в переменных окружения и в файле; сначала соберите полный вывод шагов A/B, прежде чем спорить про Compose.
OPENCLAW_GATEWAY_TOKEN и подобные инъекции, перезапускать процессы, пока окружение чистое, затем вернуть единственный источник правды в файле.doctor --deep, использовать в окне изменений и сохранить вывод.Инженерная оговорка (опыт комьюнити и эксплуатации, не лабораторный бенч): двойные дорожки токенов и ошибочный loopback в контейнере долго держатся вверху списка «первый деплой не взлетел»; после добавления аудита переменных окружения в шаблоны изменений среднее число раундов триажа обычно падает. Важнее: эти сбои слабо коррелируют с GHz; одной памяти мало, чтобы починить рукопожатие.
Если Gateway нужен 7×24 без борьбы со сном ноутбука, в один SRE-документ стоит поместить «стабильную выделенную среду исполнения» и «окна сопряжения/апгрейда» — это согласуется с практикой шлюзов агентов на удалённых Mac в компаниях.
На личном железе Gateway страдает от сна, переключений VPN и обновлений корпоративных сертификатов, из-за чего конечный автомат сопряжения сложнее аудировать и воспроизводить; при ротации токенов через чужие CI у ноутбуков часто нет фиксированного hostname и устойчивой границы loopback, логи распадаются на осколки.
Размещение Gateway на выделенном удалённом Mac, который можно предсказуемо перезагружать, с понятным диском и логами и в одной сети с runner команды, обычно быстрее сходится, чем скакать между несколькими личными машинами. Командам, которым нужен постоянно включённый Apple Silicon и модель секретов как в CI, MACCOME предлагает узлы Mac mini M4 / M4 Pro в нескольких регионах и гибкие сроки аренды, чтобы «триаж сопряжения» и «стабильное исполнение» жили в одном счёте и ритме изменений. Сначала прочитайте публичную страницу цен, затем приведите эксплуатацию к чеклисту безнадзорной эксплуатации удалённого Mac.
Пилот: выбрать один удалённый хост в том же регионе, что основной CI, развернуть только Gateway и минимальный smoke, двухнедельно прогонять этот шестишаговый runbook, затем решать, переносить ли интерактивную разработку в ту же топологию.
Частые вопросы
Сначала doctor или сначала токен?
Сначала разведите «сопряжение/токен» по таблице 1 этой статьи; если сетевой слой уже подтверждён, параллельно можно пункты сети из doctor. Публичные цены и регионы: цены аренды Mac mini.
1006 всегда «менее серьёзна», чем 1008?
Не обязательно. Смотрите соседние строки лога и устойчивость воспроизведения; коды закрытия — метки, а не вывод, не пропускайте проверку аутентификации.
Можно ли долго держать export токена в прод-контейнерах?
Не рекомендуется. Надёжнее краткоживущие учётные данные от оркестратора или sidecar секретов и один заявленный источник правды; иначе при ротации почти неизбежны двойные дорожки.