Uzaktan erişim (SSH, tüneller ve tailnet’ler)
Bu depo, özel bir ana makinede (masaüstü/sunucu) tek bir Gateway’in (ana) çalışır durumda tutulması ve istemcilerin ona bağlanması yoluyla “SSH üzerinden uzaktan bağlantı”yı destekler.- Operatörler (siz / macOS uygulaması) için: SSH tünelleme evrensel geri dönüş yöntemidir.
- Düğümler (iOS/Android ve gelecekteki cihazlar) için: Gateway WebSocket’ine bağlanın (gerektikçe LAN/tailnet veya SSH tüneli).
Temel fikir
- Gateway WebSocket’i, yapılandırılmış portunuzda loopback’e bağlanır (varsayılan 18789).
- Uzaktan kullanım için bu loopback portunu SSH üzerinden yönlendirirsiniz (ya da bir tailnet/VPN kullanıp daha az tünel açarsınız).
Yaygın VPN/tailnet kurulumları (ajanın bulunduğu yer)
Gateway ana makinesini “ajanın yaşadığı yer” olarak düşünün. Oturumlara, kimlik doğrulama profillerine, kanallara ve duruma sahiptir. Dizüstü/masaüstünüz (ve düğümler) bu ana makineye bağlanır.1. Tailnet’inizde her zaman açık Gateway (VPS veya ev sunucusu)
Gateway’i kalıcı bir ana makinede çalıştırın ve Tailscale veya SSH ile erişin.- En iyi UX:
gateway.bind: "loopback"’yi koruyun ve Control UI için Tailscale Serve kullanın. - Geri dönüş: loopback + erişime ihtiyaç duyan herhangi bir makineden SSH tüneli.
- Örnekler: exe.dev (kolay VM) veya Hetzner (üretim VPS).
2. Ev masaüstü Gateway’i çalıştırır, dizüstü uzaktan kontrol eder
Dizüstü ajanı çalıştırmaz. Uzaktan bağlanır:- macOS uygulamasının SSH üzerinden uzaktan bağlantı modunu kullanın (Ayarlar → Genel → “OpenClaw runs”).
- Uygulama tüneli açar ve yönetir; böylece WebChat + sağlık kontrolleri “kendiliğinden çalışır”.
3. Dizüstü Gateway’i çalıştırır, diğer makinelerden uzaktan erişim
Gateway’i yerelde tutun ancak güvenli biçimde açın:- Diğer makinelerden dizüstüne SSH tüneli açın veya
- Control UI’yi Tailscale Serve ile sunun ve Gateway’i yalnızca loopback’te tutun.
Komut akışı (ne nerede çalışır)
Tek bir gateway servisi durum + kanallara sahiptir. Düğümler çevre birimlerdir. Akış örneği (Telegram → düğüm):- Telegram mesajı Gateway’e ulaşır.
- Gateway ajanı çalıştırır ve bir düğüm aracını çağırıp çağırmayacağına karar verir.
- Gateway, düğümü Gateway WebSocket üzerinden çağırır (
node.*RPC). - Düğüm sonucu döndürür; Gateway Telegram’a yanıt verir.
- Düğümler gateway servisini çalıştırmaz. Kasıtlı olarak yalıtılmış profiller çalıştırmıyorsanız (bkz. Birden çok gateway), ana makine başına yalnızca bir gateway çalışmalıdır.
- macOS uygulamasındaki “düğüm modu”, Gateway WebSocket üzerinden çalışan bir düğüm istemcisidir.
SSH tüneli (CLI + araçlar)
Uzak Gateway WS’ye yerel bir tünel oluşturun:openclaw healthveopenclaw status --deepartıkws://127.0.0.1:18789üzerinden uzak gateway’e erişir.openclaw gateway {status,health,send,agent,call}de gerektiğinde--urlüzerinden yönlendirilen URL’yi hedefleyebilir.
18789’u yapılandırılmış gateway.port ile değiştirin (veya --port/OPENCLAW_GATEWAY_PORT).
Not: --url geçildiğinde, CLI yapılandırma veya ortam kimlik bilgilerine geri dönmez.
--token veya --password’i açıkça ekleyin. Açık kimlik bilgileri eksikse hata oluşur.
CLI uzak varsayılan ayarları
CLI komutlarının varsayılan olarak kullanacağı bir uzak hedefi kalıcı hale getirebilirsiniz:ws://127.0.0.1:18789’da tutun ve önce SSH tünelini açın.
SSH üzerinden Chat UI
WebChat artık ayrı bir HTTP portu kullanmıyor. SwiftUI sohbet UI’si doğrudan Gateway WebSocket’ine bağlanır.18789’yi SSH üzerinden yönlendirin (yukarıya bakın), ardından istemcileriws://127.0.0.1:18789’e bağlayın.- macOS’ta, tüneli otomatik yöneten uygulamanın “SSH üzerinden uzaktan bağlantı” modunu tercih edin.
macOS uygulaması “SSH üzerinden uzaktan bağlantı”
macOS menü çubuğu uygulaması aynı kurulumu uçtan uca yönetebilir (uzak durum kontrolleri, WebChat ve Voice Wake yönlendirme). Çalıştırma kılavuzu: macOS uzaktan erişim.Güvenlik kuralları (uzak/VPN)
Kısa sürüm: Gateway’i yalnızca loopback’te tutun, bağlama gerektiğinden emin değilseniz.- Loopback + SSH/Tailscale Serve en güvenli varsayılandır (genel erişim yok).
- Loopback dışı bağlamalar (
lan/tailnet/customveya loopback kullanılamadığındaauto) kimlik doğrulama belirteçleri/parolaları kullanmalıdır. gateway.remote.tokenyalnızca uzaktan CLI çağrıları içindir — yerel kimlik doğrulamayı etkinleştirmez.gateway.remote.tlsFingerprint,wss://kullanılırken uzak TLS sertifikasını sabitler.- Tailscale Serve,
gateway.auth.allowTailscale: truedurumunda kimlik başlıklarıyla kimlik doğrulaması yapabilir. Belirteç/parola istiyorsanızfalseolarak ayarlayın. - Tarayıcı kontrolünü operatör erişimi gibi ele alın: yalnızca tailnet + bilinçli düğüm eşleştirme.