news 2026/9/16 16:23:32

Dify高德地图MCP实操教程:3步让聊天助手获得定位与天气查询能力

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Dify高德地图MCP实操教程:3步让聊天助手获得定位与天气查询能力

Dify高德地图MCP实操教程:3步让聊天助手获得定位与天气查询能力

【免费下载链接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows.项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow

打开 Dify 的预览对话框,输入"查询上海的天气",机器人会按天列出未来几天的温度、风力和天气状况,全程没有写一行代码,只导入了一个 yml 模板、贴了一个 Key。这个项目叫 Awesome-Dify-Workflow,是一套用起来即走的 Dify(低代码构建大模型应用的平台)工作流模板合集,其中 DSL 目录下的 MCP-amap.yml 接入了高德地图的 MCP 服务(让大模型直接调用外部工具的一套标准协议),Dify 就能调用地图接口查天气、查地点、规划路线。

前置准备:Dify版本、高德Key与MCP插件清单

  • Dify 版本:0.13.0 以上。Agent 节点是 1.0 之后的功能,用最新版导入最顺。
  • Dify 账号与模型:注册云端账号或用 Docker 自建,在模型供应商设置里添加一个支持 function calling(模型按参数自主选工具调用的能力,简称 FC)的模型,比如 GPT-4o-mini。
  • 高德开放平台 Key:注册开发者账号,创建应用后申请"Web 服务"类型的 Key,免费额度每天 3000 次调用,个人项目够用。
  • MCP Agent 插件:在 Dify 插件市场搜索并安装 MCP Agent 插件,这个模板的 Agent 策略依赖它。
  • 仓库文件:要导入的模板是DSL/MCP-amap.yml

实现步骤:导入模板并配置MCP服务地址

第 1 步:拿到模板文件。

把仓库克隆到本地,在 DSL 文件夹里找到 MCP-amap.yml:

git clone https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow

成功标准:ls DSL | grep amap输出MCP-amap.yml。如果不想克隆,也可以打开仓库里这个文件的页面,右键选择"Copy Link Address"拿到文件地址,留给第 2 步用。

文件详情页右键选"Copy Link Address",得到的原始文件地址可以直接粘给 Dify。

第 2 步:把 DSL 导入 Dify。

进入工作区,点"创建应用",选"导入 DSL 文件",选择本地的 MCP-amap.yml 或粘贴文件地址:

左侧"创建应用"菜单里点"导入 DSL 文件",选中本地模板即可生成应用。

成功标准:工作区多出一个名叫 MCP 的应用,画布上是开始 → Agent → 直接回复三个节点依次连线。

第 3 步:配置 MCP 服务地址。

点开 Agent 节点,在"MCP 服务器地址"一栏把 Key 粘到https://mcp.amap.com/sse?key=后面,模型选你准备好的 FC 模型。核心配置如下:

mcp_server: type: constant value: https://mcp.amap.com/sse?key={{ env.AMAP_KEY }} instruction: type: constant value: 通过amap的服务,进行必要的查询

开发阶段直接把 Key 明文粘进地址栏也能跑;生产环境建议用环境变量引用,别让 Key 躺在文件里。

成功标准:点顶部"预览",输入"使用amap,查询上海的天气",右侧按天返回温度、风力、天气,运行日志没有红色报错。

左侧是 Agent 节点的 MCP 服务器地址与指令,右侧预览窗口返回了上海连续多天的天气预报。

第 4 步:验证多工具组合调用。

在 Agent 节点里查看"工具列表",模板内置了一个"获取当前时间"的 builtin 工具,查询字段引用的是用户输入,最大迭代次数默认 3 次:

query: type: constant value: '{{#sys.query#}}'

成功标准:问一句"北京今天天气如何,适合出门吗",回复里同时出现当天日期、北京天气和出门建议,说明 Agent 能自己协调 amap 工具和内置时间工具。

实战案例:两组真实查询对话

案例一:多日天气查询

输入:

使用amap,查询上海的天气

输出(真实运行结果,节选):

上海的天气预报如下:

  • 2025年4月16日(周三):白天 30°C 阴,晚上 20°C 阴,南风 1-3级
  • 2025年4月17日(周四):白天 33°C 多云,晚上 19°C 晴,西北风 1-3级
  • 2025年4月18日(周五):白天 31°C 晴……

Agent 从"上海"两个词里自己解析出了城市,不需要你提供经纬度。

案例二:地点查询加路线规划

输入:

从上海中心大厦到外滩怎么走

输出:

推荐路线:上海中心大厦出发,沿陆家嘴环路向南,全程约 5.2 公里,驾车约 15 分钟;步行约 1.3 万步,不建议。

路线、距离、耗时都来自 amap 的路径规划工具,Agent 再把结果组织成人话。

避坑与优化:4个高频问题

问:Key 明文写在 yml 里,想把模板分享给同事,怎么防泄露?

答:Dify 里改用环境变量引用 {{ env.AMAP_KEY }},文件里不留 Key;申请 Key 时权限只勾"Web 服务",不勾 JS API 和移动端;一旦泄露,去高德开放平台控制台直接重置,旧 Key 立即失效。

问:第一次查询很卡,响应要 5 秒以上,是网络问题吗?

答:一般不是。MCP 走 SSE(服务器单向推送协议)长连接,首轮要把工具清单完整拉一遍,天然偏慢;同一会话里第二轮开始会明显变快。另外把最大迭代次数保持 3 次、模型选小一号的,耗时还能再降。

问:导入后 Agent 节点显示灰色,或报"策略插件未找到"?

答:模板依赖 MCP Agent 插件。去 Dify 插件市场搜到它并安装,再重新打开应用;换新机器导入时同样要先装插件,别跳过。

问:机器人回复"无法获取位置信息",或者返回 key 无效?

答:按顺序查三处:Key 类型是不是"Web 服务"(JS API 的 Key 调不了 MCP);地址栏?key=后面有没有多打空格;当天 3000 次免费额度是否用完,这个也能在高德开放平台控制台看到。

下一步:改一句指令接入你的业务

到这里,你已经有了一个带地理能力的聊天助手:一个模板、一个 Key、三步配置,天气、地点、路线查询都能用。接下来打开 DSL/MCP-amap.yml,把instruction字段改成你的业务指令(比如"所有出行类问题都基于 amap 数据回答,并给出出发时间建议"),保存后立刻生效。同目录下的Agent工具调用.yml也值得对照着看,能帮你理解 Agent 策略的写法。

【免费下载链接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows.项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 16:21:56

LunaTV项目启动前提:为何技术写作必须基于真实输入

我无法根据当前输入生成符合要求的博文。原因如下:项目标题“LunaTV”本身是一个典型的产品/应用名称,但项目正文为空、关键词为空、摘要描述为空,且未提供任何实质性背景信息(如:它是开源项目?商业App&…

作者头像 李华
网站建设 2026/9/16 16:21:02

npm核心机制与高频报错排查:从依赖管理到工程实践

搞前端这几年,有个特别常见的场景:项目跑得好好的,突然某天npm install报一堆错,同事翻开终端盲打三件套——删node_modules、清缓存、重装。有时候管用,有时候折腾半天还是老样子。问题就在于,很多人只记住…

作者头像 李华
网站建设 2026/9/16 16:19:57

开源商业化转型:机遇、挑战与实战策略

1. 开源商业化的时代机遇开源软件正在经历从"社区共建"到"商业共赢"的关键转型期。根据Linux基金会最新报告,2024年企业级开源软件采用率已达82%,但其中实现商业转化的项目不足35%。这种供需落差恰恰构成了开源商业化的黄金窗口——…

作者头像 李华