Instrukcja operacyjna Gateway
Użyj tej strony do uruchamiania usługi Gateway w pierwszym dniu oraz do operacji eksploatacyjnych w kolejnych dniach.Zaawansowane rozwiązywanie problemów
Diagnostyka oparta na objawach z dokładnymi sekwencjami poleceń i sygnaturami logów.
Konfiguracja
Przewodnik konfiguracji zorientowany na zadania + pełne odniesienie do konfiguracji.
Zarządzanie sekretami
Kontrakt SecretRef, zachowanie snapshotów w czasie działania oraz operacje migracji/przeładowania.
Kontrakt planu sekretów
Dokładne reguły
secrets apply dotyczące celu/ścieżki oraz zachowanie profilu uwierzytelniania tylko z referencjami.5-minutowe lokalne uruchomienie
Zweryfikuj stan usługi
Runtime: running, Connectivity probe: ok oraz Capability: ... zgodne z oczekiwaniami. Użyj openclaw gateway status --require-rpc, gdy potrzebujesz potwierdzenia RPC w zakresie odczytu, a nie tylko osiągalności.Przeładowanie konfiguracji Gateway obserwuje ścieżkę aktywnego pliku konfiguracji (ustaloną na podstawie domyślnych ustawień profilu/stanu albo
OPENCLAW_CONFIG_PATH, jeśli jest ustawione).
Tryb domyślny to gateway.reload.mode="hybrid".
Po pierwszym pomyślnym wczytaniu działający proces obsługuje aktywny snapshot konfiguracji w pamięci; pomyślne przeładowanie atomowo podmienia ten snapshot.Model działania
- Jeden zawsze uruchomiony proces do routingu, płaszczyzny sterowania i połączeń kanałów.
- Jeden multipleksowany port dla:
- sterowania/RPC przez WebSocket
- interfejsów HTTP API zgodnych z OpenAI (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - Control UI i hooków
- Domyślny tryb bindowania:
loopback. - Uwierzytelnianie jest domyślnie wymagane. Konfiguracje ze współdzielonym sekretem używają
gateway.auth.token/gateway.auth.password(lubOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD), a konfiguracje reverse proxy spoza loopback mogą używaćgateway.auth.mode: "trusted-proxy".
Endpointy zgodne z OpenAI
Najważniejsza warstwa zgodności OpenClaw to obecnie:GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
- Większość integracji Open WebUI, LobeChat i LibreChat najpierw sonduje
/v1/models. - Wiele potoków RAG i pamięci oczekuje
/v1/embeddings. - Klienci natywni dla agentów coraz częściej preferują
/v1/responses.
/v1/modelsjest agent-first: zwracaopenclaw,openclaw/defaultiopenclaw/<agentId>.openclaw/defaultto stabilny alias, który zawsze mapuje na skonfigurowanego domyślnego agenta.- Użyj
x-openclaw-model, gdy chcesz wymusić nadpisanie dostawcy/modelu zaplecza; w przeciwnym razie kontrolę zachowują zwykłe ustawienia modelu i embeddingów wybranego agenta.
Priorytet portu i trybu bindowania
| Ustawienie | Kolejność rozstrzygania |
|---|---|
| Port Gateway | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Tryb bindowania | CLI/override → gateway.bind → loopback |
Tryby hot reload
gateway.reload.mode | Zachowanie |
|---|---|
off | Brak przeładowania konfiguracji |
hot | Zastosuj tylko zmiany bezpieczne dla hot reload |
restart | Restart przy zmianach wymagających restartu |
hybrid (domyślny) | Zastosuj na gorąco, gdy to bezpieczne, restartuj, gdy to wymagane |
Zestaw poleceń operatora
gateway status --deep służy do dodatkowego wykrywania usług (LaunchDaemons/systemowe
jednostki systemd/schtasks), a nie do głębszej sondy stanu RPC.
Wiele Gatewayów (ten sam host)
W większości instalacji należy uruchamiać jeden Gateway na maszynę. Jeden Gateway może obsługiwać wielu agentów i wiele kanałów. Wiele Gatewayów jest potrzebnych tylko wtedy, gdy celowo chcesz izolacji albo bota ratunkowego. Przydatne kontrole:gateway status --deepmoże zgłosićOther gateway-like services detected (best effort)i wyświetlić wskazówki czyszczenia, gdy nadal istnieją przestarzałe instalacje launchd/systemd/schtasks.gateway probemoże ostrzegać omultiple reachable gateways, gdy odpowiada więcej niż jeden cel.- Jeśli jest to zamierzone, odizoluj porty, konfigurację/stany i katalogi workspace dla każdego Gateway.
Dostęp zdalny
Zalecane: Tailscale/VPN. Awaryjnie: tunel SSH.ws://127.0.0.1:18789.
Zobacz: Remote Gateway, Authentication, Tailscale.
Nadzór i cykl życia usługi
Dla niezawodności zbliżonej do produkcyjnej używaj uruchomień nadzorowanych.- macOS (launchd)
- Linux (systemd user)
- Windows (native)
- Linux (system service)
ai.openclaw.gateway (domyślna) albo ai.openclaw.<profile> (profil nazwany). openclaw doctor audytuje i naprawia dryf konfiguracji usługi.Wiele Gatewayów na jednym hoście
W większości konfiguracji należy uruchamiać jeden Gateway. Wielu używaj tylko dla ścisłej izolacji/nadmiarowości (na przykład profil ratunkowy). Lista kontrolna dla każdej instancji:- Unikalne
gateway.port - Unikalne
OPENCLAW_CONFIG_PATH - Unikalne
OPENCLAW_STATE_DIR - Unikalne
agents.defaults.workspace
Szybka ścieżka dla profilu deweloperskiego
19001.
Szybkie odniesienie do protokołu (widok operatora)
- Pierwszą ramką klienta musi być
connect. - Gateway zwraca snapshot
hello-ok(presence,health,stateVersion,uptimeMs, limits/policy). hello-ok.features.methods/eventsto konserwatywna lista wykrywania, a nie wygenerowany zrzut każdej wywoływalnej ścieżki pomocniczej.- Żądania:
req(method, params)→res(ok/payload|error). - Typowe zdarzenia obejmują
connect.challenge,agent,chat,session.message,session.tool,sessions.changed,presence,tick,health,heartbeat, zdarzenia cyklu życia parowania/akceptacji orazshutdown.
- Natychmiastowe potwierdzenie przyjęcia (
status:"accepted") - Ostateczna odpowiedź zakończenia (
status:"ok"|"error"), ze strumieniowanymi zdarzeniamiagentpomiędzy nimi.
Kontrole operacyjne
Żywotność
- Otwórz WS i wyślij
connect. - Oczekuj odpowiedzi
hello-okze snapshotem.
Gotowość
Odtwarzanie po lukach
Zdarzenia nie są odtwarzane. Przy lukach w sekwencji odśwież stan (health, system-presence) przed kontynuacją.
Typowe sygnatury awarii
| Sygnatura | Prawdopodobny problem |
|---|---|
refusing to bind gateway ... without auth | Bindowanie poza loopback bez prawidłowej ścieżki uwierzytelniania Gateway |
another gateway instance is already listening / EADDRINUSE | Konflikt portu |
Gateway start blocked: set gateway.mode=local | Konfiguracja ustawiona na tryb zdalny albo brakuje stempla trybu lokalnego w uszkodzonej konfiguracji |
unauthorized during connect | Niezgodność uwierzytelniania między klientem a Gateway |
Gwarancje bezpieczeństwa
- Klienci protokołu Gateway szybko kończą pracę, gdy Gateway jest niedostępny (bez domyślnego awaryjnego przejścia bezpośrednio do kanału).
- Nieprawidłowe pierwsze ramki inne niż
connectsą odrzucane, a połączenie zamykane. - Przy łagodnym zamknięciu emitowane jest zdarzenie
shutdownprzed zamknięciem gniazda.
Powiązane: