Install
openclaw skills install @zxf969175364/test-ai-map-api百度地图 Agent Plan 直连调用 place、direction、geocoding、reverse_geocoding、weather 五类能力。
openclaw skills install @zxf969175364/test-ai-map-api提供大模型直接调用百度地图能力,支持语义化 AI 搜索、智能路线规划、天气查询、地理编码与逆地理编码。
所有能力统一使用:
Base URL:
https://api.map.baidu.com/
SK(Service Key)是调用所有 API 的必须凭证:
BAIDU_MAP_AUTH_TOKEN。export BAIDU_MAP_AUTH_TOKEN="你的SK"
调用所有 API 时,统一通过 Header 传入:
Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN示例:
curl --get "https://api.map.baidu.com/agent_plan/v1/place" \
-H "Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN" \
--data-urlencode "user_raw_request=帮我找北京可带宠物的咖啡馆" \
--data-urlencode "region=北京市"
user_raw_request 必须是完整的用户需求,不可压缩为关键词。user_raw_request 出现“我附近”等非明确地点时,可根据上下文为用户推理为具体地点名称,但不可对坐标进行推理。user_raw_request 需保留定语/约束词,例如“评分最高”“最近”“最便宜”“3公里内”。center / location / refer_pois 仅可来自用户明确提供或可信来源,当无可靠坐标时,必须先向用户澄清或先调用 geocoding / place 等工具获取。Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN。gcj02。direction 可能返回两类结果:路线结果,或起终点澄清结果。当返回起终点澄清结果时,应先根据用户需求推理最合理候选;若仍无法唯一确定,应引导用户在候选中选择后再继续规划。GET /agent_plan/v1/place
Required:
user_raw_request: 用户原始需求,原样完整传入,不可压缩为关键词;保留约束词(如“评分最高”“最近”“3公里内”)region: 城市或区域限制Optional:
center: 检索中心点和排序参考点(lat,lng,gcj02)sort: distance 或 relevance(默认 relevance)Rules:
sort=distance 时,center 必传center 只能来自用户明确提供或可信来源,禁止推测/编造,可通过 geocoding / place 等工具获取Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN# 1) 帮我查一下八达岭长城附近的五星级酒店
curl --get "https://api.map.baidu.com/agent_plan/v1/place" \
-H "Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN" \
--data-urlencode "user_raw_request=帮我查一下八达岭长城附近的五星级酒店" \
--data-urlencode "region=延庆区" \
--data-urlencode "sort=relevance"
# 2) 离我最近的火锅店(distance 排序)
curl --get "https://api.map.baidu.com/agent_plan/v1/place" \
-H "Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN" \
--data-urlencode "user_raw_request=离我最近的火锅店" \
--data-urlencode "region=北京市" \
--data-urlencode "center=40.056800,116.308300" \
--data-urlencode "sort=distance"
POST /agent_plan/v1/direction
Content-Type: application/x-www-form-urlencoded
Required:
user_raw_request: 用户原始需求,包含起点和终点;保留路线约束词,需要推理并改写用户原始的交通方式location: 用户当前位置坐标(lat,lng,gcj02)Optional:
refer_pois: 地点精确映射,格式 地点名称:uid,纬度,经度;地点名称:uid,纬度,经度Rules:
user_raw_request 中出现其他交通方式时,需要改写到这四种交通方式location 当起点有歧义(如同名地标、模糊起点)时,路线规划服务会基于当前位置推理最合理的起点位置refer_pois 默认不传,用于同名地点消歧,仅在user_raw_request中明确有歧义地点时传入refer_pois / location 的经纬度至少保留小数点后 6 位,禁止推测/编造,可通过 geocoding / place 等工具获取Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN# 1) 帮我规划从故宫到颐和园的驾车路线
curl -X POST "https://api.map.baidu.com/agent_plan/v1/direction" \
-H "Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "user_raw_request=帮我规划从故宫到颐和园的驾车路线" \
--data-urlencode "location=39.914590,116.403770"
# 2) “我家”别名映射
curl -X POST "https://api.map.baidu.com/agent_plan/v1/direction" \
-H "Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "user_raw_request=步行去我家附近最近的中餐厅" \
--data-urlencode "location=40.056800,116.308300" \
--data-urlencode "refer_pois=我家:fbc88a21464370106e3e1b52,40.092180,116.345310"
# 2) 交通方式推理改写:从王府井打车去三里屯要多久
curl -X POST "https://api.map.baidu.com/agent_plan/v1/direction" \
-H "Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "user_raw_request=从王府井驾车去三里屯要多久" \
--data-urlencode "location=39.914590,116.403770"
GET /agent_plan/v1/geocoding
Required:
address: 要解析的完整地址Optional:
region: 城市/区域提示(减少歧义)Rules:
Authorization: Bearer $BAIDU_MAP_AUTH_TOKENcurl --get "https://api.map.baidu.com/agent_plan/v1/geocoding" \
-H "Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN" \
--data-urlencode "address=北京市海淀区上地十街10号百度大厦" \
--data-urlencode "region=北京市"
GET /agent_plan/v1/reverse_geocoding
Required:
location: lat,lng 格式坐标(gcj02)Rules:
Authorization: Bearer $BAIDU_MAP_AUTH_TOKENcurl --get "https://api.map.baidu.com/agent_plan/v1/reverse_geocoding" \
-H "Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN" \
--data-urlencode "location=40.056800,116.308300"
GET /agent_plan/v1/weather
Optional:
region: 行政区划名称location: lat,lng 格式坐标(gcj02)Rules:
region 与 location 至少传一个location 传入时,经纬度至少保留小数点后 6 位Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN# 1) 按坐标查询天气
curl --get "https://api.map.baidu.com/agent_plan/v1/weather" \
-H "Authorization: Bearer $BAIDU_MAP_AUTH_TOKEN" \
--data-urlencode "location=38.766230,116.432130"
export BAIDU_MAP_AUTH_TOKEN="<YOUR_BAIDU_MAP_AUTH_TOKEN>"