Skip to content

修改会话节点 ​

修改会话节点用于重命名当前应用、当前用户作用域内的已有会话。修改成功后,会话 ID 保持不变,已经写入的消息和会话历史仍然属于原会话。

适用场景 ​

  • 用户确认主题后,把临时会话名改成容易识别的业务名称。
  • 工单、订单或任务状态变化后,同步更新会话标题。
  • 根据上游分类结果动态生成新的会话名称。
  • 在不迁移消息、不更换会话 ID 的前提下修正会话名称。

使用前提与作用域 ​

修改会话属于会话管理操作,执行时必须关联应用。资源库工作流试运行时需要选择目标应用,只关联智能体不能替代应用关联。

节点只会在“目标应用(项目)+ 执行用户”的作用域内查找待修改会话,并校验执行用户对目标应用的访问权限。相同名称但属于其他应用或其他用户的会话不会被修改。

添加与配置节点 ​

  1. 在工作流画布中添加“修改会话”节点。
  2. 将上游节点连接到修改会话节点。
  3. 配置当前名称 conversationName 和目标名称 newConversationName。
  4. 使用 isSuccess 判断是否找到并成功修改会话。
  5. 将返回的 conversationId 交给后续消息或历史节点。

修改会话节点的配置面板

图中展示修改会话节点固定的两个输入和三个输出字段。

输入参数 ​

参数类型必填说明
conversationNameString是原会话名称。也兼容传入会话 ID;通常应引用创建会话或查询会话列表得到的可靠值
newConversationNameString是修改后的会话名称。支持固定文本或引用上游节点输出

两个输入在执行时都会去除首尾空白,去除后不能为空。

原会话名称 ​

如果名称来自用户输入,建议先通过查询会话列表确认目标。仅凭展示文本直接修改,可能因为名称错误、大小写区别或作用域不一致而找不到会话。

新会话名称 ​

建议使用稳定的业务标识组成名称,例如 售后工单-20260824-已受理。如果业务要求名称唯一,应在修改前查询会话列表并自行判断目标名称是否已被占用。

WARNING

运行链路不会在重命名前检查 newConversationName 是否与另一个会话重复。虽然节点保留 isExisted 输出,成功修改和找不到原会话时该字段均为 false。不要依赖它完成名称冲突校验。

输出参数 ​

参数类型说明
isSuccessBooleantrue 表示找到目标会话并完成更新;false 表示作用域内没有找到待修改会话
isExistedBoolean保留字段,不用于报告目标名称冲突
conversationIdString修改后的会话 ID。修改名称不会改变 ID;找不到目标时为空字符串

修改成功时,典型结果为:

json
{
  "isSuccess": true,
  "isExisted": false,
  "conversationId": "conv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

找不到原会话时,节点返回:

json
{
  "isSuccess": false,
  "isExisted": false,
  "conversationId": ""
}

执行逻辑 ​

节点按以下顺序执行:

  1. 解析 conversationName 和 newConversationName 的固定值或变量引用,并校验非空。
  2. 从运行上下文读取关联应用,校验执行用户对目标应用的访问权限。
  3. 优先把 conversationName 作为会话 ID 查找;未命中时,再在目标应用和执行用户作用域内按名称查找有效会话。
  4. 没有找到目标时,返回 isSuccess=false 和空 conversationId。
  5. 找到目标时,更新会话名称与标题,保留原 conversationId、消息和历史记录。
  6. 返回固定的三个输出字段。

如果新名称与当前名称相同,节点仍会执行一次更新并返回成功;它不会创建新会话。

推荐编排 ​

通过创建结果重命名 ​

创建会话 → 判断 isSuccess → 修改会话 → 判断 isSuccess → 后续消息处理

创建会话节点输出的是 conversationId,而修改节点字段名仍叫 conversationName。执行器允许把该 ID 作为 conversationName 的值传入,这比重新拼接原名称更稳定。

保证目标名称唯一 ​

查询会话列表 → 检查 newConversationName 是否已存在 → 修改会话 / 生成新名称 → 结束

主存储路径不会自动阻止重名,因此需要唯一性时必须把检查放在工作流中明确实现。

试运行建议 ​

建议在关联应用后按以下顺序验证:

  1. 创建一个测试会话并记录其 conversationId。
  2. 使用会话 ID 或当前名称执行修改,期望 isSuccess=true。
  3. 查询会话列表,确认名称已经改变、conversationId 保持不变。
  4. 如果会话已有消息,再查询会话历史,确认消息仍然存在。
  5. 使用不存在的原名称执行一次,确认 isSuccess=false 且 conversationId 为空。

不要在生产业务会话上随意试运行重命名。测试工作流应使用专门的应用和测试会话名称。

常见错误与处理 ​

现象原因处理
提示需要关联应用调试或运行上下文中没有目标应用,或只关联了智能体在试运行配置中选择应用后重试
提示输入必填任一输入为空、只含空白,或上游变量没有值检查两个输入的固定值和变量引用
isSuccess=false 且 ID 为空目标应用和执行用户作用域内没有找到原会话先查询会话列表,确认名称或直接使用可靠的会话 ID
修改后出现同名会话主运行链路没有执行目标名称冲突检查修改前查询列表并增加唯一性判断,或生成带业务 ID 的名称
权限校验失败执行用户无权访问关联应用切换到有权限的应用,或由管理员授予必要权限
修改成功但后续节点仍找不到会话后续节点继续使用了原名称优先保存并传递不变的 conversationId,不要依赖原名称

发布前检查 ​

  • 两个输入在所有执行分支上都非空。
  • conversationName 来自可靠的会话 ID、创建结果或查询结果。
  • 工作流已关联正确应用,执行用户拥有访问权限。
  • 需要名称唯一时,已在修改前显式查询并校验。
  • 后续流程保存和传递 conversationId,不会继续使用原名称定位会话。
  • 已验证修改成功、目标不存在和消息保留三条路径。
  • 失败分支不会继续执行需要有效会话的消息或历史节点。