跳转至

Chat Trigger 节点#

在构建聊天机器人和其他聊天界面的 AI 工作流时使用 Chat Trigger 节点。您可以配置用户如何访问聊天,使用 n8n 提供的界面之一,或您自己的界面。您可以添加身份验证。

您必须连接一个代理或链根节点

工作流执行使用情况

向 Chat Trigger 发送的每条消息都会执行您的工作流。这意味着用户发送 10 条消息的一次对话会消耗您执行配额中的 10 次执行。请查看您的付费计划以了解配额详情。

手动聊天触发器

此节点从 1.24.0 版本开始替换了 Manual Chat Trigger 节点。

节点参数#

使聊天公开可用#

设置聊天是否应该公开可用(开启)或仅通过手动聊天界面可用(关闭)。

在构建工作流时请保持此选项关闭。当您准备激活工作流并允许用户访问聊天时,请将其开启。

模式#

选择用户如何访问聊天。可选择:

  • 托管聊天:使用 n8n 的托管聊天界面。推荐大多数用户使用,因为您可以使用节点选项配置界面,而不需要进行任何其他设置。
  • 嵌入式聊天:此选项需要您创建自己的聊天界面。您可以使用 n8n 的聊天小部件或构建自己的界面。您的聊天界面必须调用节点中 聊天 URL 显示的 webhook URL。

身份验证#

选择是否以及如何限制对聊天的访问。可选择:

  • :聊天不使用身份验证。任何人都可以使用聊天。
  • 基本身份验证:聊天使用基本身份验证。
    • 选择或创建一个带有用户名和密码的基本身份验证凭证。所有用户必须使用相同的用户名和密码。
  • n8n 用户身份验证:只有登录到 n8n 账户的用户才能使用聊天。

初始消息#

此参数仅在您使用托管聊天时可用。用它来配置用户到达页面时 n8n 聊天界面显示的消息。

节点选项#

可用选项取决于聊天模式。

托管聊天选项#

允许的源 (CORS)#

设置可以访问聊天 URL 的源。输入允许跨源非预检请求的 URL 的逗号分隔列表。

使用 *(默认)允许所有源。

输入占位符、标题和副标题#

输入聊天界面中这些元素的文本。

View screenshot

Customizable text elements

加载先前会话#

选择是否从先前的聊天会话中加载聊天消息。

如果您选择除关闭之外的任何选项,您必须将 Chat 触发器和您使用的代理连接到内存子节点。当您将加载先前会话设置为从内存时,Chat 触发器上的内存连接器会出现。n8n 建议将 Chat 触发器和代理都连接到同一个内存子节点,因为这确保了两个节点的单一真实数据源。

查看截图

将节点连接到内存

响应模式#

在构建具有处理聊天的代理或链之后的步骤的工作流时使用此选项。选择:

  • 当最后一个节点完成时:Chat 触发器节点返回响应代码和工作流中最后一个执行节点的数据输出。
  • 使用响应节点:Chat 触发器节点按照 Respond to Chat 节点或 Respond to Webhook 节点中定义的方式响应。在此响应模式下,Chat 触发器将仅显示这些节点中定义的消息,而不输出工作流中最后一个执行节点的数据。

使用响应节点

此模式从 Chat Trigger 节点的 1.2 版本开始替换了“使用 Respond to Webhook 节点”模式。

需要点击按钮开始聊天#

设置是否在聊天界面上显示新对话按钮(开启)或不显示(关闭)。

查看截图

新对话按钮

嵌入式聊天选项#

允许的源 (CORS)#

设置可以访问聊天 URL 的源。输入允许跨源非预检请求的 URL 的逗号分隔列表。

使用 *(默认)允许所有源。

加载先前会话#

选择是否从先前的聊天会话中加载聊天消息。

如果您选择除关闭之外的任何选项,您必须将 Chat 触发器和您使用的代理连接到内存子节点。当您将加载先前会话设置为从内存时,Chat 触发器上的内存连接器会出现。n8n 建议将 Chat 触发器和代理都连接到同一个内存子节点,因为这确保了两个节点的单一真实数据源。

查看截图

将节点连接到内存

响应模式#

在构建具有处理聊天的代理或链之后的步骤的工作流时使用此选项。选择:

  • 当最后一个节点完成时:Chat 触发器节点返回响应代码和工作流中最后一个执行节点的数据输出。
  • 使用响应节点:Chat 触发器节点按照 Respond to Chat 节点或 Respond to Webhook 节点中定义的方式响应。在此响应模式下,Chat 触发器将仅显示这些节点中定义的消息,而不输出工作流中最后一个执行节点的数据。

使用响应节点

此模式从 Chat Trigger 节点的 1.2 版本开始替换了“使用 Respond to Webhook 节点”模式。

模板和示例#

Browse 聊天触发器 integration templates, or search all templates

相关资源#

查看 n8n 的高级 AI 文档。

手动设置聊天响应#

当您不想直接将 Agent 或 Chain 节点的输出发送给用户时,您需要手动设置聊天响应。相反,您希望获取 Agent 或 Chain 节点的输出并在将其发送回给用户之前修改它或对其执行其他操作。

在基本工作流中,Agent 和 Chain 节点输出一个名为 outputtext 的参数,Chat 触发器将此参数的值作为聊天响应发送给用户。

如果您需要手动创建发送给用户的响应,您必须创建一个名为 textoutput 的参数。如果您使用不同的参数名称,Chat 触发器将将整个对象作为其响应发送,而不仅仅是值。

Respond to Chat 节点

当您使用 Respond to Chat 节点手动创建发送给用户的响应时,您必须将 Chat Trigger 响应模式设置为“使用响应节点”。

常见问题#

对于常见问题或问题和建议的解决方案,请参阅常见问题

此页面是否
💬 微信

🚀 与作者交流

关注公众号
n8n实战笔记公众号
n8n实战笔记
📚 教程 💡 案例 🔧 技巧
添加微信
添加作者微信
1对1 专业指导
⚡ 快答 🎯 定制 🚀 支持