Chat Trigger是n8n中用于构建聊天机器人和对话式AI的关键节点。通过简单的配置,你就可以创建一个可公开访问或嵌入到网站的智能聊天界面,支持多种认证方式和会话管理功能。本教程将带你从零开始,一步步搭建你的第一个AI聊天机器人。
Chat Trigger是n8n提供的专门用于构建AI聊天机器人的触发节点。简单来说,它就是聊天机器人的"大门"——负责接收用户的消息,并将其传递给后续的AI处理节点。
Chat Trigger节点的关键功能包括:

与传统的Webhook触发不同,Chat Trigger专为对话式应用优化:
适用场景:快速建立AI聊天机器人原型,进行演示
工作原理:
配置步骤:
优势:
适用场景:将聊天机器人集成到你的网站或应用
工作原理:
配置步骤:
<link href="https://cdn.jsdelivr.net/npm/@n8n/chat/dist/style.css" rel="stylesheet" />
<script type="module">
import { createChat } from 'https://cdn.jsdelivr.net/npm/@n8n/chat/dist/chat.bundle.es.js';
createChat({
webhookUrl: '你的Chat Trigger的Webhook URL'
});
</script>优势:
Chat Trigger支持多种认证方式,让你根据需求灵活选择:
| 认证方式 | 说明 | 何时使用 |
|---|---|---|
| None | 不需要认证,任何人都可以访问 | 公开聊天机器人、演示项目 |
| Basic Auth | 使用用户名和密码 | 小型团队、内部使用 |
| n8n User Auth | 只有登录n8n账户的用户可访问 | 企业应用、私密数据 |
在Chat Trigger节点中:
Chat Trigger提供三种响应模式,影响用户如何接收答复:
1. When Last Node Finishes(等待最后节点完成)
2. Using Response Nodes(使用响应节点)
3. Streaming Response(流式响应)⭐ 推荐
这个功能让聊天机器人能够记住之前的对话内容。
三个选项:
最佳实践:
根据官方文档和社区反馈,以下是Chat Trigger使用中最常见的四大问题及其解决方案:
原因:通常是内存节点配置不当
解决方案:
原因:Memory节点配置不一致
解决方案:
原因:Webhook URL配置错误或跨域问题
解决方案:
* 允许所有来源(仅用于测试)4. 确保工作流已激活原因:不知道如何传递自定义数据
解决方案:
使用 metadata 字段在JSON对象中传递额外信息:
createChat({
webhookUrl: '你的URL',
metadata: {
userId: '12345',
userEmail: 'user@example.com'
}
});这些数据会在Chat Trigger的输出中可用。
欢迎使用FAQ助手!请输入您的问题。示例System Prompt:
你是一个专业的FAQ助手。根据用户的问题,提供清晰、简洁的答案。
如果不知道答案,请诚实地说"我不确定,建议联系客服"。
始终保持友好和专业的语气。激活后,你会看到Chat Trigger节点上显示一个 Chat URL。这就是你的聊天机器人的公开链接,你可以:
以下是一个完整的可执行工作流示例,展示了Chat Trigger + AI Agent + Memory的基础结构:
{
"nodes": [
{
"parameters": {
"mode": "hostedChat",
"chatInputKey": "chatInput",
"sessionIdKey": "sessionId",
"authentication": "none",
"initialMessages": "欢迎!我是您的AI助手。请问有什么我可以帮助您的吗?"
},
"id": "ChatTrigger",
"name": "Chat Trigger",
"type": "n8n-nodes-langchain.chattrigger",
"typeVersion": 1,
"position": [250, 300]
},
{
"parameters": {
"agentType": "toolsAgent",
"systemPromptFromPreviousNode": true,
"maxIterations": 10
},
"id": "AIAgent",
"name": "AI Agent",
"type": "n8n-nodes-langchain.agent",
"typeVersion": 1,
"position": [450, 300],
"connections": {
"input": [
{
"node": "ChatTrigger",
"type": "main"
}
]
}
},
{
"parameters": {
"model": "gpt-4o-mini",
"temperature": 0.7
},
"id": "ChatModel",
"name": "OpenAI Chat Model",
"type": "n8n-nodes-langchain.lmchat",
"typeVersion": 1,
"position": [650, 300],
"connections": {
"input": [
{
"node": "AIAgent",
"type": "main"
}
]
}
},
{
"parameters": {
"sessionKey": "sessionId",
"contextWindowLength": 5
},
"id": "Memory",
"name": "Simple Memory",
"type": "n8n-nodes-langchain.memorybufferwindow",
"typeVersion": 1,
"position": [650, 450]
}
],
"connections": {
"ChatTrigger": {
"main": [
[
{
"node": "AIAgent",
"type": "main",
"index": 0
}
]
]
},
"AIAgent": {
"main": [
[
{
"node": "ChatModel",
"type": "main",
"index": 0
}
]
],
"memory": [
[
{
"node": "Memory",
"type": "main",
"index": 0
}
]
]
}
}
}配置步骤:
Chat Trigger节点:
1. 设置 Response Mode → "Streaming response"
2. 确保n8n版本 ≥ 1.105.2
AI Agent节点:
1. 点击 "Add option"
2. 启用 "Enable Streaming"在嵌入式聊天中,你可以自定义CSS:
<style>
.n8n-chat-widget {
--primary-color: #007bff;
--background-color: #f8f9fa;
}
</style>你可以在消息中使用n8n表达式:
{{ $now.toFormat('yyyy-MM-dd HH:mm:ss') }} // 显示当前时间
{{ $nodeInputData.userId }} // 显示用户ID每条消息的执行都会消耗你的n8n执行额度。检查你的执行用量:
你现在已经了解了:
[1] 官方文档: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chattrigger/
[2] n8n系列教程: https://www.undsky.com/blog/?category=n8n%E6%95%99%E7%A8%8B#