💬 会话标识
# 三个标识分别控制什么
| 标识 | 默认来源 | 用途 |
|---|---|---|
application-name | Spring Boot 的 spring.application.name | 区分不同应用的数据 |
conversationId | 调用方传入,未传时自动生成 | 标识一段连续对话及其共享工作区 |
agentKey | 当前组件的 nodeId | 区分同一对话内不同 Agent 的模型上下文 |
同一会话中的 Agent 各自保存对话状态,共享工作区文件。重新部署后要继续对话,应保持应用名、Agent 标识、会话 ID 和存储数据一致。
# 传入和获取会话 ID
ExecuteOption option = ExecuteOption.of().conversationId("chat-001");
LiteflowResponse response = flowExecutor.execute2Resp("chatChain", "你好", option);
ExecuteOption 位于 com.yomahub.liteflow.core。默认解析顺序为:先复用 Slot 中的会话 ID,再检查请求 Map 的 conversationId,最后自动生成。通常直接通过 ExecuteOption 传入即可。
首轮自动生成后,可从 response.getConversationId() 获取,后续原样传入,完整示例见多轮对话。
# 自定义 Agent 标识
确有需要时,可在组件中覆写:
@Override
protected String agentKey() {
return "order-assistant";
}
Agent 标识应在组件运行期间保持稳定。不要把本次请求 ID 放入 agentKey(),运行时初始化后改变 Agent 身份会被拒绝;按请求区分对话应使用 conversationId。
# 标识与访问权限
这些标识使用普通名称或 UUID,避免 /、\、.. 等路径字符。非法标识会在构建运行时前被拒绝,不会通过自动改写来猜测你的会话名称。
会话 ID 用于定位数据,不是用户认证凭据。对话、历史查询和附件下载接口需要由应用验证当前用户是否有权访问该会话。
帮助我们改善此文档 (opens new window)
上次更新: 2026/09/20, 11:49:27



