Deep troubleshooting
Диагностика от симптомов с точными цепочками команд и сигнатурами логов.
Configuration
Руководство по настройке, ориентированное на задачи, и полный справочник конфигурации.
Secrets management
Контракт SecretRef, поведение снимка во время выполнения и операции миграции/перезагрузки.
Secrets plan contract
Точные правила цели/пути
secrets apply и поведение профиля аутентификации только по ссылкам.Локальный запуск за 5 минут
Verify service health
Runtime: running, Connectivity probe: ok и Capability: ..., соответствующий ожидаемому. Используйте openclaw gateway status --require-rpc, когда нужно подтверждение RPC с областью чтения, а не только доступность.Перезагрузка конфигурации Gateway отслеживает путь активного файла конфигурации (полученный из профиля/состояния по умолчанию или из
OPENCLAW_CONFIG_PATH, если он задан).
Режим по умолчанию: gateway.reload.mode="hybrid".
После первой успешной загрузки работающий процесс обслуживает активный снимок конфигурации в памяти; успешная перезагрузка атомарно заменяет этот снимок.Модель времени выполнения
- Один постоянно работающий процесс для маршрутизации, плоскости управления и подключений каналов.
- Один мультиплексированный порт для:
- Управления/RPC по WebSocket
- HTTP API (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - HTTP-маршрутов Plugin, например необязательного
/api/v1/admin/rpc - Control UI и хуков
- Режим привязки по умолчанию:
loopback. - По умолчанию требуется аутентификация. Настройки с общим секретом используют
gateway.auth.token/gateway.auth.password(илиOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD), а настройки reverse proxy не для loopback могут использоватьgateway.auth.mode: "trusted-proxy".
OpenAI-совместимые конечные точки
Самая важная поверхность совместимости OpenClaw теперь:GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
- Большинство интеграций Open WebUI, LobeChat и LibreChat сначала проверяют
/v1/models. - Многие конвейеры RAG и памяти ожидают
/v1/embeddings. - Клиенты, ориентированные на агентов, все чаще предпочитают
/v1/responses.
/v1/modelsориентирован на агентов: он возвращаетopenclaw,openclaw/defaultиopenclaw/<agentId>.openclaw/default— стабильный псевдоним, который всегда сопоставляется с настроенным агентом по умолчанию.- Используйте
x-openclaw-model, когда нужно переопределить backend-провайдера/модель; иначе обычная модель и настройка embeddings выбранного агента остаются управляющими.
POST /api/v1/admin/rpc) — это отдельный, по умолчанию отключенный маршрут Plugin для инструментов хоста, которые не могут использовать WebSocket RPC. См. Административный HTTP RPC.
Приоритет порта и привязки
| Параметр | Порядок разрешения |
|---|---|
| Порт Gateway | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Режим привязки | CLI/переопределение → gateway.bind → loopback |
--port в метаданные supervisor. После изменения gateway.port запустите openclaw doctor --fix или openclaw gateway install --force, чтобы launchd/systemd/schtasks запускали процесс на новом порту.
Запуск Gateway использует тот же эффективный порт и привязку, когда подготавливает локальные
источники Control UI для привязок не к loopback. Например, --bind lan --port 3000
подготавливает http://localhost:3000 и http://127.0.0.1:3000 перед выполнением
runtime-проверки. Явно добавьте любые удаленные источники браузера, например HTTPS proxy URL, в
gateway.controlUi.allowedOrigins.
Режимы горячей перезагрузки
gateway.reload.mode | Поведение |
|---|---|
off | Без перезагрузки конфигурации |
hot | Применять только изменения, безопасные для hot-режима |
restart | Перезапускать при изменениях, требующих перезапуска |
hybrid (по умолчанию) | Применять hot-режим, когда безопасно, перезапускать, когда требуется |
Набор команд оператора
gateway status --deep предназначен для дополнительного обнаружения сервисов (LaunchDaemons/systemd system
units/schtasks), а не для более глубокой проверки здоровья RPC.
Несколько gateway на одном хосте
В большинстве установок следует запускать один gateway на машину. Один gateway может размещать несколько агентов и каналов. Несколько gateway нужны только тогда, когда вы намеренно хотите изоляцию или rescue bot. Полезные проверки:gateway status --deepможет сообщитьOther gateway-like services detected (best effort)и вывести подсказки по очистке, когда устаревшие установки launchd/systemd/schtasks все еще присутствуют.gateway probeможет предупредить оmultiple reachable gateway identities, когда отвечают разные gateway или когда OpenClaw не может доказать, что достижимые цели являются одним и тем же gateway. SSH-туннель, proxy URL или настроенный удаленный URL к тому же gateway — это один gateway с несколькими транспортами, даже если порты транспортов различаются.- Если это намеренно, изолируйте порты, конфигурацию/состояние и корни рабочих областей для каждого gateway.
- Уникальный
gateway.port - Уникальный
OPENCLAW_CONFIG_PATH - Уникальный
OPENCLAW_STATE_DIR - Уникальный
agents.defaults.workspace
Удаленный доступ
Предпочтительно: Tailscale/VPN. Резервный вариант: SSH-туннель.ws://127.0.0.1:18789.
См.: Удаленный Gateway, Аутентификация, Tailscale.
Надзор и жизненный цикл сервиса
Используйте запуск под надзором для надежности, похожей на production.- macOS (launchd)
- Linux (systemd user)
- Windows (native)
- Linux (system service)
openclaw gateway restart для перезапусков. Не объединяйте openclaw gateway stop и openclaw gateway start как замену перезапуску.В macOS gateway stop по умолчанию использует launchctl bootout — это удаляет LaunchAgent из текущей загрузочной сессии без постоянного отключения, поэтому автоматическое восстановление KeepAlive все еще работает после неожиданных сбоев, а gateway start повторно включает его чисто. Чтобы постоянно подавить автоматический повторный запуск между перезагрузками, передайте --disable: openclaw gateway stop --disable.Метки LaunchAgent: ai.openclaw.gateway (по умолчанию) или ai.openclaw.<profile> (именованный профиль). openclaw doctor проверяет и исправляет дрейф конфигурации сервиса.Быстрый путь dev-профиля
19001.
Краткий справочник протокола (вид оператора)
- Первый кадр клиента должен быть
connect. - Gateway возвращает снимок
hello-ok(presence,health,stateVersion,uptimeMs, limits/policy). hello-ok.features.methods/events— это консервативный список обнаружения, а не сгенерированный дамп каждого вызываемого вспомогательного маршрута.- Запросы:
req(method, params)→res(ok/payload|error). - Частые события включают
connect.challenge,agent,chat,session.message,session.operation,session.tool,sessions.changed,presence,tick,health,heartbeat, события жизненного цикла сопряжения/одобрения иshutdown.
- Немедленное подтверждение принятия (
status:"accepted") - Итоговый ответ завершения (
status:"ok"|"error") с потоковыми событиямиagentмежду ними.
Операционные проверки
Работоспособность
- Откройте WS и отправьте
connect. - Ожидайте ответ
hello-okсо снимком.
Готовность
Восстановление после пропусков
События не воспроизводятся повторно. При пропусках последовательности обновите состояние (health, system-presence) перед продолжением.
Частые сигнатуры отказов
| Сигнатура | Вероятная проблема |
|---|---|
refusing to bind gateway ... without auth | Привязка не к интерфейсу обратной петли без действительного пути аутентификации Gateway |
another gateway instance is already listening / EADDRINUSE | Конфликт порта |
Gateway start blocked: set gateway.mode=local | В конфигурации задан удаленный режим, или в поврежденной конфигурации отсутствует метка локального режима |
unauthorized during connect | Несоответствие аутентификации между клиентом и Gateway |
Гарантии безопасности
- Клиенты протокола Gateway быстро завершаются с ошибкой, когда Gateway недоступен (без неявного отката к прямому каналу).
- Недопустимые или не являющиеся подключением первые кадры отклоняются и закрываются.
- Корректное завершение работы отправляет событие
shutdownперед закрытием сокета.
Связанные разделы: