Skip to content

[Bug] 企业微信多智能体同时对接时共用同一个 chat_session_id,第二个对话报 500 对话不存在 #6325

Description

@ggh-zyy

Contact Information

1966236926@qq.com

MaxKB Version

2.10.2

Problem Description

在 MaxKB 后台创建 2 个独立智能体
分别配置两个企业微信自建应用,分别绑定上述两个不同智能体
先后在两个企业微信应用发起对话
第一个发起对话的应用交互正常;第二个应用请求直接返回 500 错误,提示 对话不存在
手动清空 Redis 内 chat_session_id 相关缓存后重试,现象完全一致:先触发的正常,后触发的报错

Image

根因定位
排查 Redis 缓存数据发现:
两个企业微信应用对话生成、复用同一个 chat_session_id,未按「渠道 + 智能体 + 用户」维度做隔离;
同一 session_id 被两条对话逻辑共用,会话上下文冲突,后发起的会话校验会话时判定不存在,抛出 500 异常。

Steps to Reproduce

在 MaxKB 后台创建 2 个独立智能体
分别配置两个企业微信自建应用,分别绑定上述两个不同智能体
先后在两个企业微信应用发起对话
第一个发起对话的应用交互正常;第二个应用请求直接返回 500 错误,提示 对话不存在
手动清空 Redis 内 chat_session_id 相关缓存后重试,现象完全一致:先触发的正常,后触发的报错

The expected correct result

No response

Related log output

Additional Information

No response

Metadata

Metadata

Assignees

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions