Instrukcja operacyjna Gateway
Używaj tej strony do uruchomienia usługi Gateway pierwszego dnia i do operacji drugiego dnia.Głębokie rozwiązywanie problemów
Diagnostyka oparta na objawach z dokładnymi sekwencjami poleceń i sygnaturami logów.
Konfiguracja
Przewodnik konfiguracji zorientowany na zadania + pełna dokumentacja referencyjna konfiguracji.
Zarządzanie sekretami
Kontrakt SecretRef, zachowanie snapshotów runtime oraz operacje migracji/przeładowania.
Kontrakt planu sekretów
Dokładne reguły celu/ścieżki
secrets apply oraz zachowanie profilu uwierzytelniania tylko z odwołaniami.5-minutowe lokalne uruchomienie
Przeładowanie konfiguracji Gateway obserwuje ścieżkę aktywnego pliku konfiguracji (rozwiązaną z domyślnych ustawień profilu/stanu lub z
OPENCLAW_CONFIG_PATH, gdy jest ustawione).
Domyślnym trybem jest gateway.reload.mode="hybrid".
Po pierwszym pomyślnym wczytaniu uruchomiony proces obsługuje aktywny snapshot konfiguracji w pamięci; pomyślne przeładowanie atomowo podmienia ten snapshot.Model runtime
- Jeden stale działający proces do routingu, control plane i połączeń kanałów.
- Jeden multipleksowany port dla:
- control/RPC przez WebSocket
- API HTTP, zgodnych z OpenAI (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - interfejsu Control UI i hooków
- Domyślny tryb bindowania:
loopback. - Domyślnie wymagane jest uwierzytelnianie. 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
Najbardziej wartościową powierzchnią zgodności OpenClaw jest 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 pipeline’ó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 do skonfigurowanego agenta domyślnego.- Użyj
x-openclaw-model, jeśli chcesz nadpisać backend provider/model; w przeciwnym razie kontrolę zachowuje zwykły model i konfiguracja osadzeń wybranego agenta.
Priorytet portu i bindowania
| Ustawienie | Kolejność rozwiązywania |
|---|---|
| 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 |
restart | Restart przy zmianach wymagających restartu |
hybrid (domyślnie) | Zastosuj hot, gdy bezpieczne, restart gdy wymagany |
Zestaw poleceń operatora
gateway status --deep służy do dodatkowego wykrywania usług (LaunchDaemons/systemd system
units/schtasks), a nie do głębszej sondy kondycji RPC.
Wiele gateway na jednym hoście
W większości instalacji powinna działać jedna brama gateway na maszynę. Jeden gateway może obsługiwać wiele agentów i kanałów. Wiele gateway potrzebujesz tylko wtedy, gdy celowo chcesz izolacji lub bota ratunkowego. Przydatne kontrole:gateway status --deepmoże zgłosićOther gateway-like services detected (best effort)i wypisać wskazówki czyszczenia, gdy nadal istnieją stare instalacje launchd/systemd/schtasks.gateway probemoże ostrzec omultiple reachable gateways, gdy odpowiada więcej niż jeden cel.- Jeśli to zamierzone, odizoluj porty, konfigurację/stan oraz katalogi główne obszarów roboczych dla każdego gateway.
Dostęp zdalny
Preferowane: Tailscale/VPN. Fallback: tunel SSH.ws://127.0.0.1:18789.
Zobacz: Remote Gateway, Authentication, Tailscale.
Nadzór i cykl życia usługi
Dla niezawodności na poziomie produkcyjnym używaj uruchomień nadzorowanych.- macOS (launchd)
- Linux (systemd user)
- Windows (native)
- Linux (system service)
ai.openclaw.gateway (domyślnie) lub ai.openclaw.<profile> (profil nazwany). openclaw doctor audytuje i naprawia dryf konfiguracji usługi.Wiele gateway na jednym hoście
W większości konfiguracji powinien działać jeden Gateway. Używaj wielu tylko dla ścisłej izolacji/nadmiarowości (na przykład profilu ratunkowego). 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.
Szybka dokumentacja referencyjna protokołu (widok operatora)
- Pierwsza ramka klienta musi być
connect. - Gateway zwraca snapshot
hello-ok(presence,health,stateVersion,uptimeMs, limity/polityka). hello-ok.features.methods/eventsto zachowawcza 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") - Końcowa odpowiedź zakończenia (
status:"ok"|"error"), ze strumieniowanymi zdarzeniamiagentpomiędzy.
Kontrole operacyjne
Liveness
- Otwórz WS i wyślij
connect. - Oczekuj odpowiedzi
hello-okze snapshotem.
Readiness
Odzyskiwanie po lukach
Zdarzenia nie są odtwarzane ponownie. W przypadku luk 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 znacznika trybu lokalnego w uszkodzonej konfiguracji |
unauthorized during connect | Niezgodność uwierzytelniania między klientem a gateway |
Gwarancje bezpieczeństwa
- Klienci protokołu Gateway kończą działanie natychmiast, gdy Gateway jest niedostępny (bez niejawnego fallbacku do bezpośredniego kanału).
- Nieprawidłowe/pierwsze ramki inne niż
connectsą odrzucane, a połączenie zamykane. - Łagodne zamknięcie emituje zdarzenie
shutdownprzed zamknięciem gniazda.
Powiązane: