Appearance
消息节点
消息节点管理会话中的具体消息记录。每条消息都属于一个会话,并带有消息角色和内容。
资源库工作流试运行消息节点时,应关联能够提供会话项目的目标应用。当前执行器读取明确的 conversation_project_id,也接受资源上下文中的 app_id 作为会话项目;仅关联不提供这些标识的智能体并不足以定位会话数据。
共同作用域与结果规则
- 四个节点都按“当前会话项目 + 当前用户 + 目标会话”限定数据范围。
conversationName均可填写会话名称;当前执行器也会优先把它尝试作为会话 ID 查找。正式流程优先传唯一的conversationId。- 使用名称查找时不区分大小写;同名时当前实现选择最近更新的一条。
- 创建、修改和删除节点输出
isSuccess;查询消息列表节点没有成功标志,空结果不能单独证明查询成功。 - 删除消息和清空会话历史会让消息退出普通读取;后续修改和查询不能再命中这些消息。
- 四个节点的截图、字段和完整说明均以当前系统与当前执行代码为准,旧版第三方界面和旧数字内容类型不再作为现行契约。
创建消息节点
创建消息节点向当前会话项目和用户作用域内已经存在的会话插入一条文本消息。节点不会自动创建会话,也不会自动调用模型生成回复。
| 输入 | 类型 | 说明 |
|---|---|---|
conversationName | String,必填 | 目标会话名称;截图中的 Default 是示例值,执行器也支持传入会话 ID |
role | String,必填 | user 或 assistant,默认 user |
content | String,必填 | 非空消息文本,当前固定按 text 内容类型存储 |
输出:
isSuccess:是否创建成功。message.messageId:新消息 ID。message.role:消息角色。message.contentType:当前消息内容类型。message.content:消息内容。
当前执行器只有精确的小写 assistant 会保留为助手角色,其他非空非法角色值会归一为 user,空值会触发必填校验。创建失败时仍可能返回占位 message,下游必须先判断 isSuccess。节点没有幂等保护,重复执行会产生不同消息 ID 和多条记录。
当前节点按文本消息契约配置。文件对象和媒体 URL 都不会自动形成多模态消息;URL 只会作为普通文本保存。

修改消息节点
修改消息节点替换当前会话项目和用户作用域内一条有效消息的文本内容。它不会改变消息 ID、角色、所属会话或历史顺序,也不会重新生成已经产生的模型回答。
| 输入 | 类型 | 说明 |
|---|---|---|
conversationName | String,必填 | 消息所属会话;截图中的 Default 是示例值,执行器也支持传入会话 ID |
messageId | String,必填 | 要修改的消息 ID,必须属于目标会话 |
newContent | String,必填 | 非空的新文本,当前固定按 text 内容类型保存 |
输出只有 isSuccess,不返回修改后的消息或原内容。会话或消息未命中、消息已删除,或资源库运行上下文没有会话项目时通常返回 false;参数为空、权限校验或存储异常可能直接使节点执行失败。
修改成功后,后续查询和模型上下文读取会看到新内容,但已有模型回答不会自动重新生成。当前更新没有版本条件,并发修改时后完成的写入会覆盖先完成的写入;正式流程应保存原内容并在成功后重新查询确认。

删除消息节点
删除消息节点让当前会话项目和用户作用域内的一条有效消息退出普通消息历史。它不会删除整个会话,也不会自动按问答轮次删除相邻的普通消息。
输入 conversationName、messageId,输出只有 isSuccess。conversationName 也支持会话 ID;消息必须属于解析出的会话且尚未删除。首次删除成功后,以相同参数再次执行会返回 false。
当前持久化实现采用逻辑删除,后续普通查询和模型上下文不再读取目标消息。删除带 chat_id 的 answer 时,还会一并删除同一调用链的函数调用、工具响应、工具输出、追问和详细过程消息;删除用户消息不会自动删除后续助手回答。

查询消息列表节点
查询消息列表节点按创建时间倒序分页读取当前会话项目和用户作用域内的有效消息。空 limit 当前默认 20 条,不是旧文档中的 100 条;已删除或清空的消息不会返回。
| 输入 | 必填 | 说明 |
|---|---|---|
conversationName | 是 | 会话名称;截图中的 Default 是示例值,执行器也支持传入会话 ID |
limit | 否 | 单次返回数量,空值默认 20,当前范围 1~100 |
beforeId | 否 | 查询游标之前的更新消息;可能直接跳到最新一页,不保证严格相邻 |
afterId | 否 | 查询游标之后的更旧消息;连续翻页时使用上一页 lastId |
输出:
| 字段 | 说明 |
|---|---|
messageList | 倒序消息列表,每项包含 messageId、role、contentType、content |
firstId | 当前页第一条、即本页最新消息 ID |
lastId | 当前页最后一条、即本页最旧消息 ID |
hasMore | 当前游标和数量限制之后是否还有更多结果 |
当前节点会包含工具和过程类中间消息,但输出不提供 messageType;结构化内容会被标准化为字符串。节点也没有 isSuccess,空会话、会话未命中和资源项目缺失都可能返回空列表,正式流程应先确保应用关联和会话 ID 来源可靠。
首次请求两个游标留空;连续加载更旧消息使用 afterId=上一页 lastId。无效游标会被忽略,调用方必须按 messageId 去重,不要同时随意设置两个游标。

推荐消息顺序
需要模拟历史对话时,按 user → assistant → user → assistant 的真实顺序创建消息。一问一答构成一轮,角色错位会影响模型对上下文的判断。