Nodes and media
Perintah lokasi
Ringkasan
location.getadalah perintah node (melaluinode.invoke).- Nonaktif secara default.
- Pengaturan aplikasi Android menggunakan pemilih: Nonaktif / Saat Digunakan.
- Toggle terpisah: Lokasi Tepat.
Mengapa pemilih (bukan sekadar switch)
Izin OS bertingkat. Kita dapat mengekspos pemilih dalam aplikasi, tetapi OS tetap menentukan pemberian izin yang sebenarnya.
- iOS/macOS dapat menampilkan Saat Digunakan atau Selalu di prompt/Pengaturan sistem.
- Aplikasi Android saat ini hanya mendukung lokasi foreground.
- Lokasi tepat adalah izin terpisah (iOS 14+ "Precise", Android "fine" vs "coarse").
Pemilih di UI mengarahkan mode yang kita minta; pemberian izin sebenarnya berada di pengaturan OS.
Model pengaturan
Per perangkat node:
location.enabledMode:off | whileUsinglocation.preciseEnabled: bool
Perilaku UI:
- Memilih
whileUsingmeminta izin foreground. - Jika OS menolak tingkat yang diminta, kembalikan ke tingkat tertinggi yang diberikan dan tampilkan status.
Pemetaan izin (node.permissions)
Opsional. Node macOS melaporkan location melalui peta izin; iOS/Android dapat menghilangkannya.
Perintah: location.get
Dipanggil melalui node.invoke.
Parameter (disarankan):
{
"timeoutMs": 10000,
"maxAgeMs": 15000,
"desiredAccuracy": "coarse|balanced|precise"
}
Payload respons:
{
"lat": 48.20849,
"lon": 16.37208,
"accuracyMeters": 12.5,
"altitudeMeters": 182.0,
"speedMps": 0.0,
"headingDeg": 270.0,
"timestamp": "2026-01-03T12:34:56.000Z",
"isPrecise": true,
"source": "gps|wifi|cell|unknown"
}
Kesalahan (kode stabil):
LOCATION_DISABLED: pemilih nonaktif.LOCATION_PERMISSION_REQUIRED: izin tidak ada untuk mode yang diminta.LOCATION_BACKGROUND_UNAVAILABLE: aplikasi berjalan di latar belakang tetapi hanya Saat Digunakan yang diizinkan.LOCATION_TIMEOUT: tidak ada fix tepat waktu.LOCATION_UNAVAILABLE: kegagalan sistem / tidak ada penyedia.
Perilaku latar belakang
- Aplikasi Android menolak
location.getsaat berjalan di latar belakang. - Biarkan OpenClaw tetap terbuka saat meminta lokasi di Android.
- Platform node lain mungkin berbeda.
Integrasi model/tooling
- Permukaan tool: tool
nodesmenambahkan tindakanlocation_get(node wajib). - CLI:
openclaw nodes location get --node <id>. - Panduan agen: hanya panggil saat pengguna mengaktifkan lokasi dan memahami cakupannya.
Salinan UX (disarankan)
- Nonaktif: "Berbagi lokasi dinonaktifkan."
- Saat Digunakan: "Hanya saat OpenClaw terbuka."
- Tepat: "Gunakan lokasi GPS yang tepat. Matikan toggle untuk membagikan lokasi perkiraan."