🧠 memory-forget · 记忆遗忘技能
对记忆进行重要性评分,低价值记忆主动遗忘,防止上下文膨胀。
核心文件
memory-forget/
├── SKILL.md # 本文件
├── scripts/
│ ├── run_forget.py # 🎯 主调度脚本(先跑这个)
│ ├── score_memories.py # 评分:对所有 chunks 打分
│ ├── forget.py # 遗忘:删除低分 chunks
│ └── send_report.py # 报告:发送飞书报告
└── memory_scores.json # 评分结果(自动生成)
评分规则(详细说明)
见 references/scoring_rules.md
使用方式
方式1:cron 自动调度(推荐)
# 每周日 10:00 执行评分+报告,不实际删除(dry run)
0 10 * * 0 cd /home/jiangq/.openclaw/skills/memory-forget && python3 scripts/run_forget.py --no-send >> ~/.openclaw/logs/forget_cron.log 2>&1
# 每月1日 03:00 执行真正的遗忘(level=aggressive)
0 3 1 * * cd /home/jiangq/.openclaw/skills/memory-forget && python3 scripts/run_forget.py --level=aggressive --execute >> ~/.openclaw/logs/forget_cron.log 2>&1
方式2:手动触发
# 评分 + 报告(dry run,不删除)
python3 scripts/run_forget.py
# 评分 + 执行 medium 级别遗忘 + 报告
python3 scripts/run_forget.py --execute
# 指定级别 soft/medium/aggressive
python3 scripts/run_forget.py --level=soft --execute
方式3:分步执行
# 1. 评分
python3 scripts/score_memories.py
# 2. 查看结果(dry run)
python3 scripts/forget.py --level=medium
# 3. 确认后执行
python3 scripts/forget.py --level=medium --execute
# 4. 手动发报告
python3 scripts/send_report.py
遗忘级别
| 级别 |
阈值 |
含义 |
| soft |
< 3分 |
删除噪音/临时数据 |
| medium |
< 5分 |
删除低价值记忆(推荐) |
| aggressive |
< 7分 |
只保留重要记忆 |
评分维度
| 维度 |
说明 |
| 基础分 |
按路径:identity文件(10) > 协议(7-8) > memory/(4.5) > sessions/(4.0) |
| 年龄衰减 |
超过60天未更新的 chunks 开始衰减 |
| 情感加权 |
涉及情感内容的记忆(如想你、喜欢、爱等)+ USER占位符 +0.5分 |
| 近期保护 |
7天内 sessions +2.5 分 |
| 长度惩罚 |
短于150字符的可能降权 |
输出报告预览
🧠 **记忆遗忘报告**
📅 时间:2026-04-13 22:00
**📊 记忆评分概况**
- 总 chunks:352
- 平均分:5.2
- 分值范围:1.2 ~ 10.0
- 总字符数:1,234,567
**📈 分数分布**
10-9: 45 ████████████████████
8-7: 89 █████████████████████████████████████████
...
**🗑️ 遗忘建议**
- 软遗忘(<3分):12 个可删除
- 中度遗忘(<5分):67 个建议删除
环境变量
| 变量 |
说明 |
必需 |
OPENCLAW_GATEWAY_TOKEN |
OpenClaw gateway token |
是 |
MEMORY_FORGET_FEISHU_USER_ID |
飞书用户 ID(发送给谁) |
是(飞书推送时) |
MEMORY_FORGET_BOT_NAME |
报告底部 bot 名称 |
否(默认 memory-forget) |
注意事项
- 先 dry run 再执行:
--execute 会真实删除数据
- 定期归档:软删除会先将数据存到
~/.openclaw/memory/archive/
- 配合 LCM:lossless-claw 会自动压缩旧会话,与本技能互补
- 仅限本 agent:本技能只处理主 agent 的
memory/ 和 sessions/ 路径,不影响其他 agent