Platforms overview

Aplikacja na Linuksa

Gateway jest w pełni obsługiwany w systemie Linux. Node jest zalecanym środowiskiem uruchomieniowym. Bun nie jest zalecany dla Gateway (błędy WhatsApp/Telegram).

Natywne aplikacje towarzyszące dla systemu Linux są planowane. Wkład jest mile widziany, jeśli chcesz pomóc zbudować taką aplikację.

Szybka ścieżka dla początkujących (VPS)

  1. Zainstaluj Node 24 (zalecane; Node 22 LTS, obecnie 22.19+, nadal działa ze względu na zgodność)
  2. npm i -g openclaw@latest
  3. openclaw onboard --install-daemon
  4. Z laptopa: ssh -N -L 18789:127.0.0.1:18789 <user>@<host>
  5. Otwórz http://127.0.0.1:18789/ i uwierzytelnij się skonfigurowanym współdzielonym sekretem (domyślnie tokenem; hasłem, jeśli ustawisz gateway.auth.mode: "password")

Pełny przewodnik po serwerze Linux: Serwer Linux. Przykład VPS krok po kroku: exe.dev

Instalacja

Gateway

Instalacja usługi Gateway (CLI)

Użyj jednej z tych opcji:

Code
openclaw onboard --install-daemon

Lub:

Code
openclaw gateway install

Lub:

Code
openclaw configure

Po wyświetleniu monitu wybierz Usługa Gateway.

Naprawa/migracja:

Code
openclaw doctor

Kontrola systemu (jednostka użytkownika systemd)

OpenClaw domyślnie instaluje usługę systemd użytkownika. Użyj usługi systemowej dla współdzielonych lub stale działających serwerów. openclaw gateway install i openclaw onboard --install-daemon renderują już dla Ciebie bieżącą kanoniczną jednostkę; zapisuj ją ręcznie tylko wtedy, gdy potrzebujesz niestandardowej konfiguracji systemu/menedżera usług. Pełne wskazówki dotyczące usługi znajdują się w runbooku Gateway.

Minimalna konfiguracja:

Utwórz ~/.config/systemd/user/openclaw-gateway[-<profile>].service:

Code
[Unit]Description=OpenClaw Gateway (profile: <profile>, v<version>)After=network-online.targetWants=network-online.target [Service]ExecStart=/usr/local/bin/openclaw gateway --port 18789Restart=alwaysRestartSec=5TimeoutStopSec=30TimeoutStartSec=30SuccessExitStatus=0 143OOMPolicy=continueKillMode=control-group [Install]WantedBy=default.target

Włącz ją:

Code
systemctl --user enable --now openclaw-gateway[-<profile>].service

Presja pamięci i zakończenia przez OOM

W systemie Linux jądro wybiera ofiarę OOM, gdy host, maszyna wirtualna lub cgroup kontenera wyczerpie pamięć. Gateway może być złym kandydatem, ponieważ utrzymuje długotrwałe sesje i połączenia kanałów. Dlatego OpenClaw w miarę możliwości przesuwa preferencję tak, aby przejściowe procesy potomne były zabijane przed Gateway.

Dla kwalifikujących się uruchomień procesów potomnych w systemie Linux OpenClaw uruchamia proces potomny przez krótki wrapper /bin/sh, który podnosi własne oom_score_adj procesu potomnego do 1000, a następnie wykonuje exec właściwego polecenia. Jest to operacja niewymagająca uprawnień, ponieważ proces potomny tylko zwiększa własne prawdopodobieństwo zabicia przez OOM.

Objęte powierzchnie procesów potomnych obejmują:

  • procesy potomne poleceń zarządzanych przez nadzorcę,
  • procesy potomne powłoki PTY,
  • procesy potomne serwera stdio MCP,
  • procesy przeglądarki/Chrome uruchomione przez OpenClaw.

Wrapper działa tylko w systemie Linux i jest pomijany, gdy /bin/sh jest niedostępny. Jest również pomijany, jeśli środowisko procesu potomnego ustawia OPENCLAW_CHILD_OOM_SCORE_ADJ=0, false, no lub off.

Aby zweryfikować proces potomny:

bash
cat /proc/<child-pid>/oom_score_adj

Oczekiwana wartość dla objętych procesów potomnych to 1000. Proces Gateway powinien zachować swój normalny wynik, zwykle 0.

Zalecana jednostka systemd ustawia również OOMPolicy=continue. Dzięki temu jednostka Gateway pozostaje aktywna, gdy przejściowy proces potomny zostanie wybrany przez mechanizm OOM killer; polecenie/sesja procesu potomnego może zakończyć się niepowodzeniem i zgłosić błąd bez oznaczania całej usługi gateway jako nieudanej przez systemd i bez restartowania wszystkich kanałów.

Nie zastępuje to normalnego dostrajania pamięci. Jeśli VPS lub kontener wielokrotnie zabija procesy potomne, zwiększ limit pamięci, ogranicz współbieżność lub dodaj silniejsze mechanizmy kontroli zasobów, takie jak MemoryMax= systemd albo limity pamięci na poziomie kontenera.

Powiązane

Was this useful?
On this page

On this page