频道位置解析
OpenClaw 将聊天频道中的共享位置规范化为:
- 附加到传入正文的人类可读文本,以及
- 自动回复上下文负载中的结构化字段。
目前支持:
- Telegram (位置标记 + 场所 + 实时位置)
- WhatsApp (locationMessage + liveLocationMessage)
- Matrix (
m.locationwithgeo_uri)
文本格式
位置以不带括号的友好行呈现:
- 标记:
📍 48.858844, 2.294351 ±12m
- 命名地点:
📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)
- 实时共享:
🛰 Live location: 48.858844, 2.294351 ±12m
如果频道包含标题/评论,则附加在下一行:
📍 48.858844, 2.294351 ±12m
Meet here
上下文字段
当存在位置时,这些字段会被添加到 ctx:
LocationLat(数字)LocationLon(数字)LocationAccuracy(数字,米;可选)LocationName(字符串;可选)LocationAddress(字符串;可选)LocationSource(pin | place | live)LocationIsLive(布尔值)
频道说明
- Telegram: 场所映射到
LocationName/LocationAddress;实时位置使用live_period。 - WhatsApp:
locationMessage.comment和liveLocationMessage.caption作为标题行附加。 - Matrix:
geo_uri被解析为标记位置;海拔被忽略且LocationIsLive始终为假。