dsh-map-tools
No description
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 19, 2026
- Updated
- Aug 19, 2026
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:
- 高德:https://console.amap.com/dev/key/app(创建应用 → "Web 服务"类型,免费)
- 百度:https://lbsyun.baidu.com/apiconsole/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