基于 Dify + n8n 的无代码 Agent 闭环 PoC 实施方案

本方案旨在彻底抛弃复杂的底层代码编写,利用两款业界最强大的开源无代码/低代码工具(Dify 与 n8n),以全可视化拖拽的方式,在 2-3 天内快速拼装出“搭建 ──> 运行 ──> 遥测 ──> 反馈”的完整闭环。

一、 乐高式积木:核心工具选型

Dify (业务需求 Swarm ──> 概念层):

定位: 提供精美的用户聊天对话界面(Chatbot UI)和大模型工作流(Workflow)编排。

无代码作用:

拖拽出一个对话流,让用户输入自然语言。

使用 Dify 的 LLM 节点,把需求提炼为标准的 Logical-DSL(JSON 格式)。

使用 HTTP 请求节点,将 JSON 自动推给 n8n。

n8n (工程实施 Swarm & 遥测 ──> 物理层与闭环):

定位: 全球最火的开源工作流自动化引擎(类似于海外的 Make/Zapier,但对开发者更友好)。

无代码作用:

接收来自 Dify 的逻辑 JSON。

使用 HTTP Request 节点,直连飞书 Open API(创建多维表格、新建字段)。

提供 Webhook 接收节点,实时监听飞书界面的微调事件。

将捕获的差异(Diff)写入一个简单的“偏好收集表”中,完成闭环。

二、 极简架构链路图(可视化流转)

【 1. Dify 可视化对话框 】 (用户输入)

         │
         ▼
【 2. Dify 工作流 (LLM) 】  ──(发送 L-DSL JSON)──> 【 3. n8n 接收 Webhook 】
                                                        │
                                                        ▼

【 4. n8n 遍历创建飞书表 】

                                                        │ (用户手动在飞书微调)
                                                        ▼
【 6. 偏好数据集 / 飞书日志表 】 <──(发送 Delta)─── 【 5. n8n 飞书事件监听器 】

三、 详细配置指南:3 步搭建可视化 PoC

第一步:在 Dify 中搭建“业务概念层” (10 分钟)

新建工作流: 登录 Dify 后台,创建一个 “工作流 (Workflow)” 应用。

编排节点:

开始 (Start) 节点: 接收用户输入(例如:{{sys.query}} = "帮我做一个采购申请表,包含供应商和单价")。

LLM 节点: 选择 GPT-4o 或 Claude 3.5。在 Prompt 中写入:

“请将用户的需求转化为一个极其简单的 JSON:{"appName": "xxx", "fields": [{"name": "字段名", "type": "STRING|NUMBER"}]},不要输出任何其他文本。”

HTTP 请求 (HTTP Request) 节点:

方法选择 POST。

URL 填写 n8n 的 Webhook 地址(在第二步中生成)。

Body 选择 JSON,内容直接绑定 LLM 节点的输出。

第二步:在 n8n 中搭建“工程实施层” (20 分钟 - 少量胶水代码)

在 n8n 中新建一个 Workflow,拖拽以下节点:

[ Webhook 接收 ] ──> [ Code 胶水节点 ] ──> [ 飞书 API 创建 Bitable ] ──> [ 循环创建 Fields ]

1. Webhook 节点 (Trigger)

拖入一个 Webhook 节点,它会自动生成一个 Production URL。将这个 URL 复制并粘贴回 Dify 的 HTTP 节点 中。

2. Code 节点 (少量胶水代码 - JS)

拖入一个 Code 节点(运行模式选择 Run Once for Each Item),用来简单处理一下 Dify 传过来的字段列表,以便后续循环调用飞书 API。

JS 代码极简示例:

// 转换 Dify 传过来的逻辑类型为飞书的物理数字类型 (1:文本, 2:数字)

const fields = item.json.fields.map(f => {

return {

field_name: f.name,

type: f.type === 'NUMBER' ? 2 : 1

};

});

return { appName: item.json.appName, fields: fields };

3. HTTP Request 节点 (创建多维表格)

拖入一个 HTTP Request 节点,调用飞书开放平台“创建多维表格”接口:

Method: POST

URL: https://open.feishu.cn/open-apis/bitable/v1/apps

Headers: 注入飞书的 Tenant-Access-Token(可以通过飞书自建应用获取)。

Body: {"name": "{{$json.appName}}"}。

4. Split In Batches 节点 & HTTP Request (循环建表)

使用 n8n 的 Split In Batches(循环节点),对刚才 Code 节点中处理好的 fields 数组进行循环。

循环体内部拖入第二个 HTTP Request 节点,调用飞书的“新增字段” API:

URL: https://open.feishu.cn/open-apis/bitable/v1/apps/{{app_token}}/tables/{{table_id}}/fields

Body: {"field_name": "{{$json.field_name}}", "type": {{$json.type}}}。

第三步:在 n8n 中搭建“反向遥测闭环” (15 分钟)

这是验证“用户微调 ──> 数据采集”的核心逻辑,完全在 n8n 中完成:
[ 飞书 Webhook 触发 ] ──> [ Filter 过滤器 ] ──> [ 写入日志表/飞书文档 ]

飞书 Webhook 触发器 (Trigger):

在 n8n 中拖入一个新的 Webhook 节点。

去飞书开发者后台,订阅 bitable.table.field.updated_v1(字段变更事件),将该 Webhook URL 填入飞书后台。

Filter (过滤器) 节点:

拖入一个 Filter 节点。设置规则:只保留 new_type 发生改变的事件(过滤掉无意义的字段重命名等噪点)。

HTTP Request / Bitable 节点 (保存反馈数据):

用户在飞书上将“单价”从单行文本改成了数字。

这个 Webhook 被触发,n8n 的 Filter 过滤出这一事件。

拖入一个存储节点(可以直接使用 n8n 的 Google Sheets 节点、Airtable 节点,或者直接向另一个飞书“AI 偏好日志多维表格”中追加一行记录):

写入内容: {"原始Prompt": "采购申请表", "字段名": "单价", "修改前": "STRING", "修改后": "DECIMAL"}。

四、 本方案的演示(Demo)效果与进化玩法

🎥 完美的汇报演示故事线:

输入需求: 打开 Dify 的 Web 界面,对 AI 说:“我想管采购,做一个采购表,包含‘商品名’和‘价格’。”

自动搭建: 进度条闪烁,AI 调用后台的 n8n 工作流。10 秒钟后,系统给出飞书链接。

打开飞书: 打开链接,飞书里已经多了一个“采购表”,里面有“商品名(文本)”和“价格(文本)”。

用户微调(Human-in-the-loop): 你在飞书界面上手动点击“价格”字段,把它的格式从 “单行文本” 改成 “数字”。

奇迹发生(闭环对齐): 打开我们的“AI 偏好日志表”,里面已经自动多了一条记录:“用户将‘价格’改为了数字型”。

自主演进: 这个日志表可以直接作为 Few-Shot Prompt 动态喂给 Dify。下次你再输入*“帮我做一个设备表,包含价格”*时,AI 在 Dify 端就会自动把价格设为 NUMBER,不再犯错!