Respond to Chat 节点是 n8n 中用于构建交互式聊天工作流的核心组件。它允许你向用户发送消息,并可选择等待用户回复后继续执行工作流。这个节点是实现多轮对话、人工审批流程和AI 助手的关键。
适用场景:
Respond to Chat 节点是一个输出节点,它在 Chat Trigger 的支持下,将信息发送回用户界面。不同于普通的数据传递,这个节点专门处理聊天交互。
关键特性:
用户发送消息
↓
Chat Trigger 触发工作流
↓
AI Agent/处理节点 处理
↓
Respond to Chat 发送回复
↓
等待用户回复?
├─ 是 → 暂停执行,接收用户输入 → 继续执行
└─ 否 → 工作流结束
{{ $json.text }})"您好!我是 AI 助手。{{ $('AI Agent').json.output }}"控制工作流是否暂停并等待用户输入
| 设置 | 行为 | 使用场景 |
|---|---|---|
| ✅ 启用 | 工作流暂停,等待用户回复 | 多轮对话、信息收集 |
| ❌ 禁用 | 消息发送后立即继续执行 | 单向通知、自动处理 |
连接一个内存节点以保存对话上下文
优势:
设置最大等待时间,超时后自动继续执行
配置方式:
使用 Respond to Chat 节点必须满足这些条件:
✅ Chat Trigger 节点存在
✅ Response Mode 设置正确
✅ n8n 版本足够新
场景:用户提问 → AI 回答 → 对话结束
步骤:
{{ $json.output }}工作流连接:
Chat Trigger → AI Agent → Respond to Chat场景:用户进行多轮对话,AI 记忆之前的消息
步骤:
{{ $json.sessionId }}{{ $json.output }}完整工作流:
Chat Trigger
↓
Memory ─→ AI Agent ─→ Respond to Chat
↑_________________↓
(循环连接内存)场景:AI 生成内容 → 用户审批 → 继续处理
步骤:
Message: "您好,我为您生成了以下文本:\n\n{{ $('AI Agent').json.output }}\n\n请确认是否满意?"
Wait for User Reply: 启用Message: "感谢您的反馈!内容已发送。"
Wait for User Reply: 禁用使用表达式动态构建消息内容:
// 组合来自多个节点的信息
{{ "用户问题:" + $json.question + "\n\n" + "AI回答:" + $('AI Agent').json.output }}在 Respond to Chat 前使用 IF 节点:
IF 节点判断条件
├─ True → Respond to Chat(发送特定消息)
└─ False → 其他处理启用 Limit Wait Time,在用户长时间不回复时自动处理:
启用 Limit Wait Time
设置为:24 小时超时后工作流继续执行,可发送提醒消息。
使用内存节点保存所有对话,便于数据分析:
Memory Input Connection → 数据库存储(Airtable/Google Sheets)| 错误信息 | 原因 | 解决方案 |
|---|---|---|
| "Response Mode must be set to Using Response Nodes" | Chat Trigger 配置错误 | 检查 Chat Trigger 的 Response Mode 设置 |
| 找不到 "Using Response Nodes" 选项 | n8n 版本过旧 | 升级 n8n 到 1.105.2+ |
| Respond to Chat 节点不显示 | 缺少 Chat Trigger | 先添加 Chat Trigger 节点 |
| 消息显示为 JSON 格式 | 返回的是对象而非字符串 | 使用表达式提取文本:{{ $json.text }} |
| 等待超时后仍未继续 | 没有配置超时时间 | 启用 Limit Wait Time 选项 |
以下是一个开箱即用的多轮对话 AI 助手工作流,可直接导入 n8n:
{
"name": "多轮对话 AI 助手工作流",
"nodes": [
{
"parameters": {
"mode": "hosted"
},
"id": "chat-trigger-node",
"name": "Chat Trigger",
"type": "n8n-nodes-langchain.chatTrigger",
"typeVersion": 1,
"position": [100, 200],
"disabled": false
},
{
"parameters": {
"hasSystemMessage": true,
"systemMessage": "你是一个友好的 AI 助手。帮助用户回答问题和解决问题。保持对话自然流畅。",
"hasMemory": true,
"hasInputData": true,
"options": {}
},
"id": "ai-agent-node",
"name": "AI Agent",
"type": "n8n-nodes-langchain.agent",
"typeVersion": 1,
"position": [300, 200],
"disabled": false
},
{
"parameters": {
"message": "={{ $json.output }}"
},
"id": "respond-to-chat-node",
"name": "Respond to Chat",
"type": "n8n-nodes-langchain.respondToChat",
"typeVersion": 1,
"position": [500, 200],
"disabled": false
},
{
"parameters": {
"metadata": {
"description": "存储对话上下文和会话信息"
}
},
"id": "memory-node",
"name": "Memory",
"type": "n8n-nodes-langchain.memory",
"typeVersion": 1,
"position": [300, 350],
"disabled": false
}
],
"connections": {
"Chat Trigger": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Respond to Chat",
"type": "main",
"index": 0
}
]
]
},
"Memory": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "1.0"
}使用步骤:
Respond to Chat 必须与 Chat Trigger 配合使用。记住:
较新版本支持实时流式响应:
Chat Trigger → Response Mode: "Streaming"
↓
AI Agent → Enable Streaming: 开启
↓
Respond to Chat(自动流式输出)用户会实时看到 AI 逐字生成的回复。
| 特性 | Respond to Chat | Respond to Webhook |
|---|---|---|
| 适用场景 | 聊天交互 | 通用 Webhook |
| 内存支持 | ✅ 原生支持 | ❌ 需要手动管理 |
| 多轮交互 | ✅ 原生支持 | ⚠️ 需要会话管理 |
| 响应格式 | 纯文本消息 | JSON 对象 |
[1] 官方文档: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.respondtochat/
[2] n8n系列教程: https://www.undsky.com/blog/?category=n8n%E6%95%99%E7%A8%8B