跳轉到主要內容
OpenClaw 會將聊天頻道分享的位置標準化為:
  • 附加在傳入本文後方的簡短座標文字,以及
  • 自動回覆情境酬載中的結構化欄位。頻道提供的標籤、地址與說明文字/留言會由共用的不受信任中繼資料 JSON 區塊渲染到提示中,而不是內嵌在使用者本文中。
目前支援:
  • LINE(含標題/地址的位置訊息)
  • Matrix(含 geo_urim.location
  • Telegram(位置釘選 + 場所 + 即時位置)
  • WhatsApplocationMessage + liveLocationMessage

文字格式

位置會渲染為不含括號的友善行。座標使用六位小數;準確度會四捨五入為整數公尺:
  • 釘選:
    • 📍 48.858844, 2.294351 ±12m
  • 具名地點(同一行;名稱/地址只會進入中繼資料區塊):
    • 📍 48.858844, 2.294351 ±12m
  • 即時分享:
    • 🛰 Live location: 48.858844, 2.294351 ±12m
如果頻道包含標籤、地址或說明文字/留言,會保留在情境酬載中,並在提示中顯示為圍欄式不受信任 JSON(缺少的欄位會省略):
Location (untrusted metadata):
```json
{
  "latitude": 48.858844,
  "longitude": 2.294351,
  "accuracy_m": 12,
  "source": "place",
  "name": "Eiffel Tower",
  "address": "Champ de Mars, Paris",
  "caption": "Meet here"
}
```

情境欄位

存在位置時,這些欄位會加入 ctx
  • LocationLat(數字)
  • LocationLon(數字)
  • LocationAccuracy(數字,公尺;選填)
  • LocationName(字串;選填)
  • LocationAddress(字串;選填)
  • LocationSourcepin | place | live
  • LocationIsLive(布林值)
  • LocationCaption(字串;選填)
當頻道未設定明確來源時,OpenClaw 會推斷來源:即時分享會成為 live,含名稱或地址的位置會成為 place,其他所有位置則為 pin 提示渲染器會將 LocationNameLocationAddressLocationCaption 視為不受信任的中繼資料,並透過與其他頻道情境相同的有界 JSON 路徑序列化。

頻道注意事項

  • LINE:位置訊息 title/address 會對應到 LocationName/LocationAddress;沒有即時位置。
  • Matrixgeo_uri 會解析為釘選位置;u(不確定性)參數會對應到 LocationAccuracy,事件本文會填入 LocationCaption,高度會被忽略,且 LocationIsLive 一律為 false。
  • Telegram:場所會對應到 LocationName/LocationAddress;即時位置會透過 live_period 偵測。
  • WhatsApplocationMessage.commentliveLocationMessage.caption 會填入 LocationCaption

相關