Skip to content

/resume 在 L4 会话归档后失效,无法感知已归档的历史会话 #630

Description

@Pandasama2025

问题描述

/resume 在 L4 会话归档(compress_session.py)运行后失效,无法列出/恢复任何历史会话。

现象

执行 /resume 后,agent 只能看到当前会话本身(temp/model_responses/ 里仅剩正在进行的这一个 model_responses_*.txt),无法列出其他历史会话供恢复。

根因

  1. /resume 的实现在 agentmain.py 中是把一段写死的固定 prompt 发给 agent,该 prompt 只指向 temp/model_responses/ 这一个目录
    读model_responses/目录,按修改时间取最近10个文件...
    
  2. 记忆归档流水线 memory/L4_raw_sessions/compress_session.py 会定期把 temp/model_responses/*.txt 压缩归档进 memory/L4_raw_sessions/{YYYY-MM.zip} 及合并的 all_histories.txt,并删除原始 txt
  3. 这两个机制相互独立:/resume 的 prompt 没有任何对 L4 归档的回退感知。一旦归档任务跑过、清空了 temp/model_responses//resume 就"失明"了——数据其实都还在 zip 里(按月归档,如 2026-04.zip / 2026-05.zip / 2026-06.zip),只是 /resume 不知道去那里找。

复现步骤

  1. 让 L4 归档任务(compress_session.py)跑一轮,清空 temp/model_responses/
  2. 执行 /resume
  3. agent 只能列出当前会话,无法恢复历史会话。

期望行为

/resumetemp/model_responses/ 文件过少时,能够回退到 L4 归档(解压最近一个月的 zip,或读取 all_histories.txt)来补全可恢复会话列表。

可能的修复方向(供参考)

  • 方案 A:更新 /resume 的 prompt,加入"当 model_responses/ 少于 N 个文件时,从 memory/L4_raw_sessions/ 的最近月度 zip / all_histories.txt 中读取补充"。
  • 方案 B:调整 compress_session.py,保留最近 N 天的原始 txt 不删。
  • 方案 C:两者结合。

环境

  • 平台:Windows
  • 受影响代码位置:agentmain.py/resume 分支)、memory/L4_raw_sessions/compress_session.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions