Skip to content

fix: /undoctx 上下文割裂 — LTM污染 + session_variables恢复#1

Open
TaiLaaa wants to merge 1 commit into
lumingya:mainfrom
TaiLaaa:main
Open

fix: /undoctx 上下文割裂 — LTM污染 + session_variables恢复#1
TaiLaaa wants to merge 1 commit into
lumingya:mainfrom
TaiLaaa:main

Conversation

@TaiLaaa

@TaiLaaa TaiLaaa commented Jun 21, 2026

Copy link
Copy Markdown

修复两个导致 /undoctx 后上下文割裂的 Bug

Bug 1:LTM 被命令文本污染

sync_live_ltm_state 钩子(priority -1000)在回滚后仍会把 /undoctx 3 命令文本写入长短期记忆,下一轮对话时污染上下文。

修复: _send_plain_result 设置 _SKIP_LTM_SYNC_EXTRA flag 阻止该钩子执行。

Bug 2:session_variables 被清空而非恢复

_clear_related_session_state 直接删除 session_variables,没有恢复到快照点的值。

修复:

  • _build_pending_turn 快照当前 session_variables 到 session_variables_before
  • _restore_or_clear_session_state 按快照恢复而非直接清空
  • _clean_turn_stack 保留该字段防止重载丢失

改动文件

  • main.py — 3 处修改,+49/-10 行

Bug 1: 回滚后 sync_live_ltm_state 把命令文本写入LTM导致上下文污染
修复: _send_plain_result 设置 SKIP_LTM_SYNC_EXTRA flag

Bug 2: 回滚后 session_variables 被清空而非恢复到快照点
修复: _build_pending_turn 快照 session_variables,
      _rollback_from_stack 恢复而非清除
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant