Dify工作流实战:搭建自动整理邮件与生成周报应用
在传统的办公场景中,每周五下午收集分散在各个项目群和邮箱中的进度汇报,是一项耗时且容易遗漏细节的工作。Dify 的工作流功能允许我们将这一过程标准化:从数据源头抓取信息,经过逻辑筛选,最后由 AI 汇总成文。这种自动化链路不仅减少了重复劳动,还能确保周报格式的统一性。

Dify 工作流编辑界面,展示左侧工具栏、中间画布和右侧配置面板的整体布局
概述
Dify 的工作流界面是一个可视化的节点编排画布。左侧是工具栏,提供了开始、结束、LLM、代码、条件分支等核心组件;中间是画布区域,用于连接各个节点形成数据流向;右侧是配置面板,用于设置每个节点的具体参数。构建自动周报应用的核心思路是:定义输入触发条件,获取邮件数据,清洗无关信息,最后调用大模型进行总结。
关于【开始节点】
工作流的起点决定了数据如何进入系统。在创建新工作流时,选择“开始”节点作为入口。对于自动整理邮件的场景,通常有两种触发方式:定时触发或 API 触发。如果是完全自动化的后台任务,可以配置定时触发器,例如每周五下午 4 点自动运行;如果是交互式应用,则保留默认的表单输入,允许用户手动粘贴邮件文本或上传文件。
在开始节点的变量设置中,定义好后续节点需要的数据结构。例如,创建一个名为 email_content 的字符串变量,用于接收原始邮件正文。这一步确保了数据在进入处理流程前具有明确的格式规范。

关于【开始节点】
关于【代码节点】
原始邮件往往包含大量的引用回复、签名档和无关的营销信息,直接交给大模型处理会增加 Token 消耗并干扰生成质量。此时需要引入“代码”节点进行数据预处理。
在画布中添加一个代码节点,连接开始节点。选择 Python 语言,编写简单的正则表达式或字符串处理逻辑。主要任务包括:
- 去除邮件头部的转发标记(如 “Forwarded message”)。
- 截断过长的引用历史,只保留最近一次的回复内容。
- 提取关键的时间点和项目名称。
代码节点的输出将作为清洗后的数据,传递给下一个环节。通过这种方式,可以显著降低后续 LLM 节点的输入噪音,提高总结的准确度。
关于【LLM 节点】
这是工作流的核心智能部分。添加一个 LLM 节点,连接代码节点的输出。在提示词工程中,需要明确指定周报的结构和要求。例如,设定系统提示词为:“你是一名专业的项目助理,请根据提供的邮件内容,提取本周完成的工作项、遇到的阻塞问题以及下周计划。”
在用户提示词中,引用上一步代码节点输出的变量。为了获得更稳定的结果,可以选择温度值较低的模型配置,并开启“结构化输出”选项,要求模型返回 JSON 格式或特定的 Markdown 标题层级。这样生成的内容可以直接用于后续的文档排版,无需二次调整格式。

关于【LLM 节点】
关于【条件分支】
并非所有邮件都需要生成周报,或者某些项目可能需要不同的汇报模板。使用“条件分支”节点可以实现逻辑分流。例如,判断邮件主题中是否包含“紧急”或“项目A”关键词。
如果满足条件,进入分支 A,使用针对项目 A 的详细模板进行总结;如果不满足,进入分支 B,使用通用的简略模板。这种设计使得同一个工作流能够适应多种业务场景,提高了应用的灵活性。在配置条件时,注意使用准确的运算符,如“包含”、“等于”或“正则匹配”,以确保分流的准确性。

条件分支节点配置,展示基于关键词的逻辑判断规则
关于【结束节点】
工作流的终点是输出最终结果。添加“结束”节点,连接 LLM 或条件分支的输出。在这里,可以将生成的周报内容映射到输出变量中。如果工作流是通过 API 调用的,这个输出将直接返回给调用方;如果是 Dify 内部的应用,则可以配置将其发送到指定的飞书群、钉钉群或保存为文档。
在结束节点的配置中,还可以添加额外的元数据,如生成时间、处理过的邮件数量等,方便后续追踪和审计。至此,一个完整的从数据获取到内容生成的自动化闭环就构建完成了。
关于【调试与发布】
在正式投入使用前,利用右侧的“调试与预览”面板进行测试。输入几段典型的邮件文本,观察每个节点的运行状态和输出结果。重点关注代码节点是否正确清洗了数据,以及 LLM 节点是否按照预期结构生成了内容。如果发现某一步骤输出异常,可以点击该节点查看详细的日志信息,快速定位问题。
确认无误后,点击发布按钮。此时,工作流将变为可用状态,可以通过 API 集成到其他系统中,或者直接在 Dify 的应用界面中运行。随着业务需求的变化,可以随时回到画布调整节点逻辑,实现持续的迭代优化。

关于【调试与发布】
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













