64 lines
1.8 KiB
Markdown
64 lines
1.8 KiB
Markdown
---
|
||
read_when:
|
||
- 添加或修改渠道位置解析
|
||
- 在智能体提示或工具中使用位置上下文字段
|
||
summary: 入站渠道位置解析(Telegram + WhatsApp)及上下文字段
|
||
title: 渠道位置解析
|
||
x-i18n:
|
||
generated_at: "2026-02-01T19:21:46Z"
|
||
model: claude-opus-4-5
|
||
provider: pi
|
||
source_hash: 5602ef105c3da7e47497bfed8fc343dd8d7f3c019ff7e423a08b25092c5a1837
|
||
source_path: channels/location.md
|
||
workflow: 14
|
||
---
|
||
|
||
# 渠道位置解析
|
||
|
||
OpenClaw 将聊天渠道中分享的位置标准化为:
|
||
|
||
- 附加到入站消息体的可读文本,以及
|
||
- 自动回复上下文负载中的结构化字段。
|
||
|
||
目前支持:
|
||
|
||
- **Telegram**(位置图钉 + 地点 + 实时位置)
|
||
- **WhatsApp**(locationMessage + liveLocationMessage)
|
||
- **Matrix**(`m.location` 配合 `geo_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` 始终为 false。
|