跳至内容

聊天触发器节点#

在构建聊天机器人和其他聊天界面的AI工作流时,可使用聊天触发器节点。您可以通过n8n提供的任一界面或自定义界面,配置用户访问聊天的方式。还可添加身份验证功能。

您必须连接一个智能体或链的根节点

工作流执行使用情况

每次向聊天触发器发送的消息都会执行您的工作流。这意味着如果用户在一个对话中发送了10条消息,就会从您的执行配额中扣除10次执行。请查看您的付费计划以了解配额详情。

手动聊天触发器

该节点从1.24.0版本起取代了手动聊天触发器节点。

节点参数#

将聊天设为公开可用#

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

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

模式#

选择用户访问聊天的方式。可选方式包括:

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

认证#

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

  • : 聊天不使用身份验证。任何人都可以使用该聊天。
  • Basic Auth: The chat uses basic authentication.
    • 选择或创建一个带有用户名和密码的基础认证凭据。所有用户必须使用相同的用户名和密码。
  • n8n用户认证: 只有登录n8n账户的用户才能使用聊天功能。

初始消息#

此参数仅在您使用托管聊天时可用。用于配置用户访问页面时n8n聊天界面显示的消息。

节点选项#

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

托管聊天选项#

允许的来源 (CORS)#

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

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

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

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

View screenshot

Customizable text elements

加载之前的会话#

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

如果选择除关闭之外的任何选项,必须将聊天触发器和使用的智能体连接到记忆子节点。当将加载上一会话设置为从记忆时,聊天触发器上的记忆连接器会出现。n8n建议将聊天触发器和智能体都连接到同一个记忆子节点,这能确保两个节点使用单一事实来源。

View screenshot

Connect nodes to memory

响应模式#

当构建包含处理聊天的智能体或链之后步骤的工作流时,请使用此选项。可选范围包括:

  • 当最后一个节点完成时: Chat Trigger节点会返回工作流中最后执行的节点的响应代码和数据输出。
  • 使用'响应Webhook'节点: Chat Trigger节点会按照Respond to Webhook节点中的定义进行响应。

需要点击按钮开始聊天#

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

View screenshot

New Conversation button

嵌入式聊天选项#

允许的来源 (CORS)#

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

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

加载之前的会话#

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

如果选择除关闭以外的任何选项,必须将聊天触发器和使用的智能体连接到记忆子节点。当将加载先前会话设置为从记忆时,聊天触发器上的记忆连接器会出现。n8n建议将聊天触发器和智能体都连接到同一个记忆子节点,这能确保两个节点使用单一真实数据源。

View screenshot

Connect nodes to memory

响应模式#

当构建包含处理聊天的智能体或链之后步骤的工作流时,请使用此选项。可选选项包括:

  • 当最后一个节点完成时: Chat Trigger节点会返回工作流中最后执行节点的响应代码和数据输出。
  • 使用'响应Webhook'节点: 聊天触发器节点会按照响应Webhook节点中的定义进行响应。

模板和示例#

浏览聊天触发器集成模板,或搜索所有模板

查看n8n的高级AI文档。

手动设置聊天响应#

当您不希望直接将智能体或链节点的输出发送给用户时,需要手动设置聊天响应。这种情况下,您可能需要获取智能体或链节点的输出,在将其发送回用户之前进行修改或执行其他操作。

在基础工作流中,智能体和链节点会输出名为outputtext的参数,而聊天触发器会将该参数的值作为聊天响应发送给用户。

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

常见问题#

有关常见问题或疑问及建议解决方案,请参阅常见问题

优云智算