微信扫码
添加专属顾问
我要投稿
探索如何巧妙结合n8n工作流与Dify API,实现更高效的AIOps自动化流程。核心内容: 1. Dify Agent在MCP工具调用上的优势解析 2. n8n工作流中集成Dify API的详细步骤 3. 流式数据处理的JavaScript代码实现方案
研究Aiops有一段时间了,目前手里有不少可落地的方案了,接下来会把这些方案全部整理到我的大模型课程里。同时,欢迎大家把你遇到的场景在评论区留言。我会在能力范围内给你提供思路和建议。
昨天这篇文章dify" data-itemshowtype="0" linktype="text" data-linktype="2">Aiops探索:这个场景我决定放弃n8n而是选择Dify如果你看过,那你也就理解我为什么要在n8n里调用Dify了。
原因只有一个,Dify的Agent里调用MCP工具效果非常好,而n8n无法实现这样的效果。我既想用n8n的工作流但同时还想用Dify Agent的效果。所以就有了今天这篇文章。
首先,要了解如何访问Dify的API,点击左侧的访问API
就能看到Dify官方提供的API示例
点击右上角的“API 密钥”,先创建一个API key。然后通过这个curl命令来测一下API的连通性
说明:其中api_key就是你刚刚创建的密钥,query就是我们要发给这个agent的问题,files可以不带。
curl -X POST 'http://192.168.186.138/v1/chat-messages' \--header 'Authorization: Bearer app-xxx' \--header 'Content-Type: application/json' \--data-raw '{"inputs": {},"query": "查看ansible版本","response_mode": "streaming","conversation_id": "","user": "n8n-user"}'
它返回的结果是一大堆数据块,这是因为我们用的是流式输出("response_mode": "streaming")。
而Dify的Agent又不支持阻塞模式("response_mode": "blocking")
也正是因为这个问题,我们必须要在n8n里增加一个code节点来拼凑这些数据块。下面来看看如何在n8n里调用Dify的API。
节点1:Chat Trigger
用来发送我们的指令,比如:“给主机aming01安装nginx”、“查看aming02机器的磁盘使用情况”、“检查aming03机器上是否运行mysql服务”等等
节点2:HTTP Request
这个节点用来请求Dify的API,具体的设置,请看以下截图
这些完全是根据前面那个curl命令来的。
节点3:code(JavaScript)
这个节点的作用就是将流式输出的数据块合成为一个文本,代码内容是这样的:
// 获取 HTTP Request 节点返回的原始字符串// 请确保前一个节点返回的字段名是 'data' (n8n HTTP Request 默认非 JSON 响应通常存在这)const rawData = items[0].json.data;let fullAnswer = "";if (rawData) {// 1. 按行分割数据 (处理 SSE 流)const lines = rawData.split('\n');// 2. 遍历解析for (const line of lines) {// 只处理以 "data: " 开头的有效行if (line.startsWith('data: ')) {// 去掉前缀,提取 JSON 字符串const jsonStr = line.substring(6).trim();// 遇到 [DONE] 则结束if (jsonStr === '[DONE]') break;try {const json = JSON.parse(jsonStr);// 🎯 核心过滤逻辑:// 只拼接 'agent_message' (Agent模式) 或 'message' (Chat模式)// 自动过滤掉 'agent_thought' (思考过程) 和 'ping' 等无关信息if (['agent_message', 'message'].includes(json.event)) {fullAnswer += json.answer;}} catch (e) {// 忽略解析失败的行(防止因个别坏数据导致流程崩溃)}}}}// 3. 返回干净的结果// 大多数 n8n Chat Trigger 默认寻找 'text' 或 'output' 字段return [{json: {text: fullAnswer // 这里只包含最终拼接好的、易读的 Markdown 文本}}];
来看一下最终的效果
扫码咨询优惠(粉丝折扣大)
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-12-17
Dify 从不被看好到 GitHub Top 50 的项目,垄断日本市场,它到底做对了什么
2025-12-17
Dify如何接入本地大模型?
2025-12-17
Aiops探索:这个场景我决定放弃n8n而是选择Dify
2025-12-14
Aiops探索:用Dify做一个基于LLM的ChatOps,从此我们的运维工作变得超级轻松
2025-12-13
告别慢检索!Dify知识库调优指南:既快又准的平衡艺术
2025-12-10
Dify v1.10.1升级到Dify v1.10.1-fix.1遇到了唯一问题!
2025-12-08
核弹级漏洞!Dify中招,刻不容缓,立即修复!
2025-12-05
【紧急预警】Dify 用户速看:Next.js 爆 CVSS 10.0 核弹级漏洞,已被真实验证攻击
2025-10-13
2025-12-05
2025-10-12
2025-09-23
2025-11-11
2025-11-09
2025-12-08
2025-09-30
2025-11-20
2025-12-05
2025-12-17
2025-11-29
2025-09-30
2025-09-23
2025-09-06
2025-09-05
2025-08-29
2025-08-18