网淘吧来吧,欢迎您!

Location Awareness

2026-04-01 新闻来源:网淘吧 围观:9
电脑广告
手机广告

位置感知

此技能提供需执行的命令。当用户询问位置时,请运行以下适当的命令。

⚠️ 重要提示:所有命令均使用scripts/location.sh

每条命令都必须通过scripts/location.sh运行。例如:

Location Awareness

用户提问:"步行回家要多久?"
您运行:

scripts/location.sh eta home --mode walk

输出: 4.6公里,步行约45分钟
您直接回复该输出。

请勿直接运行eta或其他子命令——它们不作为独立命令存在。

快速参考——需运行的内容

用户说运行此命令(请精确复制)回复时使用
"我在哪里?"scripts/location.sh status仅显示区域名称
"地图" / "地图链接"scripts/location.sh herewego仅返回URL
"我的坐标是什么?"scripts/location.sh status从输出中提取经纬度
"步行回家需要多久?"scripts/location.sh eta home --mode walk距离 + 时长
"骑自行车到 X 需要多久?"scripts/location.sh eta X --mode bike距离 + 时长
"开车到 X 有多远?"scripts/location.sh eta X --mode car距离 + 时长
"当我到达 Y 时,提醒我 X"scripts/location.sh remind "X" Y简短确认
"我有哪些提醒?"scripts/location.sh reminders项目符号列表或"无"
"列出我的地点"scripts/location.sh places项目符号列表
"列出附近地点"scripts/location.sh places --near按距离排序
"列出我位于市中心的酒吧"scripts/location.sh places --region downtown --category pub筛选后的列表
"将此地点保存为X"scripts/location.sh addplace "X"确认
"删除地点X"scripts/location.sh delplace X确认
"禁用杂货店规则"scripts/location.sh disable grocery确认
"列出我的地理围栏规则"scripts/location.sh geofences项目符号列表
"我上次在X是什么时候?"scripts/location.sh history X日期/时间
“我今天去过哪些地方?”scripts/location.sh history --days 1地点列表
“帮我找找附近的咖啡馆”scripts/location.sh nearby cafe带距离的兴趣点列表
“1公里内有酒吧吗?”scripts/location.sh nearby pub 1000筛选后的兴趣点列表
“这周我在公司待了多久?”scripts/location.sh stats --days 7各地点小时数

回复风格:简洁。无需开场白。不要说“这是您的位置:”。直接给出答案。

所有命令

均通过scripts/location.sh <命令>执行:

命令描述
status当前位置、内部地理围栏、地图链接
我们开始仅提供HERE WeGo地图链接
检查检查已触发的操作/提醒(由cron使用)
地点 [--near] [--区域 R] [--类别 C]列出已保存的地点
地理围栏列出所有地理围栏的完整详情
提醒 <文本> <地点ID>添加一次性位置提醒
提醒事项列出待处理的提醒事项
添加地点 <名称> [半径] [--区域 R] [--类别 C]保存当前位置
编辑地点 <ID> [--名称] [--半径] [--区域] [--类别] [--操作] [--冷却时间]修改地点
删除地点 <ID>删除地点
启用 <ID>/禁用 <ID>切换地理围栏开关状态
history [place] [--days N]我上次在某个地点是什么时候?
nearby <category> [radius]查找附近的兴趣点(咖啡馆、酒吧、餐厅等)
stats [--days N]在每个地点花费的时间、访问次数
proximity <text> <place/lat> [lon] [radius]接近某个位置时发出提醒
eta <place> [--mode walk|bike|car]前往某个地点的行程时间和距离

注意: eta接受已保存的地点名称、坐标 (纬度,经度),或任何地点名称(通过OpenStreetMap进行地理编码,偏向当前位置)。

注意: status如果在已知地点,则返回区域名称;否则,通过反向地理编码返回街道地址(例如,“市中心主街123号”)。

概念

地理围栏— 保存的地点,包含纬度/经度、半径和可选操作。持久保存。

提醒事项— 与地点关联的一次性提醒。送达后删除。

区域/类别— 用于筛选的可选标签(例如,“市中心”、“酒吧”)。


设置(面向管理员)

提供商配置

编辑scripts/config.json

Home Assistant(默认):

{
  "provider": "homeassistant",
  "homeassistant": {
    "url": "https://your-ha.example.com",
    "token": "your-long-lived-token",
    "entity_id": "device_tracker.phone"
  }
}

OwnTracks:

{
  "provider": "owntracks",
  "owntracks": {
    "url": "https://owntracks.example.com",
    "user": "username",
    "device": "phone"
  }
}

通用HTTP:

{
  "provider": "http",
  "http": {
    "url": "https://your-api.com/location",
    "headers": {"Authorization": "Bearer token"}
  }
}

GPSLogger(基于文件):

{
  "provider": "gpslogger",
  "gpslogger": {
    "file": "/path/to/location.json"
  }
}

密钥支持:"env:VAR_NAME"(从环境变量读取)或纯字符串。

替代方案:完全通过环境变量配置(无需config.json):

提供商环境变量
LOCATION_PROVIDERhomeassistantowntracks,http, 或gpslogger(默认:homeassistant)
Home AssistantHA_URL,HA_TOKEN,HA_ENTITY_ID
OwnTracksOWNTRACKS_URL,OWNTRACKS_USER,OWNTRACKS_DEVICE,OWNTRACKS_TOKEN
HTTPLOCATION_HTTP_URL
GPSLoggerGPSLOGGER_FILE

环境变量优先于 config.json 中的值。请在~/.openclaw/.env或你的 shell 环境。

输出格式:大多数查询命令默认输出人类可读的文本。添加--json以获得 JSON 输出(对脚本编写很有用)。

出行速度

scripts/config.json中自定义步行/骑行速度,用于预计到达时间计算:

{
  "speeds_kmh": {
    "walk": 6,
    "bike": 15
  }
}

地理围栏配置

编辑scripts/geofences.json

{
  "geofences": [
    {
      "id": "grocery",
      "name": "Grocery Store",
      "lat": 40.7128,
      "lon": -74.0060,
      "radius_m": 30,
      "action": "shopping_tasks",
      "cooldown_hours": 4,
      "enabled": true,
      "region": "downtown",
      "category": "shop"
    }
  ],
  "location_reminders": [],
  "proximity_alerts": []
}

自动通知(OpenClaw Cron)

使用 OpenClaw 内置的 cron 来运行定期的位置检查。在~/.openclaw/cron/jobs.json中添加一个任务:

{
  "name": "Location Check",
  "schedule": "*/5 * * * *",
  "prompt": "Run scripts/location.sh check --json and notify me of any triggered actions, reminders, or proximity alerts.",
  "channel": "signal",
  "to": "+1234567890",
  "wakeMode": "now"
}

这使调度保持在 OpenClaw 内部,而不需要外部的 systemd 服务。

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏

文章底部电脑广告
手机广告位-内容正文底部
上一篇:Umeå Data 下一篇:Ccsinfo

相关文章

您是本站第364324名访客 今日有76篇新文章/评论