Comando posizione (nodi)
In breve
location.getè un comando del nodo (tramitenode.invoke).- Disattivato per impostazione predefinita.
- Le impostazioni dell’app Android usano un selettore: Off / While Using.
- Toggle separato: Precise Location.
Perché un selettore (non solo un interruttore)
I permessi del sistema operativo hanno più livelli. Possiamo esporre un selettore nell’app, ma il sistema operativo decide comunque l’autorizzazione effettiva.- iOS/macOS possono esporre While Using o Always nei prompt/impostazioni di sistema.
- L’app Android attualmente supporta solo la posizione in foreground.
- La posizione precisa è un’autorizzazione separata (iOS 14+ “Precise”, Android “fine” vs “coarse”).
Modello delle impostazioni
Per dispositivo nodo:location.enabledMode:off | whileUsinglocation.preciseEnabled: bool
- Selezionare
whileUsingrichiede l’autorizzazione in foreground. - Se il sistema operativo nega il livello richiesto, torna al livello massimo concesso e mostra lo stato.
Mappatura dei permessi (node.permissions)
Opzionale. Il nodo macOS segnala location tramite la mappa dei permessi; iOS/Android possono ometterlo.
Comando: location.get
Chiamato tramite node.invoke.
Parametri (consigliati):
LOCATION_DISABLED: il selettore è disattivato.LOCATION_PERMISSION_REQUIRED: autorizzazione mancante per la modalità richiesta.LOCATION_BACKGROUND_UNAVAILABLE: l’app è in background, ma è consentito solo While Using.LOCATION_TIMEOUT: nessun fix ricevuto in tempo.LOCATION_UNAVAILABLE: errore di sistema / nessun provider disponibile.
Comportamento in background
- L’app Android nega
location.getquando è in background. - Mantieni OpenClaw aperto quando richiedi la posizione su Android.
- Altre piattaforme nodo possono comportarsi diversamente.
Integrazione con modello/tooling
- Superficie tool: il tool
nodesaggiunge l’azionelocation_get(nodo richiesto). - CLI:
openclaw nodes location get --node <id>. - Linee guida per l’agente: chiamare solo quando l’utente ha abilitato la posizione e ne comprende l’ambito.
Testo UX (consigliato)
- Off: “La condivisione della posizione è disabilitata.”
- While Using: “Solo quando OpenClaw è aperto.”
- Precise: “Usa la posizione GPS precisa. Disattiva per condividere una posizione approssimativa.”