需配置openclaw地理解析skill、微信插件位置透传权限、导航链接生成脚本、消息路由规则,并完成端到端测试,使位置消息自动返回高德或腾讯地图导航卡片。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在微信中接收到好友发送的位置消息,希望 OpenClaw 自动解析该位置并返回高德或腾讯地图的实时导航链接,则需配置 OpenClaw 的地理信息处理能力与微信插件联动机制。以下是实现此功能的具体步骤:
一、启用 OpenClaw 地理位置解析 Skill
该 Skill 负责将微信传入的经纬度坐标或地址文本转换为标准地理编码,并生成第三方地图平台的可点击导航 URL。需确保该 Skill 已加载且权限开放给微信通道。
1、在 OpenClaw 配置目录下进入 skills/geolocation 子文件夹;
2、确认 geolocation.yaml 中的 enabled 字段值为 true;
3、检查 providers 列表是否包含 gaode 和 tencent,二者至少启用其一;
4、执行命令重新加载 Skill:openclaw skills reload geolocation。

二、配置微信 ClawBot 插件支持位置消息透传
默认情况下,微信客户端对位置消息的原始数据(如经纬度、POI 名称、缩略图 URL)仅向官方接口开放,ClawBot 插件需显式声明权限并启用增强解析模式,才能获取完整结构化字段。
1、在微信中打开与 ClawBot 的私聊窗口;
2、发送指令:/config location_access enable;
3、等待 ClawBot 返回确认提示:“位置元数据访问已开启”;
4、重启微信客户端以使权限生效;
5、验证是否成功:长按任意位置消息 → 选择“转发给 ClawBot”,观察 ClawBot 是否返回含 lat、lng、title 的 JSON 响应。

三、部署导航链接自动生成脚本
该脚本监听来自微信通道的 location 类型事件,调用地理 Skill 获取坐标后,拼接标准导航 URL 并以富文本卡片形式回传。脚本需置于 skills/navlink 目录并注册为独立 Skill。
1、创建文件 skills/navlink/navlink.py;
2、写入核心逻辑:从 event.payload 获取 latitude 与 longitude;
3、构造高德导航链接格式:https://uri.amap.com/navigation?from=116.481028,39.996794&to={lng},{lat}&mode=car;
4、构造腾讯地图链接格式:https://apis.map.qq.com/uri/v1/routeplan?from=北京&to={address}&coord_type=1&policy=2&referer=your-app-name;
5、将生成的链接封装为微信支持的 message.card 格式并提交至 reply 接口。

四、设置微信消息路由规则
OpenClaw 默认不自动响应位置消息类型,必须通过 channel router 显式定义匹配策略,将 location 事件导向 navlink Skill 处理链。
1、编辑 config/channels/wechat/router.yaml;
2、在 rules 列表末尾添加新条目;
3、设置 match.type 为 location;
4、设置 target.skill 为 navlink;
5、保存后执行:openclaw config reload channels。
五、测试位置消息自动导航流程
完成全部配置后,需通过真实微信交互验证端到端链路是否畅通,重点确认导航链接可被微信客户端直接识别并唤起地图 App。
1、在微信中向 ClawBot 发送一个位置消息(例如:长按聊天输入框 → 位置 → 选择任意地点);
2、等待 2–5 秒,ClawBot 应返回一条含按钮的卡片消息,标题为“一键导航”;
3、点击卡片中的按钮,手机应自动拉起高德地图或腾讯地图,并显示起点为当前设备位置、终点为目标 POI 的驾车路线;
4、若返回纯文本链接,请检查 wechat/router.yaml 中是否遗漏 format: card 配置项。










