
# 消息
消息节点是工作流中的**即时反馈机制**。与"结束节点"不同，消息节点允许工作流在执行过程中，向用户界面主动推送中间结果，而无需等待整个流程结束。
**核心价值**
- 降低等待焦虑：在执行耗时任务（如联网搜索、生成长文）前，先发送"正在搜索中..."的提示。
- 分步输出：将复杂的推理过程拆分为多个消息气泡，提升阅读体验。
- 调试与监控：在开发阶段输出变量的中间状态，用于逻辑排查。
**消息节点使用场景：**
表1消息节点使用场景 
| 场景        | 示例                               | 为什么不用结束节点                  |
|:---|:---|:---|
| **进度提示**  | 工作流需要调用多个API，先告诉用户"正在查询中，请稍候..." | 结束节点只能在最后输出，用户会长时间看到空白     |
| **流式输出**  | 大模型生成长文本时，逐字逐句展示给用户（打字机效果）       | 结束节点等大模型完整输出后才一次性展示        |
| **兜底回复**  | 意图识别走到"其他意图"分支时，返回一段默认话术         | 该分支无需复杂处理，消息节点比大模型节点更轻量灵活。 |
| **调试与日志** | 开发阶段输出中间变量值，验证工作流逻辑是否正确          | 调试信息不应出现在最终结果中             |
| **分段回复**  | 先回复文字摘要，工作流继续执行后续操作（如生成图表）       | 用户先看到文字，不必等全部结果就绪          |
   
#### 配置消息节点
配置消息节点的详细参数说明如下：
#### 输入参数
输入参数定义了从前置节点传入的变量，在指定回复中通过 {{参数名}} 引用。当选择回复内容为纯文本时，可以不配置输入参数。
当单击![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687949582.png)图标时，可新增输入参数。
- 参数名称：只允许输入字母、数字、下划线，且不能以数字开头。
- 类型、值：支持"引用"和"输入"两种类型。
  - 引用：支持引用三类参数源，工作流前置节点的输出参数、全局配置中的记忆变量（需预先设置），以及系统参数。
    系统参数列举如下：
    - "conversation_history"：存储当前对话的历史消息记录。
    
    - "current_time"：获取当前的系统时间戳或时间字符串。
    
    - "user_id"：识别当前用户的唯一标识符。
    
    - "conversation_id"：当前工作流的唯一对话标识。
    
    - "dialogue_count"：当前对话的轮次数计数。
      
  
  - 输入：支持用户自定义取值。
   
- 描述：（可选）用于说明该输入参数的具体含义。
 
#### 指定回复
撰写发送给用户的消息内容，支持纯文本或引用{{参数名}}的形式插入变量，回复信息将在工作流执行到该节点时发送给用户。
插入变量的方式如[图1]所示，想要消息节点输出检索到的知识切片的内容，则添加输入参数"rep_out"，引用前置知识检索节点的输出参数"content"，并在指定回复中引用{{rep_out}}即可；也可以单击![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687949552.png)快速插入输入参数，或在输入框中键入' {' 快速引用参数。
会话写入历史控制消息节点的交互内容是否记录到对话历史中：
| 选项     | 行为              | 适用场景                                 |
|:---|:---|:---|
| 写入（默认） | 消息节点输出都会写入会话历史。 | 一般用于记录用户与机器人的对话历史，以便模型能更好理解用户意图。     |
| 不写入    | 输出不写入会话历史。      | 一般机器与机器的交互历史无需记录，提升历史对话信息准确性，减少历史长度。 |
   
图1设置消息节点   
![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717549205.png "点击放大")
如果开启下面的"结构化信息"，可在"结构化信息"中使用{{_NODE_OUTPUT}}引用指定回复。
#### 结构化信息
回复消息为普通文本时无需开启。当需要前端应用（如Web SDK、小程序）接收JSON数据或渲染UI卡片或下游系统需要解析消息的结构化字段，开启"结构化信息"开关。开启后，节点将不再只发送文本，而是将"指定回复"的内容封装在JSON对象中返回。功能开启时，可使用{{_NODE_OUTPUT}}引用"指定回复"中的信息实现结构化输出。
示例：
假设前端不仅显示文本，还能获取原始数据用于图表渲染。
- **指定回复**：已为您生成分析报告，共包含{{count}}条数据。
- **结构化信息** (JSON格式)：
  ```
  {
    "msg_type": "report_card",
    "display_text": "{{_NODE_OUTPUT}}",
    "data": 
   {
        "report_id": "{{report_id}}",
        "timestamp": 1679000000
    }
   }
  ```
  
- **最终** **前端收到的数据包** ：
  ```
  {
    "msg_type": "report_card",
    "display_text": "已为您生成分析报告，共包含 12 条数据。",
    "data": { ... }
  }
  ```
  
 
#### 相关操作
- 单击节点名称，可修改节点名称。
- 单击![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717549909.png)图标，可对节点进行重命名、复制、删除或更换节点；也可以将节点连接到结束节点。
- 单击![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687790412.png)图标，可对节点进行测试。
- 单击名称下面的节点说明，可修改节点的描述信息。
- 单击![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717549911.png)图标，可查看文档信息。
 
#### 配置示例
以工作流调用外部API查询数据，耗时较长。在API调用前消息节点先向用户发送等待提示为例。
图2工作流   
![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687789720.png "点击放大")
工作流核心节点如[表2]所示。
 表2节点配置说明 
| 节点类型      | 说明                                                                                                                                        | 示例                                                                                                                                        |
|:---|:---|:---|
| 开始节点      | 添加一个必选的输入参数，名为ip，即用户需要查询区域的IP地址。                                                                                                          |  ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717549193.png "点击放大")                                     |
| 消息节点      | 此节点用于向用户发送进度提醒消息。 **指定回复：** ``` 正在为您查询，请稍候… ```                                                         |  ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687949564.png "点击放大")                                     |
| 插件节点-IP查询 | 此节点用于查询IP地址的归属地。 **输入参数：** ip：引用"开始"节点的输入参数ip。                      | ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687789726.png "点击放大")  |
| 结束节点      | 此节点用于输出"IP查询"插件节点的IP归属地查询结果。 **输入参数：** result：引用"IP查询"插件节点的输出参数area。 |  ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717549215.png "点击放大")                                     |
   
在试运行配置界面输入IP地址，例如"10.0.0.0"，工作流运行的效果如[图3]所示，消息节点在调用API之前，给用户发送进度提醒"正在为您查询，请稍候..."。
图3效果示例   
![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717389317.png)
#### 常见问题
- **消息节点和结束节点的区别是什么？**
  表3消息节点和结束节点区别 
  | 维度     | 消息节点                     | 结束节点             |
  |:---|:---|:---|
  | 触发时机   | 工作流执行到该节点时**立即发送**       | 工作流**全部执行完毕**后输出 |
  | 出现次数   | 一个工作流中可以有**多个**消息节点      | 通常只有**一个**结束节点   |
  | 是否阻断流程 | **不阻断**，消息发送后工作流继续执行后续节点 | **阻断**，输出后工作流结束  |
  | 流式输出   | 支持引用流式参数（逐字展示）           | 不支持引用流式输出参数      |
  | 典型用途   | 中间消息、进度提示、流式内容           | 最终结果、完整回复        |
     
  
- **为什么消息内容显示 {{order_id}} 原文而非变量值？**
  参数名拼写错误，或输入参数中未定义该变量。请检查"指定回复"中的 {{参数名}} 与"输入参数"中的名称是否完全一致（区分大小写）。
  
- **为什么消息内容为空？**
  引用的上游节点未输出结果（如API调用失败），请在上游节点中检查输出，确认变量有值。可在消息模板中加入固定文本兜底。
  
- **为什么结构化信息中 {{_NODE_OUTPUT}} 为空？**
  "指定回复"未填写内容，由于{{_NODE_OUTPUT}} 引用的是"指定回复"的渲染结果，需先填写指定回复内容。
  
 
