Command lokasi (node)
TL;DR
location.getadalah command node (melaluinode.invoke).- Nonaktif secara default.
- Pengaturan app Android menggunakan pemilih: Off / While Using.
- Toggle terpisah: Precise Location.
Mengapa pemilih (bukan hanya sakelar)
Izin OS memiliki beberapa level. Kita dapat menampilkan pemilih di dalam app, tetapi OS tetap menentukan grant yang sebenarnya.- iOS/macOS dapat menampilkan While Using atau Always di prompt/Pengaturan sistem.
- App Android saat ini hanya mendukung lokasi foreground.
- Lokasi presisi adalah grant terpisah (iOS 14+ “Precise”, Android “fine” vs “coarse”).
Model pengaturan
Per perangkat node:location.enabledMode:off | whileUsinglocation.preciseEnabled: bool
- Memilih
whileUsingmeminta izin foreground. - Jika OS menolak level yang diminta, kembalikan ke level tertinggi yang diberikan dan tampilkan status.
Pemetaan izin (node.permissions)
Opsional. Node macOS melaporkan location melalui peta izin; iOS/Android dapat mengabaikannya.
Command: location.get
Dipanggil melalui node.invoke.
Params (disarankan):
LOCATION_DISABLED: pemilih nonaktif.LOCATION_PERMISSION_REQUIRED: izin untuk mode yang diminta tidak ada.LOCATION_BACKGROUND_UNAVAILABLE: app berada di latar belakang tetapi hanya While Using yang diizinkan.LOCATION_TIMEOUT: tidak ada fix tepat waktu.LOCATION_UNAVAILABLE: kegagalan sistem / tidak ada penyedia.
Perilaku latar belakang
- App Android menolak
location.getsaat berada di latar belakang. - Biarkan OpenClaw tetap terbuka saat meminta lokasi di Android.
- Platform node lain mungkin berbeda.
Integrasi model/tooling
- Permukaan tool: tool
nodesmenambahkan actionlocation_get(node wajib). - CLI:
openclaw nodes location get --node <id>. - Pedoman agen: panggil hanya saat pengguna telah mengaktifkan lokasi dan memahami cakupannya.
Teks UX (disarankan)
- Off: “Berbagi lokasi dinonaktifkan.”
- While Using: “Hanya saat OpenClaw terbuka.”
- Precise: “Gunakan lokasi GPS presisi. Nonaktifkan untuk membagikan lokasi perkiraan.”