描述
合并 ChatLab 会话时,合并出的新会话完全没有语义向量:buildMergedOutput 是纯装配函数,只输出合并后的消息数据,没有任何对语义向量/embedding 的处理。
现状
- 合并功能(
merge.ts → buildMergedOutput)产出全新会话(导出 → 重新导入落地)。
buildMergedOutput(packages/node-runtime/src/merger/index.ts)只做纯去重+排序,不处理向量。
- 新会话的
semantic-index 要么为空,要么依赖手动/API 触发(POST /_web/ai/semantic-index/build-pending、enable、build、rebuild)。
- 结果:用户合并前各原会话已建好的语义向量全部作废;新会话要么向量为空(AI 检索不到),要么必须全量从零重建(重复耗时/耗 token)。
期望
合并产生新会话时,应当:
- 移植原各源会话已建成的语义向量(按 消息→chunk→embedding 的对应关系继承);
- 只对新增/去重后无向量的消息增量生成 embedding;
- 而不是让新会话向量从零全量重建。
补充背景
合并功能常被用来规避「同会话自动增量匹配失败」(buildPrivateIdentity 因 UID/UIN 不一致或 ownerId 缺失而 stable-id 失败、trailing-messages 不稳定 → 必须走合并)。因此合并后向量丢失/需全量重建的影响面比想象中更大。
描述
合并 ChatLab 会话时,合并出的新会话完全没有语义向量:
buildMergedOutput是纯装配函数,只输出合并后的消息数据,没有任何对语义向量/embedding 的处理。现状
merge.ts→buildMergedOutput)产出全新会话(导出 → 重新导入落地)。buildMergedOutput(packages/node-runtime/src/merger/index.ts)只做纯去重+排序,不处理向量。semantic-index要么为空,要么依赖手动/API 触发(POST /_web/ai/semantic-index/build-pending、enable、build、rebuild)。期望
合并产生新会话时,应当:
补充背景
合并功能常被用来规避「同会话自动增量匹配失败」(
buildPrivateIdentity因 UID/UIN 不一致或ownerId缺失而stable-id失败、trailing-messages不稳定 → 必须走合并)。因此合并后向量丢失/需全量重建的影响面比想象中更大。