
创建子话题并开始对话后,历史对话会出现不属于此分支的对话
快速结论:在 LobeChat v2.2.4 (Web / Firefox) 中,创建子话题并继续对话后,主话题或其他子话题的消息“泄露”到当前子话题的历史记录中。优先排查是否使用了包含修复的版本,以及避免在创建子话题后继续操作主话题。
问题场景
用户使用 LobeChat Cloud 官方云服务(Web 桌面浏览器 / Firefox),版本 v2.2.4。开启子话题功能并开始新对话后,历史对话列表中出现不属于该分支的消息,导致无法从主话题正常分支展开对话。
报错原文
创建子话题并开始对话后,历史对话会出现不属于此分支的对话
(非代码报错,表现为 UI 逻辑错误,英文社区对此行为的描述为:parent topic messages or sibling sub‑topic messages “bleed” into child branches)
原因分析
可能原因:子话题(sub‑topic / thread)的上下文组装逻辑存在缺陷。收集对话历史时,threadId 的过滤未能正确处理祖先、兄弟、后代与当前子话题之间的关系,导致其他分支的消息被错误地包含在当前子话题的历史记录中。多个已有 Issue(#8327、#14390)报告了相同问题。
尽管相关 PR(如 #15908)已合入以重构消息链解析,但 v2.2.4 版本中问题仍未完全修复。
环境排查
- 确认 LobeChat 版本:v2.2.4(官方云部署)
- 确认浏览器及版本:Firefox(具体版本号未在 Issue 中提供)
- 检查是否已属于已知 bug,可查询
Create sub‑topic或thread isolation相关 Issue
解决步骤
- 临时绕过:避免在创建子话题后继续对主话题发送新消息。这似乎是当前最有效的临时措施,能显著减少消息泄露的频率。
- 确认修复状态:检查 LobeChat 后续版本(如 v2.5.x 或更高)是否已合并来自 PR #15908 及相关 thread 隔离的完整修复。如果可行,升级到最新版。
- 回退测试:(如果条件允许)尝试在干净的浏览器环境或不同设备上复现问题,排除缓存或扩展冲突。
验证方法
创建子话题后,发送一条新消息,滚动查看历史记录——确认其中是否出现了主话题或其他子话题的消息。若不再出现“不属于此分支的对话”,则问题已解决。


