Cykl życia Gateway na macOS
Aplikacja macOS domyślnie zarządza Gateway przez launchd i nie uruchamia Gateway jako procesu potomnego. Najpierw próbuje dołączyć do już działającej Gateway na skonfigurowanym porcie; jeśli żadna nie jest osiągalna, włącza usługę launchd przez zewnętrzne CLIopenclaw (bez osadzonego runtime). Zapewnia to
niezawodny auto-start przy logowaniu i restart po awariach.
Tryb procesu potomnego (Gateway uruchamiana bezpośrednio przez aplikację) nie jest dziś używany.
Jeśli potrzebujesz ściślejszego powiązania z UI, uruchom Gateway ręcznie w terminalu.
Domyślne zachowanie (launchd)
- Aplikacja instaluje LaunchAgent per użytkownik oznaczony etykietą
ai.openclaw.gateway(lubai.openclaw.<profile>przy użyciu--profile/OPENCLAW_PROFILE; obsługiwane jest starszecom.openclaw.*). - Gdy tryb Local jest włączony, aplikacja upewnia się, że LaunchAgent jest załadowany i uruchamia Gateway w razie potrzeby.
- Logi są zapisywane do ścieżki logu gateway launchd (widocznej w Debug Settings).
ai.openclaw.<profile>, gdy uruchamiasz nazwany profil.
Niepodpisane buildy deweloperskie
scripts/restart-mac.sh --no-sign służy do szybkich lokalnych buildów, gdy nie masz
kluczy podpisywania. Aby launchd nie wskazywał niepodpisanej binarki relay, skrypt:
- zapisuje
~/.openclaw/disable-launchagent.
scripts/restart-mac.sh czyszczą to nadpisanie, jeśli znacznik
istnieje. Aby zresetować ręcznie:
Tryb tylko dołączania
Aby wymusić, by aplikacja macOS nigdy nie instalowała ani nie zarządzała launchd, uruchom ją z--attach-only (lub --no-launchd). Ustawia to ~/.openclaw/disable-launchagent,
więc aplikacja tylko dołącza do już działającej Gateway. To samo
zachowanie można przełączać w Debug Settings.
Tryb zdalny
Tryb zdalny nigdy nie uruchamia lokalnej Gateway. Aplikacja używa tunelu SSH do zdalnego hosta i łączy się przez ten tunel.Dlaczego preferujemy launchd
- Auto-start przy logowaniu.
- Wbudowana semantyka restartu/KeepAlive.
- Przewidywalne logi i nadzór.