Baslangic
macOS'ta Gateway yaşam döngüsü
macOS uygulaması varsayılan olarak Gateway'i launchd aracılığıyla yönetir ve
Gateway'i bir alt süreç olarak başlatmaz. Önce yapılandırılan bağlantı noktasında
zaten çalışmakta olan bir Gateway'e bağlanmayı dener; hiçbirine erişilemiyorsa
harici openclaw CLI aracılığıyla launchd hizmetini etkinleştirir (gömülü
çalışma zamanı yoktur). Bu, oturum açıldığında güvenilir otomatik başlatma ve çökmelerden sonra yeniden başlatma sağlar.
Alt süreç modu (Gateway'in doğrudan uygulama tarafından başlatılması) günümüzde kullanılmamaktadır. Kullanıcı arayüzüyle daha sıkı bir bağlantı gerekiyorsa Gateway'i bir terminalde manuel olarak çalıştırın.
Varsayılan davranış (launchd)
- Uygulama,
ai.openclaw.gatewayetiketli kullanıcı başına bir LaunchAgent yükler (--profile/OPENCLAW_PROFILEkullanılırkenai.openclaw.<profile>). - Yerel mod etkinleştirildiğinde uygulama, LaunchAgent'ın yüklendiğinden emin olur ve gerekirse Gateway'i başlatır.
- Günlükler launchd Gateway günlük yoluna yazılır (Hata Ayıklama Ayarları'nda görülebilir).
Yaygın komutlar:
launchctl kickstart -k gui/$UID/ai.openclaw.gatewaylaunchctl bootout gui/$UID/ai.openclaw.gatewayAdlandırılmış bir profil çalıştırırken etiketi ai.openclaw.<profile> ile değiştirin.
İmzasız geliştirme derlemeleri
scripts/restart-mac.sh --no-sign, imzalama anahtarları olmadan hızlı yerel derlemeler içindir.
launchd'nin imzasız bir aktarma ikili dosyasını göstermesini önlemek için
~/.openclaw/disable-launchagent dosyasını yazar.
scripts/restart-mac.sh ile imzalı çalıştırmalar, işaretçi mevcutsa bu geçersiz kılmayı
temizler. Manuel olarak sıfırlamak için:
rm ~/.openclaw/disable-launchagentYalnızca bağlanma modu
macOS uygulamasını launchd'yi hiçbir zaman yüklememeye veya yönetmemeye zorlamak için
uygulamayı --attach-only (veya --no-launchd) ile başlatın. Bu,
~/.openclaw/disable-launchagent ayarını yapar; böylece uygulama yalnızca zaten
çalışmakta olan bir Gateway'e bağlanır. Aynı davranışı Hata Ayıklama Ayarları'ndan açıp kapatın.
Uzak mod
Uzak mod hiçbir zaman yerel bir Gateway başlatmaz. Uygulama uzak ana makineye bir SSH tüneli kullanır ve bu tünel üzerinden bağlanır.
Neden launchd'yi tercih ediyoruz?
- Oturum açıldığında otomatik başlatma.
- Yerleşik yeniden başlatma/KeepAlive semantiği.
- Öngörülebilir günlükler ve denetim.
Gerçek bir alt süreç moduna yeniden ihtiyaç duyulursa bu, ayrı ve açıkça yalnızca geliştirmeye özel bir mod olarak belgelenmelidir.