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 OmeniaClaw (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.OmeniaClaw.gateway(lubai.OmeniaClaw.<profile>przy użyciu--profile/OmeniaClaw_PROFILE; starszecom.OmeniaClaw.*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.OmeniaClaw.gatewaylaunchctl bootout gui/$UID/ai.OmeniaClaw.gatewayZastąp etykietę ai.OmeniaClaw.<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
~/.OmeniaClaw/disable-launchagent.
Podpisane uruchomienia scripts/restart-mac.sh usuwają to nadpisanie, jeśli znacznik jest
obecny. Aby zresetować ręcznie:
rm ~/.OmeniaClaw/disable-launchagentTryb 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 ~/.OmeniaClaw/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.