🦀 ClawHub
Memory Deduplication
by @weidadong2359
Automatically identify, merge, and clean duplicate or outdated entries in MEMORY.md to maintain concise, organized, and up-to-date information.
TERMINAL
clawhub install memory-dedup📖 About This Skill
Memory Deduplication — 记忆去重与合并
> 保持 MEMORY.md 清洁,避免信息冗余
问题
随着时间推移,MEMORY.md 会出现:
解决方案
1. 自动去重
识别并合并相似内容:原始:
AgentAwaken 网站开发中
AgentAwaken 项目进行中
AgentAwaken 待部署 合并后:
AgentAwaken 网站: 开发中,待部署
2. 过时信息清理
原始:
[P0] NeuroBoost v5.0 发布待重试 更新后:
[P0] NeuroBoost v5.0 ✅ 已发布 (2026-02-26)
3. 信息聚合
原始:
AgentAwaken
代码: /root/.openclaw/workspace/agentawaken
AgentAwaken 域名
agentawaken.xyz 待绑定
AgentAwaken 部署
需要 Vercel 合并后:
[P0] AgentAwaken 网站
代码: /root/.openclaw/workspace/agentawaken
域名: agentawaken.xyz (待绑定)
部署: Vercel (待配置)
实现
相似度计算
function similarity(text1, text2) {
// Jaccard 相似度
const words1 = new Set(text1.toLowerCase().split(/\s+/));
const words2 = new Set(text2.toLowerCase().split(/\s+/));
const intersection = new Set([...words1].filter(x => words2.has(x)));
const union = new Set([...words1, ...words2]);
return intersection.size / union.size;
}
去重规则
1. 相似度 >0.8 — 完全重复,删除 2. 相似度 0.5-0.8 — 部分重复,合并 3. 相似度 <0.5 — 不同内容,保留合并策略
使用
# 运行去重
node skills/memory-dedup/dedup.mjs预览(不修改文件)
node skills/memory-dedup/dedup.mjs --dry-run备份后去重
node skills/memory-dedup/dedup.mjs --backup
输出示例
=== Memory Deduplication Report ===📊 统计:
原始条目: 87
重复条目: 12
合并条目: 5
删除条目: 7
最终条目: 68 🔍 发现的重复:
1. "AgentAwaken 网站开发" (3 次)
→ 合并为 1 条
2. "NeuroBoost v5.0 发布" (2 次)
→ 保留最新版本
✅ MEMORY.md 已优化
💾 备份保存到: memory/MEMORY-backup-2026-03-01.md
定期执行
# 每周日凌晨 2 点自动去重
openclaw cron add --name "memory-dedup-weekly" \
--cron "0 2 * * 0" --tz "Asia/Shanghai" \
--session isolated --agent main \
--message "运行记忆去重,清理 MEMORY.md 冗余信息"
安全措施
1. 自动备份 — 去重前备份原文件 2. 人工审核 — 生成 diff 供审核 3. 可回滚 — 保留最近 10 次备份 4. 白名单 — 某些关键信息不去重