编辑重发与重新生成要先截断后续轮次.md

**编辑一条历史消息重发、或对某轮点「重新生成」时,必须先把该轮次及之后的所有消息从会话里截断(DB 层 `truncateFromTurn` + 模型上下文同步截断),再发送新内容;否则是在对话尾部追加,历史越改越长、模型上下文里同时存在新旧两个版本。**

要点

  • 截断是双份的:存储层删掉原轮次及之后的消息,模型上下文也必须同步截断 —— 只删一边会出现「界面干净了但模型仍看得见旧答案」。
  • 「重新生成」不该只对最后一条可用:任意历史轮次都可以,前提是有截断能力。
  • 交互上要给出明确状态(如「正在编辑之前的消息」提示芯片 + 可取消),否则用户不知道自己在改写历史。

相关