8
n8n 中文网amn8n.com

测验 - 学习

中级

这是一个Other, AI领域的自动化工作流,包含 15 个节点。主要使用 If, Merge, Webhook, Supabase, HttpRequest 等节点,结合人工智能技术实现智能自动化。 使用 GPT-4o-mini 和 Supabase 存储创建 AI 驱动的 WhatsApp 测验机器人

前置要求
  • HTTP Webhook 端点(n8n 会自动生成)
  • Supabase URL 和 API Key
  • 可能需要目标 API 的认证凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "G5sy4PdIPoOIdy8a",
  "meta": {
    "instanceId": "47132c409ea4cfc382a6c48656c8a35b5da4c1fa7ef892882b424c42ae8a05b2",
    "templateCredsSetupCompleted": true
  },
  "name": "测验 - 学习",
  "tags": [],
  "nodes": [
    {
      "id": "49e9a3e6-8d75-4b26-8060-36778e30e4c2",
      "name": "简单记忆",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        1360,
        -320
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "02d7559c-c735-455e-b21b-ec468a0d4532",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1180,
        -320
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "ZKobrAKEac2WpmRs",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "bb91ac3f-be03-44e3-a342-b8e488c6165b",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        1040,
        -520
      ],
      "parameters": {},
      "typeVersion": 3.1
    },
    {
      "id": "13cd878e-e453-42d9-8c0e-988a53795bde",
      "name": "Whatsapp 触发器",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -280,
        -420
      ],
      "webhookId": "aae5d69a-d682-4d9d-9710-a3807ca73b9c",
      "parameters": {
        "path": "aae5d69a-d682-4d9d-9710-a3807ca73b9c",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "164d4163-c48b-40af-b747-5ca1c20c9f48",
      "name": "用户存在?",
      "type": "n8n-nodes-base.if",
      "position": [
        140,
        -420
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "156a2527-ccc7-4249-9d8f-fd22fa066ad1",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "b3eb496f-1fd5-4f89-a77b-711035efbc37",
      "name": "AI Agent - 巴西葡萄牙语系统消息",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1260,
        -520
      ],
      "parameters": {
        "options": {
          "systemMessage": "=Você é um especialista em quizzes altamente qualificado e um tutor virtual extremamente amigável, paciente e empático. Sua principal missão é criar quizzes educativos e engajadores, e auxiliar os usuários em sua jornada de aprendizado. Você se comunica em português do Brasil.\n\nDiretrizes de Interação e Personalidade:\n\n1.  **Especialista em Quizzes:** Demonstre profundo conhecimento na criação de perguntas relevantes e bem formuladas sobre uma vasta gama de temas. Seu objetivo é testar e expandir o conhecimento do usuário.\n2.  **Uso do Nome:** Sempre que interagir, dirija-se ao usuário pelo nome que foi fornecido no contexto da conversa (ex: \"Olá, [NomeDoUsuario]! Que bom ter você por aqui para um quiz!\"). Isso cria uma atmosfera mais próxima e pessoal.\n3.  **Foco no Tema Fornecido:** O quiz deve ser sobre o tema que o usuário definiu [placeholder.json.tema]. Concentre-se nesse tema para a geração das perguntas.\n4.  **Flexibilidade para Mudança de Tema:** Embora o foco seja no tema atual, se o usuário expressar um desejo claro de mudar de tema, reconheça essa solicitação de forma positiva. A execução da mudança de tema (como a coleta do novo tema) será gerenciada pelo sistema externo (n8n), mas sua resposta deve ser receptiva a essa intenção (ex: \"Entendido, [placeholder.NomeDoUsuario]! Se quiser explorar um novo assunto, é só me dizer qual será o próximo tema quando o sistema perguntar!\").\n5.  **Personalização e Empatia:** Vá além de apenas fazer perguntas. Mostre genuíno interesse pelo aprendizado do usuário. Utilize frases que demonstrem encorajamento, paciência se o usuário errar, e entusiasmo quando ele acertar. Adapte sua linguagem para ser motivadora. Por exemplo: \"Não se preocupe se essa não foi fácil, [NomeDoUsuario], o importante é aprender!\" ou \"Excelente, [NomeDoUsuario], você está indo muito bem!\".\n6.  **Geração de Conteúdo do Quiz (Instrução Implícita para o \"User Prompt\"):** Esteja preparado para, quando solicitado no *prompt do usuário/tarefa*, gerar um conjunto de 10 perguntas de múltipla escolha (com 4 opções: A, B, C, D, e a indicação da correta) sobre o tema fornecido. \n7.  **Linguagem:** Use um tom conversacional, positivo e acessível, adequado para um ambiente de aprendizado no WhatsApp. Evite jargões desnecessários, a menos que o tema do quiz exija e possa ser uma oportunidade de aprendizado.\n8.  **Feedback Construtivo:** Forneça explicações claras e concisas, especialmente para respostas incorretas, ajudando o usuário a entender o porquê.\n\nLembre-se, [NomeDoUsuario] está buscando uma experiência de estudo que seja eficaz, mas também agradável. Sua empatia e sua capacidade de personalizar a conversa são tão importantes quanto a qualidade do quiz."
        }
      },
      "typeVersion": 1.9
    },
    {
      "id": "272d4b9e-4e14-4d0f-b269-4a89fff170a5",
      "name": "Supabase:获取用户数据",
      "type": "n8n-nodes-base.supabase",
      "position": [
        -60,
        -420
      ],
      "parameters": {
        "operation": "select"
      },
      "credentials": {
        "supabaseApi": {
          "id": "HhlIKNFIScBo9gSX",
          "name": "Supabase account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5475ea85-9672-4d2b-83d9-4ab688569389",
      "name": "询问姓名",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        380,
        -260
      ],
      "parameters": {
        "method": "POST",
        "options": {},
        "jsonBody": "=Bem-vindo(a) ao nosso espaço de estudos! Para que eu possa te ajudar melhor, me conta, qual é o seu nome?",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "19a8e284-8287-40c9-8623-abbdd6b33e5d",
      "name": "Supabase:更新用户名",
      "type": "n8n-nodes-base.supabase",
      "position": [
        600,
        -260
      ],
      "parameters": {
        "operation": "update"
      },
      "credentials": {
        "supabaseApi": {
          "id": "HhlIKNFIScBo9gSX",
          "name": "Supabase account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e5f6cab2-b476-4795-80d8-022c1dd7e9ff",
      "name": "测验主题已定义?",
      "type": "n8n-nodes-base.if",
      "position": [
        380,
        -520
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "c15ea575-fe71-436c-9abd-dd282c22d056",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "eca29455-df9f-4f02-807e-7657f8a8d04c",
      "name": "询问学习主题(WhatsApp 消息)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        600,
        -440
      ],
      "parameters": {
        "method": "POST",
        "options": {},
        "jsonBody": "={{NOME_DO_USUARIO_AQUI}}, pensando em te ajudar nos estudos, qual matéria ou tópico específico prefere para o nosso quiz?\n",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "08760830-e348-4fe9-882f-9d05507e02c5",
      "name": "Supabase:更新学习主题",
      "type": "n8n-nodes-base.supabase",
      "position": [
        820,
        -440
      ],
      "parameters": {
        "operation": "update"
      },
      "credentials": {
        "supabaseApi": {
          "id": "HhlIKNFIScBo9gSX",
          "name": "Supabase account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b38b927f-f076-4388-aecb-81c35a15c4ea",
      "name": "向用户发送消息(WhatsApp 消息)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1636,
        -520
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "28f7ad21-bbf8-42ac-bd8f-a37fc80c9914",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -340,
        -220
      ],
      "parameters": {
        "height": 240,
        "content": "## WhatsApp 测验机器人"
      },
      "typeVersion": 1
    },
    {
      "id": "72c3a241-89a0-4454-9ebb-99c994ff6f4f",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -220
      ],
      "parameters": {
        "width": 260,
        "height": 380,
        "content": "## 流程概览"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e383ac09-7b4c-47b1-9e1f-1f16ff8f63f1",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "AI Agent - Portuguese BR System Msg",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "User exist?": {
      "main": [
        [
          {
            "node": "Quiz Topic Defined?",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Ask For Name",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ask For Name": {
      "main": [
        [
          {
            "node": "Supabase: Update User Name",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent - Portuguese BR System Msg",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Whatsapp Trigger": {
      "main": [
        [
          {
            "node": "Supabase: Fetch User Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent - Portuguese BR System Msg",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Quiz Topic Defined?": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Ask For Study Topic (WhatsApp Message)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Supabase: Fetch User Data": {
      "main": [
        [
          {
            "node": "User exist?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Supabase: Update User Name": {
      "main": [
        []
      ]
    },
    "Supabase: Update Study Topic": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "AI Agent - Portuguese BR System Msg": {
      "main": [
        [
          {
            "node": "Send Message to User (WhatsApp Message)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ask For Study Topic (WhatsApp Message)": {
      "main": [
        [
          {
            "node": "Supabase: Update Study Topic",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

中级 - 其他, 人工智能

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量15
分类2
节点类型9
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

作者
Danielle Gomes

Danielle Gomes

@daniellegomes

Product Designer | n8n Automation | Practical AI Solutions I turn ideas into smart digital experiences focused on efficiency and personalization. Specialized in building solutions that combine design, n8n workflows, and AI to scale products, optimize processes, and maximize impact.

外部链接
在 n8n.io 查看

分享此工作流