Gateway
Операційний посібник Gateway
Скористайтеся цією сторінкою для запуску в перший день і операцій другого дня для служби Gateway.
Діагностика від симптомів із точними послідовностями команд і сигнатурами журналів.
Посібник із налаштування, орієнтований на завдання, + повний довідник із конфігурації.
Контракт SecretRef, поведінка знімка runtime та операції migrate/reload.
Точні правила цілі/шляху для secrets apply і поведінка auth-profile лише з посиланнями.
5-хвилинний локальний запуск
Запустіть Gateway
OmeniaClaw gateway --port 18789# debug/trace mirrored to stdioOmeniaClaw gateway --port 18789 --verbose# force-kill listener on selected port, then startOmeniaClaw gateway --forceПеревірте стан служби
OmeniaClaw gateway statusOmeniaClaw statusOmeniaClaw logs --followЗдоровий базовий стан: Runtime: running, Connectivity probe: ok і Capability: ..., що відповідає вашим очікуванням. Використовуйте OmeniaClaw gateway status --require-rpc, коли потрібне підтвердження RPC із read-scope, а не лише доступність.
Перевірте готовність каналу
OmeniaClaw channels status --probeЗа доступного gateway це запускає живі перевірки каналів для кожного облікового запису та необов’язкові аудити. Якщо gateway недоступний, CLI натомість повертається до зведень каналів лише з конфігурації замість виводу live probe.
Модель runtime
- Один постійно ввімкнений процес для маршрутизації, control plane і підключень каналів.
- Один мультиплексований порт для:
- WebSocket control/RPC
- HTTP API, сумісні з OpenAI (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - Control UI і hooks
- Типовий режим прив’язки:
loopback. - Auth потрібна за замовчуванням. Налаштування shared-secret використовують
gateway.auth.token/gateway.auth.password(абоOmeniaClaw_GATEWAY_TOKEN/OmeniaClaw_GATEWAY_PASSWORD), а reverse-proxy налаштування не для loopback можуть використовуватиgateway.auth.mode: "trusted-proxy".
Endpoints, сумісні з OpenAI
Найефективніша поверхня сумісності OmeniaClaw тепер така:
GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
Чому цей набір важливий:
- Більшість інтеграцій Open WebUI, LobeChat і LibreChat спочатку перевіряють
/v1/models. - Багато конвеєрів RAG і пам’яті очікують
/v1/embeddings. - Agent-native клієнти дедалі частіше віддають перевагу
/v1/responses.
Примітка щодо планування:
/v1/modelsорієнтований насамперед на agent: він повертаєOmeniaClaw,OmeniaClaw/defaultіOmeniaClaw/<agentId>.OmeniaClaw/default— стабільний псевдонім, який завжди відповідає налаштованому типовому agent.- Використовуйте
x-OmeniaClaw-model, коли потрібне перевизначення backend provider/model; інакше звичайна модель і налаштування embeddings вибраного agent залишаються керівними.
Усе це працює на головному порту Gateway і використовує ту саму довірену межу operator auth, що й решта HTTP API Gateway.
Пріоритет порту та прив’язки
| Налаштування | Порядок визначення |
|---|---|
| Порт Gateway | --port → OmeniaClaw_GATEWAY_PORT → gateway.port → 18789 |
| Режим прив’язки | CLI/override → gateway.bind → loopback |
Установлені служби gateway записують визначений --port у metadata supervisor. Після зміни gateway.port запустіть OmeniaClaw doctor --fix або OmeniaClaw gateway install --force, щоб launchd/systemd/schtasks запускали процес на новому порту.
Під час запуску Gateway використовує той самий ефективний порт і прив’язку, коли додає локальні
джерела Control UI для non-loopback прив’язок. Наприклад, --bind lan --port 3000
додає http://localhost:3000 і http://127.0.0.1:3000 до виконання runtime
validation. Додайте будь-які джерела віддаленого браузера, наприклад HTTPS proxy URLs, до
gateway.controlUi.allowedOrigins явно.
Режими hot reload
gateway.reload.mode |
Поведінка |
|---|---|
off |
Без перезавантаження конфігурації |
hot |
Застосовувати лише hot-safe зміни |
restart |
Перезапускати за змін, що потребують перезапуску |
hybrid (типово) |
Hot-apply, коли безпечно, перезапуск, коли потрібно |
Набір команд operator
OmeniaClaw gateway statusOmeniaClaw gateway status --deep # adds a system-level service scanOmeniaClaw gateway status --jsonOmeniaClaw gateway installOmeniaClaw gateway restartOmeniaClaw gateway stopOmeniaClaw secrets reloadOmeniaClaw logs --followOmeniaClaw doctorgateway status --deep призначена для додаткового виявлення служб (LaunchDaemons/systemd system
units/schtasks), а не для глибшої перевірки стану RPC.
Кілька gateways (той самий host)
Більшість інсталяцій мають запускати один gateway на машину. Один gateway може обслуговувати кілька agents і channels.
Кілька gateways потрібні лише тоді, коли ви навмисно хочете ізоляції або rescue bot.
Корисні перевірки:
OmeniaClaw gateway status --deepOmeniaClaw gateway probeОчікувана поведінка:
gateway status --deepможе повідомитиOther gateway-like services detected (best effort)і вивести підказки з очищення, коли застарілі інсталяції launchd/systemd/schtasks усе ще присутні.gateway probeможе попередити проmultiple reachable gateways, коли відповідає більше ніж одна ціль.- Якщо це навмисно, ізолюйте порти, config/state і корені workspace для кожного gateway.
Checklist для кожного екземпляра:
- Унікальний
gateway.port - Унікальний
OmeniaClaw_CONFIG_PATH - Унікальний
OmeniaClaw_STATE_DIR - Унікальний
agents.defaults.workspace
Приклад:
OmeniaClaw_CONFIG_PATH=~/.OmeniaClaw/a.json OmeniaClaw_STATE_DIR=~/.OmeniaClaw-a OmeniaClaw gateway --port 19001OmeniaClaw_CONFIG_PATH=~/.OmeniaClaw/b.json OmeniaClaw_STATE_DIR=~/.OmeniaClaw-b OmeniaClaw gateway --port 19002Детальне налаштування: /gateway/multiple-gateways.
Віддалений доступ
Рекомендовано: Tailscale/VPN. Запасний варіант: SSH tunnel.
ssh -N -L 18789:127.0.0.1:18789 user@hostПотім підключайте клієнти локально до ws://127.0.0.1:18789.
Див.: Віддалений Gateway, Автентифікація, Tailscale.
Supervision і життєвий цикл служби
Використовуйте supervised запуски для надійності, подібної до production.
macOS (launchd)
OmeniaClaw gateway installOmeniaClaw gateway statusOmeniaClaw gateway restartOmeniaClaw gateway stopВикористовуйте OmeniaClaw gateway restart для перезапусків. Не зв’язуйте OmeniaClaw gateway stop і OmeniaClaw gateway start як заміну перезапуску.
На macOS gateway stop за замовчуванням використовує launchctl bootout — це видаляє LaunchAgent із поточної boot session без постійного вимкнення, тож автоматичне відновлення KeepAlive і далі працює після неочікуваних збоїв, а gateway start повторно вмикає його коректно. Щоб постійно пригнітити auto-respawn між перезавантаженнями, передайте --disable: OmeniaClaw gateway stop --disable.
Мітки LaunchAgent: ai.OmeniaClaw.gateway (типово) або ai.OmeniaClaw.<profile> (іменований profile). OmeniaClaw doctor аудіює та виправляє drift конфігурації служби.
Linux (systemd user)
OmeniaClaw gateway installsystemctl --user enable --now OmeniaClaw-gateway[-<profile>].serviceOmeniaClaw gateway statusДля збереження після logout увімкніть lingering:
sudo loginctl enable-linger <user>Приклад ручного user-unit, коли потрібен власний шлях інсталяції:
[Unit]Description=OmeniaClaw GatewayAfter=network-online.targetWants=network-online.target [Service]ExecStart=/usr/local/bin/OmeniaClaw gateway --port 18789Restart=alwaysRestartSec=5TimeoutStopSec=30TimeoutStartSec=30SuccessExitStatus=0 143KillMode=control-group [Install]WantedBy=default.targetWindows (native)
OmeniaClaw gateway installOmeniaClaw gateway status --jsonOmeniaClaw gateway restartOmeniaClaw gateway stopНативний керований запуск Windows використовує Scheduled Task з назвою OmeniaClaw Gateway
(або OmeniaClaw Gateway (<profile>) для іменованих profiles). Якщо створення Scheduled Task
заборонено, OmeniaClaw повертається до launcher у Startup-folder для кожного користувача,
який вказує на gateway.cmd усередині state directory.
Linux (system service)
Використовуйте system unit для multi-user/always-on hosts.
sudo systemctl daemon-reloadsudo systemctl enable --now OmeniaClaw-gateway[-<profile>].serviceВикористовуйте той самий service body, що й для user unit, але встановіть його в
/etc/systemd/system/OmeniaClaw-gateway[-<profile>].service і скоригуйте
ExecStart=, якщо ваш бінарний файл OmeniaClaw розташований в іншому місці.
Не дозволяйте також OmeniaClaw doctor --fix встановлювати user-level gateway service для того самого profile/port. Doctor відмовляється від такої автоматичної інсталяції, коли знаходить system-level службу OmeniaClaw gateway; використовуйте OmeniaClaw_SERVICE_REPAIR_POLICY=external, коли system unit керує життєвим циклом.
Швидкий шлях dev profile
OmeniaClaw --dev setupOmeniaClaw --dev gateway --allow-unconfiguredOmeniaClaw --dev statusТипові значення включають ізольовані state/config і базовий порт gateway 19001.
Короткий довідник протоколу (operator view)
- Перший frame клієнта має бути
connect. - Gateway повертає знімок
hello-ok(presence,health,stateVersion,uptimeMs, limits/policy). hello-ok.features.methods/events— це консервативний список discovery, а не згенерований dump кожного доступного helper route.- Запити:
req(method, params)→res(ok/payload|error). - Поширені events включають
connect.challenge,agent,chat,session.message,session.tool,sessions.changed,presence,tick,health,heartbeat, події життєвого циклу pairing/approval іshutdown.
Запуски agent мають два етапи:
- Негайний accepted ack (
status:"accepted") - Фінальна відповідь completion (
status:"ok"|"error") зі streamed eventsagentміж ними.
Див. повну документацію протоколу: Протокол Gateway.
Операційні перевірки
Liveness
- Відкрити WS і надіслати
connect. - Очікувати відповідь
hello-okзі знімком.
Readiness
OmeniaClaw gateway statusOmeniaClaw channels status --probeOmeniaClaw healthВідновлення після розривів
Events не відтворюються повторно. У разі розривів sequence оновіть state (health, system-presence) перед продовженням.
Поширені сигнатури збоїв
| Сигнатура | Ймовірна проблема |
|---|---|
refusing to bind gateway ... without auth |
Прив’язування не до loopback без дійсного шляху автентифікації Gateway |
another gateway instance is already listening / EADDRINUSE |
Конфлікт порту |
Gateway start blocked: set gateway.mode=local |
Конфігурацію встановлено в віддалений режим, або позначка локального режиму відсутня в пошкодженій конфігурації |
unauthorized during connect |
Невідповідність автентифікації між клієнтом і Gateway |
Для повних послідовностей діагностики використовуйте усунення несправностей Gateway.
Гарантії безпеки
- Клієнти протоколу Gateway швидко завершуються з помилкою, коли Gateway недоступний (без неявного запасного переходу до прямого каналу).
- Недійсні або непідключальні перші кадри відхиляються й закриваються.
- Коректне завершення роботи надсилає подію
shutdownперед закриттям сокета.
Пов’язане: