Appearance
创建会话节点
创建会话节点在当前应用中创建一个用于承载连续消息的空会话。节点本身只创建会话对象,不会自动写入用户消息或模型回复;后续可把 conversationId 交给消息节点、会话历史节点或对话流继续处理。
适用场景
- 首次进入应用时,为当前用户建立一个业务会话。
- 按订单、工单、客户或任务主题隔离上下文。
- 在工作流中先创建会话,再写入消息或调用需要会话上下文的后续流程。
- 用稳定的会话名称重复进入同一主题,并复用已经存在的会话。
使用前提与作用域
创建会话属于会话管理操作,执行时必须关联一个应用。资源库工作流试运行时,应在调试配置中选择目标应用;只关联智能体不能替代应用关联。
节点会在“目标应用(项目)+ 当前用户”的作用域内查找和创建会话,并检查当前用户是否有权访问该应用。不同应用或不同用户之间的同名会话互不复用。
IMPORTANT
旧文档中的“动态会话区域”“草稿态临时数据”和“最多 200 个会话”等描述,没有在当前节点定义、执行器和编辑器中形成同等约束,本页不继续沿用。实际数据保留与环境隔离策略以部署环境为准。
添加与配置节点
- 在工作流画布中添加“创建会话”节点。
- 连接需要先执行的上游节点。
- 配置必填输入
conversationName。 - 将
isSuccess、isExisted和conversationId连接到判断、消息或输出节点。 - 试运行时关联目标应用,再检查节点输出。

图中画布只保留开始、创建会话和结束节点,右侧面板展示当前版本固定的输入与输出字段。
输入参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
conversationName | String | 是 | 会话名称。支持填写固定文本,也支持引用上游节点输出。首尾空白会在执行时被去除,去除后不能为空 |
固定值
名称固定且可复用时,可直接填写清晰的业务名称,例如 售后工单-20260824-001。
引用上游变量
需要按业务对象动态隔离会话时,可引用上游节点生成的名称。建议名称中包含稳定业务标识,例如工单号或订单号;不要只使用容易重复的展示标题。
输出参数
| 参数 | 类型 | 说明 |
|---|---|---|
isSuccess | Boolean | 本次查找或创建是否成功。节点执行异常时,流程会进入异常处理,不应只依赖该字段兜底 |
isExisted | Boolean | true 表示当前作用域内已经存在同名会话,本次复用了原会话;false 表示创建了新会话 |
conversationId | String | 新建或复用会话的唯一 ID,供后续消息、历史或业务节点引用 |
成功创建新会话时,典型结果为:
json
{
"isSuccess": true,
"isExisted": false,
"conversationId": "conv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}命中同名会话时,节点不会重复创建,而是返回已有会话 ID:
json
{
"isSuccess": true,
"isExisted": true,
"conversationId": "conv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}当前版本的执行逻辑
节点按以下顺序执行:
- 解析
conversationName的固定值或变量引用,并校验结果非空。 - 从运行上下文读取关联应用,校验当前用户对目标应用的访问权限。
- 在目标应用与当前用户的作用域内按名称查询有效会话。
- 如果找到同名会话,返回原
conversationId,并令isExisted=true。 - 如果没有找到,则创建状态为有效的空会话,生成新的
conversationId,并令isExisted=false。
因此,创建会话节点在相同作用域和相同名称下具备幂等复用语义。重复执行并不等于创建多个同名会话。
推荐编排
创建后写入消息
开始 → 创建会话 → 判断 isSuccess → 创建消息 → 结束
后续消息节点应使用本节点输出的 conversationId 或与之对应的会话引用,避免再次通过不稳定的展示文本猜测目标会话。
区分首次创建与再次进入
创建会话 → 判断 isExisted → 首次初始化 / 直接复用 → 后续处理
isExisted=false:可以写入欢迎语、初始化业务状态或建立首条系统记录。isExisted=true:可以直接查询历史消息或继续原主题。
试运行与验收
资源库工作流包含创建、修改、删除或查询会话列表节点时,试运行必须关联应用。建议至少验证两次:
- 使用一个未出现过的名称执行,期望
isSuccess=true、isExisted=false,并返回非空conversationId。 - 保持应用、用户和名称不变再次执行,期望
isSuccess=true、isExisted=true,且conversationId与第一次一致。
更换应用或用户后,不应假定仍会命中第一次创建的会话。
常见错误与处理
| 现象 | 原因 | 处理 |
|---|---|---|
| 提示需要关联应用 | 调试或运行上下文中没有目标应用,或只关联了智能体 | 在试运行配置中选择应用后重试 |
提示 conversationName 必填 | 输入为空、只含空白,或上游变量没有值 | 检查固定值和变量引用;在上游增加非空校验 |
| 权限校验失败 | 当前用户无权访问目标应用 | 切换到有权限的应用,或由应用管理员授予必要权限 |
isExisted=true | 当前应用和用户下已经存在同名会话 | 需要续接时直接复用;必须新建时生成新的业务名称 |
conversationId 为空或节点异常 | 会话服务没有返回有效 ID,或底层服务执行失败 | 保留运行记录,检查节点错误信息和会话服务日志,不要继续写入消息 |
与旧文档的核对结论
| 旧文档内容 | 当前处理 |
|---|---|
| 创建一个没有消息的会话 | 保留;当前存储实现创建会话后初始化空消息集合 |
conversationName 必填,可填写固定值或引用变量 | 保留 |
| 同一应用中名称唯一;重名时返回原会话 ID | 保留,并明确作用域为目标应用与当前用户 |
输出 isSuccess、isExisted、conversationId | 保留,字段和类型与当前节点定义一致 |
| 资源库试运行时需要关联应用 | 保留;当前校验明确要求应用关联,关联智能体不能替代 |
| 创建空白上下文片段、显示在“动态会话区域” | 不沿用;当前实现没有对应的用户可见契约 |
| 每个用户最多 200 个会话 | 不沿用;当前节点定义与执行器没有该限制 |
发布前检查
conversationName非空,并能稳定区分业务主题。- 动态名称引用的上游字段在所有分支上都有值。
- 工作流已关联正确的应用,执行用户拥有访问权限。
- 后续节点使用
conversationId,并处理isExisted两种结果。 - 已验证首次创建与同名复用两条路径。
- 异常分支不会在会话创建失败后继续写入消息。