Konum komutu (node’lar)
Özet
location.get, bir node komutudur (node.invokeüzerinden).- Varsayılan olarak kapalıdır.
- Android uygulama ayarları bir seçici kullanır: Kapalı / Kullanırken.
- Ayrı anahtar: Kesin Konum.
Neden bir seçici var (yalnızca bir anahtar değil)
OS izinleri çok seviyelidir. Uygulama içinde bir seçici sunabiliriz, ancak gerçek izni yine OS belirler.- iOS/macOS, sistem istemlerinde/Ayarlar’da Kullanırken veya Her Zaman seçeneklerini sunabilir.
- Android uygulaması şu anda yalnızca foreground konumu destekler.
- Kesin konum ayrı bir izindir (iOS 14+ “Precise”, Android’de “fine” ve “coarse”).
Ayarlar modeli
Node cihazı başına:location.enabledMode:off | whileUsinglocation.preciseEnabled: bool
whileUsingseçildiğinde foreground izni istenir.- OS istenen düzeyi reddederse, verilen en yüksek düzeye geri dönülür ve durum gösterilir.
İzin eşlemesi (node.permissions)
İsteğe bağlıdır. macOS node, izinler eşlemesi üzerinden location bildirir; iOS/Android bunu atlayabilir.
Komut: location.get
node.invoke üzerinden çağrılır.
Parametreler (önerilen):
LOCATION_DISABLED: seçici kapalı.LOCATION_PERMISSION_REQUIRED: istenen mod için izin eksik.LOCATION_BACKGROUND_UNAVAILABLE: uygulama arka planda ama yalnızca While Using izni var.LOCATION_TIMEOUT: zamanında konum düzeltmesi alınamadı.LOCATION_UNAVAILABLE: sistem arızası / sağlayıcı yok.
Arka plan davranışı
- Android uygulaması arka plandayken
location.getkomutunu reddeder. - Android’de konum isterken OpenClaw’ı açık tutun.
- Diğer node platformları farklı davranabilir.
Model/araç entegrasyonu
- Araç yüzeyi:
nodesaracılocation_geteylemini ekler (node gereklidir). - CLI:
openclaw nodes location get --node <id>. - Aracı yönergeleri: yalnızca kullanıcı konumu etkinleştirdiğinde ve kapsamı anladığında çağrılmalıdır.
UX metni (önerilen)
- Kapalı: “Konum paylaşımı devre dışı.”
- Kullanırken: “Yalnızca OpenClaw açıkken.”
- Kesin: “Kesin GPS konumunu kullan. Yaklaşık konumu paylaşmak için kapat.”