跳到主要内容

Chat Trigger 节点#

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

你必须连接一个 agent 或 chain 根节点

工作流执行使用量

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

Manual Chat trigger

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

节点参数#

公开聊天#

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

在构建工作流时保持关闭状态。当你准备好激活工作流并允许用户访问聊天时将其打开。

模式#

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

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

身份验证#

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

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

初始消息#

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

节点选项#

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

托管聊天选项#

允许的来源 (CORS)#

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

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

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

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

查看截图

可自定义的文本元素

加载上一个会话#

选择是否从上一个聊天会话加载聊天消息。

如果你选择除 Off 之外的任何选项,则必须将 Chat trigger 和你正在使用的 Agent 连接到内存子节点。当你将 Load Previous Session 设置为 From Memory 时,Chat trigger 上的内存连接器会出现。n8n 建议将 Chat trigger 和 Agent 都连接到同一个内存子节点,因为这可以确保两个节点的单一事实来源。

查看截图

将节点连接到内存

响应模式#

在构建包含处理聊天的 agent 或 chain 之后的步骤的工作流时使用此选项。可选项:

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

使用响应节点

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

  • 流式响应:在工作流处理时启用实时数据流回用户。需要工作流中具有流式支持的节点(例如,AI agent 节点)。

需要点击按钮开始聊天#

设置是否在聊天界面上显示 New Conversation 按钮(打开)或不显示(关闭)。

查看截图

新对话按钮

嵌入式聊天选项#

允许的来源 (CORS)#

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

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

加载上一个会话#

选择是否从上一个聊天会话加载聊天消息。

如果你选择除 Off 之外的任何选项,则必须将 Chat trigger 和你正在使用的 Agent 连接到内存子节点。当你将 Load Previous Session 设置为 From Memory 时,Chat trigger 上的内存连接器会出现。n8n 建议将 Chat trigger 和 Agent 都连接到同一个内存子节点,因为这可以确保两个节点的单一事实来源。

查看截图

将节点连接到内存

响应模式#

在构建包含处理聊天的 agent 或 chain 之后的步骤的工作流时使用此选项。可选项:

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

使用响应节点

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

  • 流式响应:在工作流处理时启用实时数据流回用户。需要启用流式支持的节点。

模板和示例#

使用简单向量存储、表单触发器和 OpenAI 的 RAG 入门模板

作者:n8n Team

查看模板详情

将多个触发器统一到单个工作流中

作者:Guillaume Duvernay

查看模板详情

从新的 Jotform 提交触发出站 Vapi AI 语音呼叫

作者:Aitor | 1Node

查看模板详情

浏览 Chat Trigger 集成模板,或搜索所有模板

相关资源#

查看 n8n 的高级 AI 文档。

手动设置聊天响应#

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

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

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

Respond to Chat 节点

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

常见问题#

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