关于 memory-graph-builder
该技能将 OpenClaw 的 MEMORY.md 转为结构化图谱,供审查和汇总 Agent 记忆。它可识别重复、矛盾和过时条目,并生成可替代原文件的限令牌摘要。
主要功能
- 01从 MEMORY.md 构建图谱
- 02检测重复与矛盾
- 03标记过时记忆
- 04生成限令牌摘要
- 05清理重复和过时条目
适用场景
- 01审查不断增长的 Agent 记忆文件
- 02查找冲突或重复事实
- 03减少提示词中的记忆上下文
- 04移除过时记忆条目
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ archieindian/ openclaw-superpowers --skill memory-graph-builder安装后在 Claude Code 中输入/memory-graph-builder确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
example-state.yamlgraph.pySTATE_SCHEMA.yaml详细介绍
记忆图谱构建器
功能介绍
OpenClaw 将 Agent 记忆存储在扁平的 MEMORY.md 文件中——每行一条事实,没有结构,也没有关联。直到 Agent 有了 200 多条记忆,其中一半重复,三条互相矛盾,而且整个文件每次会话都要消耗 4,000 个 token,这种方式才会显出问题。
记忆图谱构建器将 MEMORY.md 视为原始数据源,并在其上构建结构化知识图谱。每条记忆都会成为一个节点,并与其他节点建立带类型的关联。图谱支持:
- 重复检测——“用户偏好深色模式”和“用户喜欢深色主题”是同一条事实
- 矛盾检测——“用户使用 Python 3.8”和“用户使用 Python 3.12”
- 过时检测——超过可配置时限且未被引用的事实
- 记忆摘要——压缩后的摘要,能感知关联,可替代系统提示词中的原始 MEMORY.md,节省 30-60% 的 token
本工具受 OpenLobster 的 Neo4j 后端图谱记忆系统启发,并进行了改造,可基于 OpenClaw 现有的 MEMORY.md 工作,无需数据库。
何时调用
- 每晚 10 点自动运行(cron)
- 批量添加记忆后(例如,运行 project-onboarding 后)
- Agent 的上下文初始化变慢时(记忆膨胀)
- 手动审计记忆质量时
图谱结构
每行记忆都会成为一个节点:
nodes:
- id: "mem_001"
text: "User prefers Python for backend work"
category: preference # preference | fact | project | person | tool | config
entities: ["user", "python", "backend"]
added_at: "2026-03-01"
last_referenced: "2026-03-15"
confidence: 0.9
edges:
- from: "mem_001"
to: "mem_014"
relation: related_to # related_to | contradicts | supersedes | depends_on
使用方法
python3 graph.py --build # Parse MEMORY.md, build graph
python3 graph.py --duplicates # Show duplicate clusters
python3 graph.py --contradictions # Show contradicting pairs
python3 graph.py --stale --days 30 # Show memories not referenced in 30 days
python3 graph.py --digest # Generate compressed memory digest
python3 graph.py --digest --max-tokens 1500 # Digest with token budget
python3 graph.py --prune --dry-run # Show what would be removed
python3 graph.py --prune # Remove duplicates + stale entries
python3 graph.py --stats # Graph statistics
python3 graph.py --status # Last build summary
python3 graph.py --format json
Cron 唤醒行为
每晚 10 点:
- 读取 MEMORY.md
- 重建图谱(增量处理——仅重新处理新增或更改的行)
- 检测重复项和矛盾
- 标记过时条目(默认超过 30 天未被引用)
- 生成新的记忆摘要
- 将摘要写入
~/.openclaw/workspace/memory-digest.md - 将摘要日志写入状态
记忆摘要
摘要是知识图谱的压缩表示,针对大模型使用进行了优化。它不会倾倒每一行原始内容,而是:
- 按类别对相关记忆分组
- 将重复事实合并为单条记录
- 使用
[CONFLICT]标记矛盾,以便 Agent 解决 - 省略低于置信度阈值的过时条目
- 遵守可配置的最大 token 预算
摘要输出示例:
## Preferences
- Prefers Python for backend, TypeScript for frontend
- Dark mode everywhere; compact UI layouts
- Commit messages: imperative mood, max 72 chars
## Active Projects
- openclaw-superpowers: skill library, 40 skills, MIT license
- personal-site: Next.js 14, deployed on Vercel
## People
- Alice (teammate): works on auth, prefers Go
## Conflicts (needs resolution)
- [CONFLICT] Python version: "3.8" vs "3.12" — ask user to clarify
操作步骤
步骤 1 — 构建图谱
python3 graph.py --build
步骤 2 — 检查重复项和矛盾
python3 graph.py --duplicates
python3 graph.py --contradictions
直接编辑 MEMORY.md 或让 Agent 澄清,以解决矛盾。
步骤 3 — 清理过时条目
python3 graph.py --prune --dry-run
python3 graph.py --prune
步骤 4 — 生成并使用摘要
python3 graph.py --digest --max-tokens 1500
将 OpenClaw 的记忆注入目标指向 ~/.openclaw/workspace/memory-digest.md,而不是原始 MEMORY.md。
状态
图谱结构、摘要缓存和审计历史存储在 ~/.openclaw/skill-state/memory-graph-builder/state.yaml 中。
字段:last_build_at、node_count、edge_count、duplicate_count、contradiction_count、stale_count、digest_tokens、build_history。