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

适用场景
- 在修改或删除会话前列出可操作的会话。
- 为选择器、循环或条件分支提供候选会话。
- 根据会话名称找到对应的
conversationId,再交给后续节点使用。 - 检查当前用户在关联应用中是否已有会话。
该节点只负责读取列表,不会创建、修改、删除会话,也不会返回会话中的消息内容。
使用前提与作用域
资源库工作流试运行或正式执行该节点时必须关联应用。节点使用运行上下文中的应用和当前用户作为查询范围:
- 不会返回其他应用中的会话。
- 不会返回其他用户的会话。
- 已删除的会话不会出现在结果中。
- 当前实现没有按智能体、连接器、名称或会话类型筛选的配置项。
添加与配置节点
- 在工作流画布中单击“添加节点”。
- 选择“会话管理节点”中的“查询会话列表”。
- 将开始节点连接到查询会话列表节点。
- 把
conversationList连接到循环、选择、代码或后续会话处理节点。 - 试运行前,在运行配置中关联目标应用。
节点配置面板没有可编辑输入参数。应用与用户信息由运行上下文提供,不需要作为普通变量传入。
输出参数
| 参数 | 类型 | 说明 |
|---|---|---|
conversationList | Array<Object> | 运行作用域内的会话列表;没有可用会话时返回空数组 |
conversationList[].conversationName | String | 会话名称,适合展示给用户 |
conversationList[].conversationId | String | 会话唯一 ID,适合传给后续会话或消息节点 |
节点最终只输出 conversationList,不输出 total、hasMore、页码或下一页游标。因此,不能根据节点输出判断作用域内是否还有未返回的更多会话。
执行逻辑
节点执行时按以下顺序处理:
- 校验工作流是否关联应用,并校验当前用户是否有权访问该应用。
- 从运行上下文取得应用标识和当前用户标识。
- 查询这两个标识共同作用域内、尚未删除的会话。
- 按会话创建时间倒序排列,即新创建的会话优先。
- 从偏移量
0开始,默认最多读取20条。 - 将每条记录收敛为
conversationName和conversationId,形成conversationList。
编辑器没有提供数量、偏移量、排序方式或筛选条件的输入控件,因此普通工作流使用上述默认行为。不要把该节点用于需要完整遍历的会话清单。
结果使用建议
conversationName 适合在页面或问答中展示;需要调用修改会话、删除会话、查询历史或消息节点时,优先传递唯一的 conversationId。节点输出不包含会话类型、总数或分页标记,业务判断应基于输出中实际存在的字段。
推荐编排
选择一个会话继续处理
查询会话列表 → 循环或代码节点匹配名称 → 取得 conversationId → 查询历史 / 修改会话 / 删除会话
- 名称用于展示和初步匹配。
- 真正调用后续节点时优先传递
conversationId,避免重名或改名造成误操作。 - 没有匹配项时走明确的空结果分支,不要把空字符串传给后续节点。
判断是否已有会话
查询会话列表 → 判断列表长度 → 已有会话分支 / 创建会话分支
这种编排适合会话数量较少、目标通常位于最近 20 条中的场景。若业务必须检索超过 20 条的完整集合,应使用具备分页能力的接口。
试运行建议
建议至少验证以下情况:
- 在目标应用中创建一个新会话,然后执行查询节点,确认列表前部出现该会话。
- 检查该项同时包含非空的
conversationName和conversationId。 - 删除该会话后再次查询,确认它不再出现在列表中。
- 切换应用或用户执行,确认不会沿用前一个作用域的结果。
- 使用没有会话的测试用户执行,确认输出为
conversationList=[],而不是节点报错。
不要使用生产用户的真实会话执行删除测试;应使用专门创建的测试会话。
常见问题与处理
| 现象 | 原因 | 处理 |
|---|---|---|
| 提示需要关联应用 | 资源库工作流试运行时没有选择应用,或只关联了智能体 | 在试运行配置中关联目标应用后重试 |
| 返回空数组 | 运行作用域内没有有效会话,或使用了错误的应用/用户上下文 | 核对运行身份和关联应用,必要时先创建测试会话 |
| 找不到较早的会话 | 节点默认只返回按创建时间倒序排列的前 20 条 | 不要把该节点当作全量查询;改用分页接口或调整业务方案 |
| 列表中没有已删除会话 | 查询会主动排除删除标记不为空的记录 | 如需审计删除记录,应使用审计或管理能力,而不是该节点 |
| 需要区分会话类型 | 输出没有会话类型字段 | 以会话 ID 和业务侧显式数据作为判断依据 |
| 无法取得总数或下一页 | 执行器最终只保留 conversationList | 当前工作流节点无法判断是否还有更多结果 |
| 权限校验失败 | 当前用户无权访问关联应用 | 切换到有权限的应用,或由管理员授予必要权限 |
发布前检查
- 已确认工作流关联的是正确应用。
- 已确认下游只使用
conversationName和conversationId两个字段。 - 已处理
conversationList=[]的空结果分支。 - 已知晓默认最多返回 20 条,未把结果误认为完整集合。
- 需要定位具体会话时,已优先传递唯一
conversationId。 - 未依赖结果中不存在的会话类型、总数或分页字段。