Configuration
Kanal konumu ayrıştırma
OpenClaw, sohbet kanallarından paylaşılan konumları şu biçimlere normalleştirir:
- gelen gövdeye eklenen kısa koordinat metni ve
- otomatik yanıt bağlamı yükündeki yapılandırılmış alanlar. Kanal tarafından sağlanan etiketler, adresler ve açıklamalar/yorumlar, kullanıcı gövdesine satır içi olarak değil, paylaşılan güvenilmeyen meta veri JSON bloğu aracılığıyla istemde işlenir.
Şu anda desteklenenler:
- LINE (başlık/adres içeren konum mesajları)
- Matrix (
m.locationilegeo_uri) - Telegram (konum işaretleri + mekânlar + canlı konumlar)
- WhatsApp (
locationMessage+liveLocationMessage)
Metin biçimlendirme
Konumlar, köşeli ayraçlar olmadan anlaşılır satırlar hâlinde işlenir. Koordinatlarda altı ondalık basamak kullanılır; doğruluk tam metreye yuvarlanır:
- İşaret:
📍 48.858844, 2.294351 ±12m
- Adlandırılmış yer (aynı satırda; ad/adres yalnızca meta veri bloğuna gider):
📍 48.858844, 2.294351 ±12m
- Canlı paylaşım:
🛰 Live location: 48.858844, 2.294351 ±12m
Kanal bir etiket, adres veya açıklama/yorum içeriyorsa bu, bağlam yükünde korunur ve istemde çitle çevrili güvenilmeyen JSON olarak görünür (mevcut olmayan alanlar atlanır):
Konum (güvenilmeyen meta veri):```json{ "latitude": 48.858844, "longitude": 2.294351, "accuracy_m": 12, "source": "place", "name": "Eyfel Kulesi", "address": "Champ de Mars, Paris", "caption": "Burada buluşalım"}```Bağlam alanları
Bir konum mevcut olduğunda şu alanlar ctx içine eklenir:
LocationLat(sayı)LocationLon(sayı)LocationAccuracy(sayı, metre; isteğe bağlı)LocationName(dize; isteğe bağlı)LocationAddress(dize; isteğe bağlı)LocationSource(pin | place | live)LocationIsLive(boole değeri)LocationCaption(dize; isteğe bağlı)
Kanal açık bir kaynak belirtmediğinde OpenClaw bunu çıkarır: canlı paylaşımlar live, adı veya adresi olan konumlar place, diğer her şey pin olur.
İstem işleyicisi LocationName, LocationAddress ve LocationCaption alanlarını güvenilmeyen meta veri olarak ele alır ve bunları diğer kanal bağlamları için kullanılan aynı sınırlandırılmış JSON yolu üzerinden serileştirir.
Giden yükler
Mesaj aracı ve Plugin SDK, taşınabilir giden konumlar için aynı NormalizedLocation biçimini kullanır. Yalnızca koordinat içeren bir yük, bir işareti temsil eder. Yerel mekân desteğine sahip kanallar, name ile address alanlarını bir mekân kartına eşleyebilir.
Telegram şu anda bunu message(action="send") üzerinden sunar. İlk uygulaması bilinçli olarak bağımsızdır: konum yükleri metin veya medyayla karıştırılamaz ve eksik mekân çiftleri, bir adı veya adresi sessizce atmak yerine başarısız olur. Desteklenmeyen kanallar konum parametresini kullanıma sunmaz.
Kanal notları
- LINE: konum mesajındaki
title/address,LocationName/LocationAddressalanlarına eşlenir; canlı konum desteği yoktur. - Matrix:
geo_uribir konum işareti olarak ayrıştırılır;u(belirsizlik) parametresiLocationAccuracyalanına eşlenir, olay gövdesiLocationCaptionalanını doldurur, rakım yok sayılır veLocationIsLiveher zaman false olur. - Telegram: mekânlar
LocationName/LocationAddressalanlarına eşlenir; canlı konumlarlive_periodaracılığıyla algılanır. - WhatsApp:
locationMessage.commentveliveLocationMessage.caption,LocationCaptionalanını doldurur.