Skip to content

查询会话列表节点

查询会话列表节点用于读取当前应用、当前用户作用域内仍然有效的会话,输出会话名称和会话 ID,便于后续选择目标会话并继续执行修改、删除、历史或消息处理。

查询会话列表节点配置面板

适用场景

  • 在修改或删除会话前列出可操作的会话。
  • 为选择器、循环或条件分支提供候选会话。
  • 根据会话名称找到对应的 conversationId,再交给后续节点使用。
  • 检查当前用户在关联应用中是否已有会话。

该节点只负责读取列表,不会创建、修改、删除会话,也不会返回会话中的消息内容。

使用前提与作用域

资源库工作流试运行或正式执行该节点时必须关联应用。节点使用运行上下文中的应用和当前用户作为查询范围:

  • 不会返回其他应用中的会话。
  • 不会返回其他用户的会话。
  • 已删除的会话不会出现在结果中。
  • 当前实现没有按智能体、连接器、名称或会话类型筛选的配置项。

添加与配置节点

  1. 在工作流画布中单击“添加节点”。
  2. 选择“会话管理节点”中的“查询会话列表”。
  3. 将开始节点连接到查询会话列表节点。
  4. conversationList 连接到循环、选择、代码或后续会话处理节点。
  5. 试运行前,在运行配置中关联目标应用。

当前节点没有需要手工配置的输入参数。应用与用户信息由运行上下文提供,不需要作为普通变量传入。

输出参数

参数类型说明
conversationListArray<Object>当前作用域内的会话列表;没有可用会话时返回空数组
conversationList[].conversationNameString会话名称,适合展示给用户
conversationList[].conversationIdString会话唯一 ID,适合传给后续会话或消息节点

当前节点最终只输出 conversationList,不输出 totalhasMore、页码或下一页游标。因此,不能根据节点输出判断当前作用域内是否还有未返回的更多会话。

当前版本的执行逻辑

节点执行时按以下顺序处理:

  1. 校验工作流是否关联应用,并校验当前用户是否有权访问该应用。
  2. 从运行上下文取得应用标识和当前用户标识。
  3. 查询这两个标识共同作用域内、尚未删除的会话。
  4. 按会话创建时间倒序排列,即新创建的会话优先。
  5. 从偏移量 0 开始,默认最多读取 20 条。
  6. 将每条记录收敛为 conversationNameconversationId,形成 conversationList

编辑器当前没有提供数量、偏移量、排序方式或筛选条件的输入控件,所以普通工作流使用的是上述默认行为。不要把该节点描述为“查询全部会话”。

关于“静态会话”和“动态会话”

旧文档和当前节点面板的简介中仍有“包含静态会话、动态会话”的文字,但当前输出结构没有会话类型字段,运行时也没有按静态或动态类型分类的筛选与标记。

因此,本文档以当前可验证的执行契约为准:节点返回当前应用和用户作用域内的有效会话,但不能通过结果判断某条会话属于静态会话还是动态会话。后续流程不应依赖这一分类。

推荐编排

选择一个会话继续处理

查询会话列表 → 循环或代码节点匹配名称 → 取得 conversationId → 查询历史 / 修改会话 / 删除会话

  • 名称用于展示和初步匹配。
  • 真正调用后续节点时优先传递 conversationId,避免重名或改名造成误操作。
  • 没有匹配项时走明确的空结果分支,不要把空字符串传给后续节点。

判断是否已有会话

查询会话列表 → 判断列表长度 → 已有会话分支 / 创建会话分支

这种编排适合会话数量较少、目标通常位于最近 20 条中的场景。若业务必须检索超过 20 条的完整集合,当前节点不能完成可靠遍历,应使用具备分页能力的接口或等待产品补充分页配置。

试运行与验收

建议至少验证以下情况:

  1. 在目标应用中创建一个新会话,然后执行查询节点,确认列表前部出现该会话。
  2. 检查该项同时包含非空的 conversationNameconversationId
  3. 删除该会话后再次查询,确认它不再出现在列表中。
  4. 切换应用或用户执行,确认不会沿用前一个作用域的结果。
  5. 使用没有会话的测试用户执行,确认输出为 conversationList=[],而不是节点报错。

不要使用生产用户的真实会话做删除验收;应使用专门创建的测试会话。

常见问题与处理

现象原因处理
提示需要关联应用资源库工作流试运行时没有选择应用,或只关联了智能体在试运行配置中关联目标应用后重试
返回空数组当前应用和用户作用域内没有有效会话,或使用了错误的应用/用户上下文核对运行身份和关联应用,必要时先创建测试会话
找不到较早的会话当前节点默认只返回按创建时间倒序排列的前 20 条不要把该节点当作全量查询;改用分页接口或调整业务方案
列表中没有已删除会话查询会主动排除删除标记不为空的记录如需审计删除记录,应使用审计或管理能力,而不是该节点
无法区分静态和动态会话当前输出没有会话类型字段不依赖该分类;以会话 ID 和业务侧显式数据作为判断依据
无法取得总数或下一页执行器最终只保留 conversationList当前工作流节点无法判断是否还有更多结果
权限校验失败当前用户无权访问关联应用切换到有权限的应用,或由管理员授予必要权限

与旧文档的核对结论

旧文档内容当前处理
节点没有输入参数保留;应用和用户从运行上下文取得
输出 conversationList,每项包含名称和 ID保留,并使用当前字段名 conversationNameconversationId
查询当前用户的所有会话更正;当前默认只返回按创建时间倒序排列的前 20 条有效会话
返回静态会话和动态会话不作为可依赖契约;当前输出没有类型字段,运行时也不标记该分类
资源库试运行需要关联应用保留;当前校验明确要求应用关联
草稿数据与线上数据隔离不作为节点契约沿用;环境隔离取决于实际部署和运行配置

发布前检查

  • 已确认工作流关联的是正确应用。
  • 已确认下游只使用 conversationNameconversationId 两个字段。
  • 已处理 conversationList=[] 的空结果分支。
  • 已知晓默认最多返回 20 条,未把结果误认为完整集合。
  • 需要定位具体会话时,已优先传递唯一 conversationId
  • 未依赖结果中不存在的会话类型、总数或分页字段。