Channel 位置解析
OpenClaw 会把聊天 Channel 中分享的位置信息统一处理成:
- 人类可读的文本,附加到入站消息正文中
- 结构化字段,添加到自动回复的 Context 数据中
目前支持:
- Telegram(位置图钉 + 地点 + 实时位置)
- WhatsApp(locationMessage + liveLocationMessage)
- Matrix(带
geo_uri的m.location)
文本格式
位置信息会渲染成友好的文本行,不带方括号:
- 图钉:
📍 48.858844, 2.294351 ±12m
- 命名地点:
📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)
- 实时共享:
🛰 Live location: 48.858844, 2.294351 ±12m
如果 Channel 消息包含说明文字或评论,会附加在下一行:
📍 48.858844, 2.294351 ±12m
Meet here
Context 字段
当消息包含位置信息时,这些字段会添加到 ctx 中:
LocationLat(数字)LocationLon(数字)LocationAccuracy(数字,单位米;可选)LocationName(字符串;可选)LocationAddress(字符串;可选)LocationSource(pin | place | live)LocationIsLive(布尔值)
Channel 说明
- Telegram:地点(venues)会映射到
LocationName/LocationAddress;实时位置使用live_period。 - WhatsApp:
locationMessage.comment和liveLocationMessage.caption会作为说明文字附加。 - Matrix:
geo_uri会解析为图钉位置;海拔信息会被忽略,LocationIsLive始终为 false。