Configuration
Penguraian lokasi channel
OpenClaw menormalkan lokasi bersama dari saluran obrolan menjadi:
- teks koordinat ringkas yang ditambahkan ke isi pesan masuk, dan
- bidang terstruktur dalam payload konteks balasan otomatis. Label, alamat, dan keterangan/komentar yang diberikan saluran dirender ke dalam prompt melalui blok JSON metadata tidak tepercaya bersama, bukan secara inline dalam isi pesan pengguna.
Saat ini didukung:
- LINE (pesan lokasi dengan judul/alamat)
- Matrix (
m.locationdengangeo_uri) - Telegram (pin lokasi + tempat + lokasi langsung)
- WhatsApp (
locationMessage+liveLocationMessage)
Pemformatan teks
Lokasi dirender sebagai baris yang mudah dibaca tanpa tanda kurung. Koordinat menggunakan enam angka desimal; akurasi dibulatkan ke meter utuh:
- Pin:
📍 48.858844, 2.294351 ±12m
- Tempat bernama (baris yang sama; nama/alamat hanya masuk ke blok metadata):
📍 48.858844, 2.294351 ±12m
- Berbagi langsung:
🛰 Live location: 48.858844, 2.294351 ±12m
Jika saluran menyertakan label, alamat, atau keterangan/komentar, informasi tersebut dipertahankan dalam payload konteks dan muncul dalam prompt sebagai JSON tidak tepercaya berpagar (bidang dihilangkan jika tidak ada):
Lokasi (metadata tidak tepercaya):```json{ "latitude": 48.858844, "longitude": 2.294351, "accuracy_m": 12, "source": "place", "name": "Menara Eiffel", "address": "Champ de Mars, Paris", "caption": "Bertemu di sini"}```Bidang konteks
Jika terdapat lokasi, bidang berikut ditambahkan ke ctx:
LocationLat(angka)LocationLon(angka)LocationAccuracy(angka, meter; opsional)LocationName(string; opsional)LocationAddress(string; opsional)LocationSource(pin | place | live)LocationIsLive(boolean)LocationCaption(string; opsional)
Jika saluran tidak menetapkan sumber secara eksplisit, OpenClaw menyimpulkannya: berbagi langsung menjadi live, lokasi dengan nama atau alamat menjadi place, dan semua yang lain menjadi pin.
Perender prompt memperlakukan LocationName, LocationAddress, dan LocationCaption sebagai metadata tidak tepercaya dan menserialisasikannya melalui jalur JSON terbatas yang sama dengan yang digunakan untuk konteks saluran lainnya.
Payload keluar
Alat pesan dan SDK Plugin menggunakan bentuk NormalizedLocation yang sama untuk lokasi keluar portabel. Payload yang hanya berisi koordinat merepresentasikan pin. Saluran dengan dukungan bawaan untuk tempat dapat memetakan name beserta address ke kartu tempat.
Telegram saat ini mengeksposnya melalui message(action="send"). Implementasi pertamanya sengaja dibuat mandiri: payload lokasi tidak dapat digabungkan dengan teks atau media, dan pasangan tempat yang tidak lengkap akan gagal alih-alih menghapus nama atau alamat secara diam-diam. Saluran yang tidak didukung tidak mengiklankan parameter lokasi.
Catatan saluran
- LINE: pesan lokasi
title/addressdipetakan keLocationName/LocationAddress; tidak ada lokasi langsung. - Matrix:
geo_uridiurai sebagai lokasi pin; parameteru(ketidakpastian) dipetakan keLocationAccuracy, isi peristiwa mengisiLocationCaption, ketinggian diabaikan, danLocationIsLiveselalu bernilai false. - Telegram: tempat dipetakan ke
LocationName/LocationAddress; lokasi langsung dideteksi melaluilive_period. - WhatsApp:
locationMessage.commentdanliveLocationMessage.captionmengisiLocationCaption.