macOS companion app
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ącego
Gateway na skonfigurowanym porcie; jeśli żaden nie jest osiągalny, włącza usługę
launchd przez zewnętrzne CLI openclaw (bez osadzonego środowiska uruchomieniowego). Zapewnia to
niezawodne automatyczne uruchamianie przy logowaniu i restart po awariach.
Tryb procesu potomnego (Gateway uruchamiany 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 dla użytkownika z etykietą
ai.openclaw.gateway(lubai.openclaw.<profile>przy użyciu--profile/OPENCLAW_PROFILE; starszecom.openclaw.*jest obsługiwane). - Gdy włączony jest tryb lokalny, aplikacja upewnia się, że LaunchAgent jest załadowany, i uruchamia Gateway w razie potrzeby.
- Logi są zapisywane w ścieżce logów gateway launchd (widocznej w ustawieniach debugowania).
Typowe polecenia:
launchctl kickstart -k gui/$UID/ai.openclaw.gateway
launchctl bootout gui/$UID/ai.openclaw.gateway
Zastąp etykietę ai.openclaw.<profile>, gdy uruchamiasz nazwany profil.
Niepodpisane kompilacje deweloperskie
scripts/restart-mac.sh --no-sign służy do szybkich lokalnych kompilacji, gdy nie masz
kluczy podpisujących. Aby zapobiec wskazywaniu przez launchd na niepodpisany plik binarny przekaźnika, skrypt:
- Zapisuje
~/.openclaw/disable-launchagent.
Podpisane uruchomienia scripts/restart-mac.sh usuwają to nadpisanie, jeśli znacznik jest
obecny. Aby zresetować ręcznie:
rm ~/.openclaw/disable-launchagent
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ącego Gateway. To samo
zachowanie możesz przełączyć w ustawieniach debugowania.
Tryb zdalny
Tryb zdalny nigdy nie uruchamia lokalnego Gateway. Aplikacja używa tunelu SSH do zdalnego hosta i łączy się przez ten tunel.
Dlaczego preferujemy launchd
- Automatyczne uruchamianie przy logowaniu.
- Wbudowana semantyka restartu/KeepAlive.
- Przewidywalne logi i nadzór.
Jeśli prawdziwy tryb procesu potomnego będzie kiedykolwiek ponownie potrzebny, powinien zostać udokumentowany jako oddzielny, jawny tryb wyłącznie deweloperski.