8.18 位置解析

OpenClaw 将来自聊天渠道的共享位置标准化为人类可读的文本和结构化上下文字段。

概述

渠道位置解析功能允许 OpenClaw 从不同的聊天平台接收和处理位置信息。系统会自动将位置数据转换为统一格式,便于 AI Agent 理解和处理。

支持的平台

  • Telegram:支持位置共享和场所信息
  • WhatsApp:支持位置消息
  • Matrix:支持 geo URI 格式

文本格式示例

1. 位置标记(Pin)

📍 48.858844, 2.294351 ±12m

2. 命名地点

📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)

3. 实时位置共享

🛰 Live location: 48.858844, 2.294351 ±12m

4. 带标题的位置

📍 48.858844, 2.294351 ±12m
在这里见

上下文字段

位置信息会被解析为以下结构化上下文字段:

字段名 说明 示例
LocationLat 纬度 48.858844
LocationLon 经度 2.294351
LocationAccuracy 精度(米) 12
LocationName 地点名称 Eiffel Tower
LocationAddress 地址 Champ de Mars, Paris
LocationSource 来源渠道 telegram
LocationIsLive 是否实时共享 true/false

渠道特性说明

Telegram

  • 支持静态位置和实时位置共享
  • Venue(场所)信息映射到 LocationNameLocationAddress
  • 支持精度信息

WhatsApp

  • 支持位置消息
  • 注释(comments)作为标题追加
  • 提供基本的经纬度信息

Matrix

  • geo_uri 格式解析为位置标记
  • 仅支持基本的经纬度信息
  • 不包含地点名称或地址

在 Agent 中使用位置信息

AI Agent 可以通过上下文字段访问位置信息:

// 示例:在 AGENTS.md 中使用位置上下文
当用户分享位置时:
- 纬度:{{LocationLat}}
- 经度:{{LocationLon}}
- 地点名称:{{LocationName}}
- 地址:{{LocationAddress}}
- 精度:±{{LocationAccuracy}}m

可以使用这些信息提供基于位置的服务或建议。

位置工具集成

OpenClaw 还提供位置相关的工具函数,可以在 Agent 中使用:

  • location_get:获取设备当前位置
  • 位置信息可用于触发基于位置的自动化
  • 支持地理围栏和位置提醒功能
提示
位置信息的可用性取决于具体的聊天平台支持。某些平台可能仅提供基本的经纬度信息,而不提供地点名称或地址。

实际应用场景

  • 导航助手:根据用户位置提供路线指引
  • 本地推荐:推荐附近的餐厅、商店或服务
  • 签到功能:记录用户访问过的地点
  • 位置提醒:到达特定位置时触发通知
  • 位置追踪:实时跟踪实时位置共享

隐私和安全

隐私提示
  • 位置信息是敏感数据,请妥善处理
  • 不要未经许可存储或分享用户的位置信息
  • 遵守相关隐私法律法规(如 GDPR、CCPA)
  • 向用户明确说明位置信息的使用目的

相关文档