Skip to content

[Bug] L2_schedule timer 错误映射为 offload-l2,导致 L2/L3 记忆从未生成 #416

Description

@henghengairourou

OpenClaw Version | OpenClaw 版本

N/A(插件独立运行,未通过 OpenClaw)

Plugin Version | 插件版本

@tencentdb-agent-memory/memory-tencentdb 1.0.0

Operating System | 操作系统

macOS26.5.1

System Specification | 系统配置

No response

Describe the bug | 问题描述

问题描述

src/gateway/server.tsonTimerExpired 回调将 L2_schedule timer 的任务类型映射为 offload-l2(上下文压缩),而非 L2(记忆场景提取)。由于 cascadeSchedule() 只处理 task.type === "L2" 的任务,导致 L2 场景提取从未执行,L3 persona 生成也因级联中断而从未触发。

影响:L1 atom 记忆可以正常提取,但 L2 scenario 和 L3 persona 永远不会生成,四层记忆架构实际只有前两层在工作。

复现步骤

  1. 正常安装并启动 Gateway(src/gateway/server.ts
  2. 通过 /capture API 发送 5+ 轮对话(满足 everyN=5 的 L1 触发条件)
  3. 等待 L2 timer 触发(l2DelayAfterL1=10s,默认 l2MinInterval=900s
  4. 检查日志和输出文件

预期行为

  • L2_schedule timer 触发后,应入队 L2 类型任务(记忆场景提取)
  • L2 任务完成后,cascadeSchedule() 级联入队 L3 任务(persona 生成)
  • scene_blocks/ 目录下生成场景文件
  • persona.md 生成用户画像

实际行为

  • L2_schedule timer 触发后,入队的是 offload-l2 类型任务(上下文压缩)
  • offload-l2 任务在 1-16ms 内完成(仅执行调度检查,无实际记忆提取)
  • cascadeSchedule() 不处理 offload-l2,级联中断
  • scene_blocks/ 目录始终为空
  • persona.md 从未生成
  • checkpoint 中 scenes_processed 始终为 0

根因分析

问题代码

文件: src/gateway/server.ts,第 1173 行(onTimerExpired 回调内)

// 修改前(有 bug)
taskType = suffix === "L2_schedule" ? "offload-l2" : suffix === "L1_idle" ? "offload-l1" : "L3";


### To Reproduce | 复现步骤

1.正常安装并启动 Gateway(src/gateway/server.ts)
2.通过 /capture API 发送 5+ 轮对话(满足 everyN=5  L1 触发条件)
3.等待 L2 timer 触发(l2DelayAfterL1=10s,默认 l2MinInterval=900s)
4.检查日志和输出文件

### Expected behavior | 预期行为

L2_schedule timer 触发后,应入队 L2 类型任务(记忆场景提取)
L2 任务完成后,cascadeSchedule() 级联入队 L3 任务(persona 生成)
scene_blocks/ 目录下生成场景文件
persona.md 生成用户画像

### Error Logs / Screenshots | 报错日志/截图

_No response_

### Additional context | 补充信息

_No response_

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions