Runbook Gateway
Використовуйте цю сторінку для запуску сервісу Gateway в перший день і його експлуатації надалі.Поглиблене усунення несправностей
Діагностика за симптомами з точними послідовностями команд і сигнатурами журналів.
Конфігурація
Посібник із налаштування, орієнтований на завдання, + повний довідник із конфігурації.
Керування секретами
Контракт SecretRef, поведінка runtime snapshot і операції migrate/reload.
Контракт плану секретів
Точні правила target/path для
secrets apply і поведінка auth-profile лише з ref.Локальний запуск за 5 хвилин
Перезавантаження конфігурації Gateway відстежує активний шлях до файлу конфігурації (визначений із типових значень profile/state або через
OPENCLAW_CONFIG_PATH, якщо його задано).
Типовий режим — gateway.reload.mode="hybrid".
Після першого успішного завантаження запущений процес обслуговує активний in-memory snapshot конфігурації; успішне перезавантаження атомарно замінює цей snapshot.Модель runtime
- Один постійно запущений процес для маршрутизації, control plane і підключень каналів.
- Один мультиплексований порт для:
- WebSocket control/RPC
- HTTP API, сумісних з OpenAI (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - Control UI і hooks
- Типовий режим bind:
loopback. - Автентифікація типово обов’язкова. Для конфігурацій зі спільним секретом використовуйте
gateway.auth.token/gateway.auth.password(абоOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD), а для конфігурацій з reverse proxy не на loopback можна використовуватиgateway.auth.mode: "trusted-proxy".
Endpoint, сумісні з 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; інакше зберігається керування звичайною моделлю та налаштуванням embedding вибраного агента.
Пріоритет порту й bind
| Налаштування | Порядок визначення |
|---|---|
| Порт Gateway | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Режим bind | CLI/перевизначення → gateway.bind → loopback |
Режими hot reload
gateway.reload.mode | Поведінка |
|---|---|
off | Без перезавантаження конфігурації |
hot | Застосовує лише безпечні для hot зміни |
restart | Перезапуск при змінах, що вимагають reload |
hybrid (типово) | Hot-застосування, коли безпечно, і перезапуск, коли потрібно |
Набір операторських команд
gateway status --deep призначено для додаткового виявлення сервісів (LaunchDaemons/systemd system
units/schtasks), а не для глибшої RPC-перевірки стану.
Кілька gateway на одному хості
У більшості інсталяцій має працювати один gateway на машину. Один gateway може обслуговувати кількох агентів і каналів. Кілька gateway потрібні лише тоді, коли вам навмисно потрібна ізоляція або аварійний бот. Корисні перевірки:gateway status --deepможе повідомитиOther gateway-like services detected (best effort)і надрукувати підказки з очищення, якщо ще лишилися застарілі інсталяції launchd/systemd/schtasks.gateway probeможе попередити проmultiple reachable gateways, коли відповідає більше ніж одна ціль.- Якщо це навмисно, ізолюйте порти, config/state і корені workspace для кожного gateway окремо.
Віддалений доступ
Бажано: Tailscale/VPN. Резервний варіант: SSH-тунель.ws://127.0.0.1:18789.
Див.: Remote Gateway, Автентифікація, Tailscale.
Супервізія та життєвий цикл сервісу
Для надійності, подібної до production, використовуйте запуск під супервізією.- macOS (launchd)
- Linux (systemd user)
- Windows (native)
- Linux (system service)
ai.openclaw.gateway (типово) або ai.openclaw.<profile> (іменований profile). openclaw doctor перевіряє й виправляє дрейф конфігурації сервісу.Кілька gateway на одному хості
У більшості конфігурацій слід запускати один Gateway. Використовуйте кілька лише для суворої ізоляції/резервування (наприклад, rescue profile). Контрольний список для кожного екземпляра:- Унікальний
gateway.port - Унікальний
OPENCLAW_CONFIG_PATH - Унікальний
OPENCLAW_STATE_DIR - Унікальний
agents.defaults.workspace
Швидкий шлях для dev profile
19001.
Короткий довідник з протоколу (погляд оператора)
- Першим кадром клієнта має бути
connect. - Gateway повертає snapshot
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.tool,sessions.changed,presence,tick,health,heartbeat, події життєвого циклу pairing/approval іshutdown.
- Негайне підтвердження прийняття (
status:"accepted") - Фінальна відповідь про завершення (
status:"ok"|"error"), з потоковими подіямиagentміж ними.
Операційні перевірки
Доступність
- Відкрийте WS і надішліть
connect. - Очікуйте відповідь
hello-okзі snapshot.
Готовність
Відновлення після пропусків
Події не відтворюються повторно. За розривів у послідовності оновіть стан (health, system-presence) перед продовженням.
Типові сигнатури збоїв
| Сигнатура | Імовірна проблема |
|---|---|
refusing to bind gateway ... without auth | Bind не на loopback без валідного шляху автентифікації gateway |
another gateway instance is already listening / EADDRINUSE | Конфлікт порту |
Gateway start blocked: set gateway.mode=local | У конфігурації задано remote mode, або в пошкодженій конфігурації відсутній stamp local-mode |
unauthorized during connect | Невідповідність автентифікації між клієнтом і gateway |
Гарантії безпеки
- Клієнти протоколу Gateway швидко завершуються помилкою, коли Gateway недоступний (без неявного резервного переходу до прямого каналу).
- Невалідні/не-
connectперші кадри відхиляються й з’єднання закривається. - Плавне завершення роботи надсилає подію
shutdownперед закриттям сокета.
Пов’язане: