macOS companion app
Cykl życia Gateway na macOS
Aplikacja macOS domyślnie zarządza Gateway za pośrednictwem launchd i nie
uruchamia Gateway jako procesu potomnego. Najpierw próbuje połączyć się z już
uruchomionym Gateway na skonfigurowanym porcie; jeśli żaden nie jest osiągalny,
włącza usługę launchd za pomocą zewnętrznego CLI openclaw (bez osadzonego
środowiska uruchomieniowego). Zapewnia to niezawodne automatyczne uruchamianie
podczas logowania i ponowne uruchamianie po awariach.
Tryb procesu potomnego (Gateway uruchamiany bezpośrednio przez aplikację) nie jest obecnie używany. Jeśli potrzebujesz ściślejszej integracji z interfejsem użytkownika, uruchom Gateway ręcznie w terminalu.
Domyślne działanie (launchd)
- Aplikacja instaluje dla użytkownika agenta LaunchAgent z etykietą
ai.openclaw.gateway(lubai.openclaw.<profile>podczas używania--profile/OPENCLAW_PROFILE). - Gdy włączony jest tryb lokalny, aplikacja zapewnia załadowanie agenta LaunchAgent i w razie potrzeby uruchamia Gateway.
- Dzienniki są zapisywane w ścieżce dziennika Gateway usługi launchd (widocznej w ustawieniach debugowania).
Często używane polecenia:
launchctl kickstart -k gui/$UID/ai.openclaw.gatewaylaunchctl bootout gui/$UID/ai.openclaw.gatewayW przypadku uruchamiania nazwanego profilu zastąp etykietę wartością
ai.openclaw.<profile>.
Niepodpisane kompilacje deweloperskie
scripts/restart-mac.sh --no-sign służy do szybkiego tworzenia lokalnych
kompilacji bez kluczy podpisujących. Aby usługa launchd nie wskazywała
niepodpisanego pliku binarnego przekaźnika, skrypt zapisuje plik
~/.openclaw/disable-launchagent.
Podpisane uruchomienia skryptu scripts/restart-mac.sh usuwają to nadpisanie,
jeśli znacznik jest obecny. Aby zresetować je ręcznie:
rm ~/.openclaw/disable-launchagentTryb wyłącznie dołączania
Aby aplikacja macOS nigdy nie instalowała ani nie zarządzała usługą launchd,
uruchom ją z opcją --attach-only (lub --no-launchd). Powoduje to ustawienie
~/.openclaw/disable-launchagent, dzięki czemu aplikacja łączy się wyłącznie z
już uruchomionym Gateway. To samo zachowanie można 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 podczas logowania.
- Wbudowana semantyka ponownego uruchamiania/KeepAlive.
- Przewidywalne dzienniki i nadzór.
Jeśli rzeczywisty tryb procesu potomnego będzie kiedykolwiek ponownie potrzebny, należy udokumentować go jako osobny, jawny tryb przeznaczony wyłącznie do programowania.