Gateway
Procedura operacyjna Gateway
Użyj tej strony do uruchomienia w dniu 1 i operacji w dniu 2 dla usługi Gateway.
Diagnostyka od objawu z dokładnymi sekwencjami poleceń i sygnaturami logów.
Zadaniowy przewodnik konfiguracji + pełna dokumentacja konfiguracji.
Kontrakt SecretRef, zachowanie migawki środowiska uruchomieniowego oraz operacje migracji/przeładowania.
Dokładne reguły celu/ścieżki secrets apply i zachowanie profilu uwierzytelniania wyłącznie przez referencje.
5-minutowe uruchomienie lokalne
Uruchom Gateway
openclaw gateway --port 18789
# debug/trace mirrored to stdio
openclaw gateway --port 18789 --verbose
# force-kill listener on selected port, then start
openclaw gateway --force
Zweryfikuj kondycję usługi
openclaw gateway status
openclaw status
openclaw logs --follow
Zdrowa wartość bazowa: Runtime: running, Connectivity probe: ok oraz Capability: ..., które odpowiadają Twoim oczekiwaniom. Użyj openclaw gateway status --require-rpc, gdy potrzebujesz dowodu RPC w zakresie odczytu, a nie tylko osiągalności.
Sprawdź gotowość kanałów
openclaw channels status --probe
Przy osiągalnym gateway uruchamia to aktywne sondy kanałów dla poszczególnych kont oraz opcjonalne audyty. Jeśli gateway jest nieosiągalny, CLI przełącza się na podsumowania kanałów wyłącznie z konfiguracji zamiast wyniku aktywnej sondy.
Model środowiska uruchomieniowego
- Jeden stale działający proces do routingu, płaszczyzny sterowania i połączeń kanałów.
- Jeden multipleksowany port dla:
- sterowania/RPC przez WebSocket
- interfejsów API HTTP, 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(alboOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD), a konfiguracje reverse proxy poza loopback mogą używaćgateway.auth.mode: "trusted-proxy".
Endpointy zgodne z OpenAI
Najważniejsza powierzchnia zgodności OpenClaw to teraz:
GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
Dlaczego ten zestaw ma znaczenie:
- 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.
Uwaga planistyczna:
/v1/modelsjest zorientowany najpierw na agentów: zwracaopenclaw,openclaw/defaultiopenclaw/<agentId>.openclaw/defaultto stabilny alias, który zawsze mapuje na skonfigurowanego agenta domyślnego.- Użyj
x-openclaw-model, gdy chcesz nadpisać backendowego dostawcę/model; w przeciwnym razie kontrolę zachowuje normalny model i konfiguracja embeddingów wybranego agenta.
Wszystkie te endpointy działają na głównym porcie Gateway i używają tej samej zaufanej granicy uwierzytelniania operatora co reszta interfejsu HTTP API Gateway.
Priorytet portu i bindowania
| Ustawienie | Kolejność rozstrzygania |
|---|---|
| Port Gateway | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Tryb bind | CLI/nadpisanie → gateway.bind → loopback |
Zainstalowane usługi gateway zapisują rozstrzygnięty --port w metadanych nadzorcy. Po zmianie gateway.port uruchom openclaw doctor --fix albo openclaw gateway install --force, aby launchd/systemd/schtasks uruchamiały proces na nowym porcie.
Uruchomienie Gateway używa tego samego efektywnego portu i bindowania, gdy zasila lokalne
źródła Control UI dla bindów poza loopback. Na przykład --bind lan --port 3000
zasila http://localhost:3000 i http://127.0.0.1:3000 przed uruchomieniem
walidacji środowiska uruchomieniowego. Jawnie dodaj wszystkie zdalne źródła przeglądarki, takie jak adresy URL proxy HTTPS, do
gateway.controlUi.allowedOrigins.
Tryby gorącego przeładowania
gateway.reload.mode |
Zachowanie |
|---|---|
off |
Brak przeładowania konfiguracji |
hot |
Zastosuj tylko zmiany bezpieczne na gorąco |
restart |
Uruchom ponownie przy zmianach wymagających przeładowania |
hybrid (domyślnie) |
Zastosuj na gorąco, gdy bezpieczne; uruchom ponownie, gdy wymagane |
Zestaw poleceń operatora
openclaw gateway status
openclaw gateway status --deep # adds a system-level service scan
openclaw gateway status --json
openclaw gateway install
openclaw gateway restart
openclaw gateway stop
openclaw secrets reload
openclaw logs --follow
openclaw doctor
gateway status --deep służy do dodatkowego wykrywania usług (LaunchDaemons/jednostki systemowe systemd/schtasks), a nie do głębszej sondy kondycji RPC.
Wiele gatewayów (ten sam host)
Większość instalacji powinna uruchamiać jeden gateway na maszynę. Pojedynczy gateway może obsługiwać wiele agentów i kanałów.
Potrzebujesz wielu gatewayów tylko wtedy, gdy celowo chcesz izolacji albo bota ratunkowego.
Przydatne kontrole:
openclaw gateway status --deep
openclaw gateway probe
Czego oczekiwać:
gateway status --deepmoże zgłosićOther gateway-like services detected (best effort)i wypisać wskazówki czyszczenia, gdy nadal istnieją przestarzałe 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 i katalogi główne obszarów roboczych dla każdego gateway.
Lista kontrolna dla instancji:
- Unikalny
gateway.port - Unikalny
OPENCLAW_CONFIG_PATH - Unikalny
OPENCLAW_STATE_DIR - Unikalny
agents.defaults.workspace
Przykład:
OPENCLAW_CONFIG_PATH=~/.openclaw/a.json OPENCLAW_STATE_DIR=~/.openclaw-a openclaw gateway --port 19001
OPENCLAW_CONFIG_PATH=~/.openclaw/b.json OPENCLAW_STATE_DIR=~/.openclaw-b openclaw gateway --port 19002
Szczegółowa konfiguracja: /gateway/multiple-gateways.
Dostęp zdalny
Preferowane: Tailscale/VPN. Opcja awaryjna: tunel SSH.
ssh -N -L 18789:127.0.0.1:18789 user@host
Następnie podłącz klientów lokalnie do ws://127.0.0.1:18789.
Zobacz: Zdalny Gateway, Uwierzytelnianie, Tailscale.
Nadzór i cykl życia usługi
Używaj nadzorowanych uruchomień dla niezawodności zbliżonej do produkcyjnej.
macOS (launchd)
openclaw gateway install
openclaw gateway status
openclaw gateway restart
openclaw gateway stop
Używaj openclaw gateway restart do ponownych uruchomień. Nie łącz openclaw gateway stop i openclaw gateway start; na macOS gateway stop celowo wyłącza LaunchAgent przed jego zatrzymaniem.
Etykiety LaunchAgent to ai.openclaw.gateway (domyślna) albo ai.openclaw.<profile> (nazwany profil). openclaw doctor audytuje i naprawia dryf konfiguracji usługi.
Linux (użytkownik systemd)
openclaw gateway install
systemctl --user enable --now openclaw-gateway[-<profile>].service
openclaw gateway status
Aby zachować działanie po wylogowaniu, włącz lingering:
sudo loginctl enable-linger <user>
Przykład ręcznej jednostki użytkownika, gdy potrzebujesz niestandardowej ścieżki instalacji:
[Unit]
Description=OpenClaw Gateway
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/openclaw gateway --port 18789
Restart=always
RestartSec=5
TimeoutStopSec=30
TimeoutStartSec=30
SuccessExitStatus=0 143
KillMode=control-group
[Install]
WantedBy=default.target
Windows (natywnie)
openclaw gateway install
openclaw gateway status --json
openclaw gateway restart
openclaw gateway stop
Natywny zarządzany start Windows używa Zaplanowanego zadania o nazwie OpenClaw Gateway
(albo OpenClaw Gateway (<profile>) dla nazwanych profili). Jeśli utworzenie Zaplanowanego zadania
zostanie odmówione, OpenClaw przełącza się na launcher w folderze Autostart użytkownika,
który wskazuje gateway.cmd w katalogu stanu.
Linux (usługa systemowa)
Użyj jednostki systemowej dla hostów wieloużytkownikowych/stale działających.
sudo systemctl daemon-reload
sudo systemctl enable --now openclaw-gateway[-<profile>].service
Użyj tej samej treści usługi co jednostka użytkownika, ale zainstaluj ją pod
/etc/systemd/system/openclaw-gateway[-<profile>].service i dostosuj
ExecStart=, jeśli Twój plik binarny openclaw znajduje się gdzie indziej.
Nie pozwalaj jednocześnie, aby openclaw doctor --fix zainstalował usługę gateway na poziomie użytkownika dla tego samego profilu/portu. Doctor odmawia tej automatycznej instalacji, gdy znajdzie usługę Gateway OpenClaw na poziomie systemowym; użyj OPENCLAW_SERVICE_REPAIR_POLICY=external, gdy jednostka systemowa zarządza cyklem życia.
Szybka ścieżka profilu deweloperskiego
openclaw --dev setup
openclaw --dev gateway --allow-unconfigured
openclaw --dev status
Domyślne wartości obejmują odizolowany stan/konfigurację i bazowy port gateway 19001.
Szybka dokumentacja protokołu (widok operatora)
- Pierwsza ramka klienta musi być
connect. - Gateway zwraca migawkę
hello-ok(presence,health,stateVersion,uptimeMs, limity/polityka). hello-ok.features.methods/eventsto konserwatywna lista wykrywania, a nie wygenerowany zrzut każdej wywoływalnej trasy 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/zatwierdzania orazshutdown.
Uruchomienia agentów są dwuetapowe:
- Natychmiastowe potwierdzenie przyjęcia (
status:"accepted") - Końcowa odpowiedź ukończenia (
status:"ok"|"error"), z przesyłanymi strumieniowo zdarzeniamiagentpomiędzy.
Zobacz pełną dokumentację protokołu: Protokół Gateway.
Kontrole operacyjne
Żywotność
- Otwórz WS i wyślij
connect. - Oczekuj odpowiedzi
hello-okz migawką.
Gotowość
openclaw gateway status
openclaw channels status --probe
openclaw health
Odzyskiwanie po lukach
Zdarzenia nie są odtwarzane. Przy lukach sekwencji odśwież stan (health, system-presence) przed kontynuowaniem.
Typowe sygnatury awarii
| Sygnatura | Prawdopodobny problem |
|---|---|
refusing to bind gateway ... without auth |
Bind 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 w uszkodzonej konfiguracji brakuje znacznika trybu lokalnego |
unauthorized podczas connect |
Niezgodność uwierzytelniania między klientem a gateway |
Pełne sekwencje diagnostyczne znajdziesz w Rozwiązywaniu problemów z Gateway.
Gwarancje bezpieczeństwa
- Klienci protokołu Gateway zgłaszają błąd od razu, gdy Gateway jest niedostępny (bez niejawnego przełączania awaryjnego na kanał bezpośredni).
- Nieprawidłowe pierwsze ramki albo pierwsze ramki inne niż connect są odrzucane i zamykane.
- Kontrolowane zamykanie emituje zdarzenie
shutdownprzed zamknięciem gniazda.
Powiązane: