Back to home@HorusJiang

dsh-map-tools

No description

Stars
0
Language
TypeScript
Created
Aug 19, 2026
Updated
Aug 19, 2026
GitHub repo

Introduction

dsh-map-tools

English | 中文

地图与路径规划工具插件,为 DeepSeek Harness 提供驾车/公交/步行/骑行路线规划、地理编码、逆地理编码和 POI 搜索等原生工具。

  • 零配置开箱即用:默认使用免费的 OSM/OSRM/Nominatim 数据源,无需任何 API key。
  • 可升级:配置高德(Amap)Web 服务 key 后自动升级为高德数据源(国内数据最全、支持公交换乘与 POI 搜索),配置页内置"如何获取高德 Key?"引导链接。
  • 国内友好:面向国内用户设计,Nominatim 不可达等场景下有清晰的中文降级提示。

安装

dsh plugin --profile web add dsh-map-tools

或通过插件市场(dshmarket)搜索 dsh-map-tools 一键安装。安装后重启 dsh web(或等待 HMR 热加载)。

工具

工具功能OSM 免费源高德百度
map_driving_route驾车路线规划
map_transit_route公交/地铁换乘
map_walking_route步行路线规划
map_bicycling_route骑行路线规划
map_geocode地址 → 经纬度中文不可靠
map_reverse_geocode经纬度 → 地址中文不可靠
map_poi_search兴趣点搜索

起点/终点统一接受 地址文本"lng,lat" 坐标 两种形式,插件自动归一化。

配置

推荐方式:设置页配置卡片(设置 → 插件 → dsh-map-tools)。卡片通过回环路由读写 ~/.dsh-map-tools/config.json,无需重启即生效:

// ~/.dsh-map-tools/config.json
{
  "provider": "amap",          // amap | baidu | osm
  "amapKey": "你的高德Web服务key",  // 二选一
  "baiduAk": "你的百度服务端ak",     // 或二选一
  "timeoutMs": 15000
}

获取 Key

也可以在 cordis.yml 中提供默认值(配置文件中的值优先):

- id: map-tools
  name: dsh-map-tools
  config:
    provider: amap

示例

从北京南站到首都机场T3,规划驾车路线
把"西湖区文三路478号"转成经纬度
116.397428,39.90923 附近 1 公里内有什么加油站?

数据源说明

  • OSRM(router.project-osrm.org):免费公开路线服务,驾车/步行/骑行;公共服务器有频率限制,仅作默认兜底。
  • Nominatim(nominatim.openstreetmap.org):免费公开地理编码,限 1 QPS;部分国内网络环境下不可达,此时地理编码工具会返回中文引导提示。
  • 高德(Amap):国内数据最全(路径规划/地理编码/POI/公交换乘),需要免费 key,配置后质量最优。

开发

pnpm install
pnpm run build                # tsc 构建到 lib/
pnpm test                     # vitest 单元测试(mock 网络)
node scripts/smoke.mjs        # 冒烟测试:验证 7 工具注册
node scripts/integration.mjs  # 集成测试:真实网络请求(OSRM/Nominatim)
node scripts/amap-e2e.mjs     # 高德 e2e:需设置 AMAP_API_KEY 环境变量

发布

npm config set registry https://registry.npmjs.org/
npm login
node scripts/publish.mjs      # 一键发布(构建 + 打包检查 + 发布 + 验证)

许可

MIT