掘金 人工智能 07月31日 11:43
AGUI 与 n8n 结合的调研与实践:列举使用场景
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入探讨了AGUI协议、大语言模型(LLM)与n8n工作流引擎的融合应用,构建了一个完整的“自然语言输入 → 动态界面生成 → 自动化任务执行”的智能交互系统。文章详细介绍了AGUI协议的UI结构标准、n8n如何生成AGUI响应、组件如何触发n8n Webhook、表单如何提交结构化数据给n8n、动态流程交互实现、任务状态展示、用户身份与权限处理、AI Agent自动UI推理、AGUI卡片嵌入联动n8n以及错误处理与用户反馈等关键技术点。通过GPU资源申请、IT报修、项目协同任务创建等场景示例,展示了该系统的强大能力和广阔的应用前景,为构建智能自动化系统提供了详实的指导和参考。

✨ AGUI协议定义了JSON结构的UI协议,用于语言模型生成结构化界面卡片,实现AI与人交互。其核心结构元素包括卡片类型(type)、标题(title)、主体组件数组(body)、表单字段定义(fields)以及可触发的按钮数组(actions),使得LLM能够根据用户意图自动生成符合规范的UI界面。

⚙️ n8n通过Function或HTTP Response节点可以生成AGUI JSON卡片并返回给前端展示,也可以利用模板引擎拼装AGUI JSON。LLM可以生成卡片模板,n8n则负责按需填充字段,实现了LLM与n8n在UI生成上的协同工作,提高了效率和灵活性。

🚀 AGUI中的button和form组件通过action字段绑定操作名,前端点击后会通过onEvent上报事件。n8n通过Webhook节点接收该结构,并利用Switch节点根据action值路由到不同流程。LLM可以根据用户意图生成合适的action名称,进一步优化了交互流程的自动化。

💡 AGUI表单支持字段输入,用户提交后以inputs形式发送至后端。n8n通过Webhook节点接收JSON请求,并使用Set节点提取inputs数据,随后写入数据库、发出通知或触发后续流程。LLM在此环节可自动识别所需字段,补全类型、label、必填等信息,并动态生成placeholder。

🔄 AGUI与n8n的结合能够实现基于用户选择的动态流程交互。n8n可以根据用户在表单或按钮中的选择,返回不同的卡片结构,实现动态对话流程。LLM可以根据历史输入推断后续所需的卡片,并自动生成判断逻辑模板,提升了多轮交互的连贯性和智能化水平。

AGUI 与 n8n 结合的调研与实践:列举使用场景

AGUI 协议可以与 n8n 工作流引擎的深度融合应用,结合大语言模型(LLM)的智能理解能力,打造了一套完整的"自然语言输入 → 动态界面生成 → 自动化任务执行"的智能交互系统。


⚡ 总体架构:AGUI + LLM + n8n 三层融合

[用户自然语言输入][LLM 解析意图 → 生成 AGUI JSON 卡片][AGUI 前端渲染器呈现 UI 表单][用户提交结构化数据 → POST 到 n8n Webhook][n8n 流程接管执行任务 + 返回 AGUI 卡片反馈]

架构价值:


一、10 大关键问题(详细拆解 + LLM 支持)

1. AGUI 协议的 UI 结构标准是什么?

📋 说明

AGUI(Agent GUI)是一种 JSON 结构的 UI 协议,旨在让语言模型生成结构化界面卡片,以实现 AI 与人之间的交互。

⭐ 核心结构元素:
📝 示例结构:
{  "type": "card",  "title": "创建项目",  "body": [    {      "type": "form",      "fields": [        { "name": "project_name", "label": "项目名称", "type": "text" },        { "name": "deadline", "label": "截止时间", "type": "date" }      ],      "actions": [        { "type": "submit", "label": "提交", "action": "create_project" }      ]    }  ]}
🤖 LLM 联动点

2. n8n 如何生成符合 AGUI 协议的响应结构?

📋 说明

n8n 中的 Function 或 HTTP Response 节点可以生成 AGUI JSON 卡片,并返回给前端展示。

💻 示例 Function 节点输出:
return [  {    json: {      type: 'card',      title: '提交成功',      body: [        { type: 'text', value: '我们已收到您的请求,将尽快处理。' }      ]    }  }];
🔧 实践建议:
🤖 LLM 联动点

3. 如何在 AGUI 中绑定组件触发 n8n Webhook?

📋 说明

AGUI 的 buttonform 组件中的 action 字段可指定操作名,前端点击后会通过 onEvent 上报该事件。

示例:
{  "type": "button",  "label": "提交工单",  "action": "submit_ticket"}

点击后前端发出的事件结构:

{  "action": "submit_ticket",  "inputs": { "device": "打印机", "desc": "卡纸" },  "userId": "user-123"}
n8n 处理方法:
🤖 LLM 联动点

4. AGUI 表单如何提交结构化数据给 n8n?

📋 说明

AGUI 表单支持字段输入,通过用户填写数据并点击"提交"后,以 inputs 形式发送至后端。

🔗 数据结构(提交示例)
{  "action": "create_project",  "inputs": {    "name": "AI中台",    "owner": "张三",    "deadline": "2025-09-01"  },  "sessionId": "xyz123"}
🤖 LLM 联动点
⚙️ n8n 处理方式

5. 如何实现基于用户选择的动态流程交互?

📋 说明

根据用户在表单或按钮中的选择,n8n 可以返回不同的卡片结构,实现动态对话流程。

示例流程
if ($json.inputs.urgent === true) {  return urgentConfirmCard;} else {  return normalConfirmCard;}
🤖 LLM 联动点
🧠 多轮交互技巧

6. 如何展示任务状态(loading/进度/结果)?

📋 说明

AGUI 支持 progress 类型与 text 状态描述,可模拟 loading、执行中、完成等反馈。

示例:
{  "type": "card",  "title": "任务执行中",  "body": [    { "type": "progress", "value": 40 },    { "type": "text", "value": "预计还需 1 分钟" }  ]}
推荐实践:

7. 如何处理用户身份、权限和上下文?

📋 说明

每次 AGUI 提交事件应包含用户 ID、Token、会话 ID,n8n 后台进行校验。

示例结构:
{  "userId": "user-001",  "token": "xxx",  "action": "get_tasks"}
LLM 联动:
🔒 安全建议

8. 如何将 AGUI 与 AI Agent(LLM)结合,实现自动 UI 推理?

📋 说明

LLM 接收自然语言指令后,直接输出符合 AGUI 协议的结构化卡片,实现"意图 → UI"自动对话。

Prompt 示例:
你是一个 UI 设计助手。根据用户指令"我要申请一个数据库",请生成 AGUI 卡片 JSON,包含表单字段:数据库类型、用途、申请人。
输出结构:
{  "type": "card",  "title": "申请数据库资源",  "body": [    {      "type": "form",      "fields": [        { "name": "db_type", "type": "select", "label": "类型", "options": ["MySQL", "PostgreSQL"] },        { "name": "reason", "type": "textarea", "label": "用途" }      ],      "actions": [        { "type": "submit", "label": "提交申请", "action": "apply_db" }      ]    }  ]}

9. 如何嵌入 AGUI 卡片至系统并联动 n8n?

📋 说明

AGUI 提供前端渲染器(React/Vue),可集成至 IM、SaaS 平台、企业门户等系统中。

嵌入形式:
事件触发:
<AguiRenderer  data={cardJson}  onEvent={(event) => fetch('/webhook/n8n', { method: 'POST', body: JSON.stringify(event) })}/>
推荐做法:

10. 如何处理错误提示、异常捕获和用户反馈?

📋 说明

n8n 支持流程错误捕获,通过 Catch 节点或默认路径发送"错误卡片"回 AGUI。

示例错误卡片:
{  "type": "card",  "title": "出错了",  "body": [    { "type": "text", "value": "数据库连接失败,请稍后重试。" },    { "type": "button", "label": "重试", "action": "retry_operation" }  ]}
推荐做法:

📚 使用场景示例

场景一:AI 驱动的 GPU 资源申请系统

背景

开发人员或数据科学家希望通过自然语言申请 GPU 资源(如 A100 服务器),AI 助手将根据请求生成表单,用户填写信息并触发 n8n 执行自动化审批流程。

交互流程
    用户输入:我需要一台 A100 服务器跑训练,能帮我申请吗?LLM 生成 AGUI 表单卡片:
{  "type": "card",  "title": "申请 GPU 资源",  "body": [    {      "type": "form",      "fields": [        { "name": "gpu_type", "label": "GPU 类型", "type": "select", "options": ["A100", "V100"] },        { "name": "duration", "label": "申请时长(小时)", "type": "number" },        { "name": "reason", "label": "用途说明", "type": "textarea" }      ],      "actions": [        { "type": "submit", "label": "提交申请", "action": "apply_gpu" }      ]    }  ]}
    用户填写表单并点击提交AGUI 上报结构数据至 n8n Webhookn8n 执行如下流程:
      判断是否为高优先级任务通知审批人自动创建资源记录表将结果以卡片形式返回:审批中 / 成功 / 拒绝
技术亮点

场景二:IT 报修流程自动化

背景

企业员工可通过 IM 或 Portal 向 AI 助手提交报修工单,系统自动采集信息并生成报修记录,指派维修人。

流程概述
    用户输入:我电脑蓝屏了,帮我报修LLM 解析问题,生成表单卡片:
{  "type": "card",  "title": "填写报修单",  "body": [    {      "type": "form",      "fields": [        { "name": "device", "label": "设备名称", "type": "text" },        { "name": "issue", "label": "故障描述", "type": "textarea" }      ],      "actions": [        { "type": "submit", "label": "提交报修", "action": "submit_repair" }      ]    }  ]}
    用户填写信息,点击“提交报修”n8n 接收数据后执行:
      写入报修数据库分配维修人(如值班轮值)给用户返回工单编号和处理状态卡片
优势

场景三:项目协同任务创建与进度反馈

背景

产品经理或项目负责人希望通过自然语言快速发起协作任务、指定参与者,并能周期性收到任务进展卡片。此流程结合 AGUI 表单生成、n8n 任务拆解与 LLM 状态追踪,适用于需求管理、跨部门协同等。

操作流程
    用户输入:我想让设计、前端、测试各认领任务,三天后一起同步进度。LLM 输出任务拆解并生成表单:
{  "type": "card",  "title": "创建协作任务",  "body": [    {      "type": "form",      "fields": [        { "name": "task_title", "label": "任务标题", "type": "text" },        { "name": "design_owner", "label": "设计负责人", "type": "user" },        { "name": "frontend_owner", "label": "前端负责人", "type": "user" },        { "name": "qa_owner", "label": "测试负责人", "type": "user" },        { "name": "sync_date", "label": "进度同步时间", "type": "date" }      ],      "actions": [        { "type": "submit", "label": "创建任务", "action": "create_collab_task" }      ]    }  ]}
    用户填写人员与任务,点击“创建任务”n8n 拆分任务项:为每个负责人发出 AGUI 卡片通知 + 任务认领请求到达“sync_date”当天,n8n 定时触发:
      收集进度汇报(通过 AGUI 表单)汇总为卡片返回给发起人
系统亮点

✅ 总结

以上的几个说明,可以很方便构建一个以 LLM 为引擎、AGUI 为前端、n8n 为执行器的完整智能自动化系统架构:

未来方向:

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AGUI n8n LLM 自动化 AI Agent
相关文章