【Cursor实战】零代码开发一个Dify工作流

Dify简介

Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

Didy官网:cloud.dify.ai/apps

Dify DSL简介

Dify DSL 是由 Dify.AI 所定义的 AI 应用工程文件标准,文件格式为 YML。该标准涵盖应用在 Dify 内的基本描述、模型参数、编排配置等信息。通过DSL文件可以实现Dify应用的快速导入。

Dify DSL文档:docs.dify.ai/zh-hans/gui...

Dify DSL支持 本地文件 和 URL 两种导入方式

|------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|
| | |

为什么要使用Cursor?

很多编程小白在Agent开发过程中,由于对平台和代码不熟悉,遇到需要编写代码进行数据格式转换、网络请求 或者调用API等场景,往往束手无策。这个时候,我们就可以借助代码工具如Cursor来生成扩展工作流。

Dify 应用本质上也是一个代码文件,通过低代码进行工作流配置,最终导出的也是一个代码文件。我们完全可以用自然语言来让Cursor生成DSL文件,再将DSL文件导入到Dify变成可以直接执行的工作流。

实现步骤

添加文档

为了让Cursor了解Dify的功能、生成和使用方式,我们需要将Dify的文档添加到Cursor Docs中。

Dify文档地址:docs.dify.ai/zh-hans

在Cursor设置页面点击【Features】->【Docs】点击【Add new doc】添加Dify文档地址

配置文档名称,点击【Confirm】确认

等待Cursor同步,同步完成后可以看到文档同步结果

接入完成后,验证下文档效果,使用快捷键【Cmd+L】唤起Chat,使用@Docs 找到Dify文档

添加DSL示例

为了让Cursor更准确的理解Dify DSL的文件结构,输出高质量的DSL,我们可以为Cursor添加2个DSL示例。示例1为代码执行,示例2为简单的翻译助手

点击工作流【...】-> 【导出DSL】即可将工作流导出为DSL文件

导出DSL后,将DSL文件放到项目 dify-workflow-demo 目录下为Cursor提供参考

工作流测试

首先让Cursor实现一个简单的2个节点【开始】->【结束】的工作流,看看Cursor是否已经理解了如何创建一个工作流。

less 复制代码
官方文档:@Dify官方文档 
Dify示例:@dify-workflow-demo 
你是一个工作经验丰富的资深Dify工作流大师,帮我实现一个包含开始和结束节点的工作流,直接输出到当前根目录下

😂Cursor好像觉得我的问题太简单了,为我生成了3个工作流示例,一个简单的工作流,2个稍微复杂一点的工作流

在Dify平台,点击【导入DSL文件】选择生成的工作流进行导入

导入简单工作流.yml

执行也是正常的

导入问题分类工作流.yml,工作流导入正常,加载工作流时报错了

导入智能回复工作流.yml,导入正常

工作流也可以正常执行

工作流开发

基于上面的测试,Cursor基本上具备了Dify DSL的开发能力,接下来我们来创建一个专业翻译助手的Dify工作流。

markdown 复制代码
你是一个工作经验丰富的资深Dify工作流大师,请帮我开发一个`专业翻译助手`Dify工作流,请根据我的要求完成Dify工作流的设计和开发。
1. 自动识别输入语言,将用户语言转为目标语言,目标语言没有设置时默认为英文
2. 模型使用`Gemini 1.5 Flash`
## 限制
- 保持原文的语气和风格
- 确保翻译准确、自然、地道
- 对于专业术语要准确把握
- 如果遇到不确定的内容,在翻译后用括号标注说明

工作流生成后点击【Sava all】进行保存,到Dify中导入查看效果

工作流导入正常,但是加载工作流过程中报错了

我们还是先让Cursor帮我们处理

经过几轮发现Cursor并没有解决问题,无意间发现Cursor使用了一个类型为 parameter_extraction 的节点,可能是这个地方的错误,于是重新创建一个参数提取器的工作流导出为Cursor提供参考。

修复完成后,工作流果然成功加载了

这个问题是由于工作流参数提取器节点没有提取到参数导致的,我们为节点提示词加上默认值

最终运行看下效果

可以看到准确输出了翻译结果

总结

在为Cursor提供文档和参考示例的前提下,使用Cursor开发Dify智能体和工作流是可行的,但是Cursor生成的复杂工作流多数情况下会有问题,因为Cursor有时会提供错误的节点类型,最好的解决问题的方案是在Dify平台创建一个相同节点的简单工作流为Cursor提供参考。喜欢探索的小伙伴可以尝试这种方案,不过建议还是使用可视化搭建流程,这种创建工作流的方式目前解决报错的过程是不确定的。

项目地址

项目放到Github了,感兴趣的小伙伴可以自行玩耍

Github地址:github.com/MisterZhouZ...

友情提示

见原文:【Cursor实战】零代码开发一个Dify工作流

本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。

相关推荐
小溪彼岸9 小时前
【Cursor实战】如何快速实现3D动画效果
aigc·cursor
小溪彼岸10 小时前
【Cursor实战】Cursor+Figma MCP通过对话直接生成设计稿
aigc·cursor
小溪彼岸10 小时前
【Cursor实战】Cursor+Figma MCP UI设计稿一键转前端代码
cursor
小溪彼岸10 小时前
【Cursor实战】0基础UI小白如何快速拥有一个产品原型
cursor
Loadings12 小时前
一、深入理解AI编码AutoComplete:原理、架构与实现
程序员·cursor·cline
星际码仔2 天前
Cursor v0.49 更新:自动生成规则、终端命令编辑和MCP识别图像
ai编程·cursor·trae
星际码仔2 天前
Augment Code 深度评测:是下一个 Cursor,还是昙花一现的 SWE-BENCH 冠军?
ai编程·cursor·windsurf
yaocheng的ai分身2 天前
cursor 0.49更新
cursor
SouthernWind3 天前
DeepSeek AI 聊天助手集成指南
前端·cursor