Megan
AI 书童辅助阅读、学习、考试与知识整理,集成 Obsidian 笔记系统。
下载 377
基于 Claude Code 架构的结构化记忆系统,支持四类分类与自动迁移。
openclaw skills install @mystour/claude-memory-optimizer命令、参数、文件名以原文为准
适用于 OpenClaw 的结构化记忆系统,支持四类分类与自动化迁移。
memory/*.md 文件迁移到分类组织结构clawhub install claude-memory-optimizer# 自动检测工作区
node ~/.openclaw/skills/claude-memory-optimizer/scripts/refactor-memory.js
# 或手动指定路径
node ~/.openclaw/skills/claude-memory-optimizer/scripts/refactor-memory.js ~/.openclaw/workspacels -la ~/.openclaw/workspace/memory/
cat ~/.openclaw/workspace/MEMORY.md| 类型 | 用途 | 示例 |
|---|---|---|
| user | 用户角色、偏好、技能 | "数据科学家,偏好简洁回复" |
| feedback | 行为修正或确认 | "不要附加总结 — 用户可以自行阅读 diff" |
| project | 项目背景、决策、截止日期 | "论文截止日期:2026-06-01" |
| reference | 外部系统引用 | "Kaggle: https://kaggle.com/chenziong" |
memory/
├── user/ # 用户信息
├── feedback/ # 行为指导
├── project/ # 项目上下文
├── reference/ # 外部参考
└── logs/ # 追加式日志(可选)
└── YYYY/
└── MM/
└── YYYY-MM-DD.md每个记忆文件使用 frontmatter 元数据:
---
name: 数据科学背景
description: 用户是专注于可观测性和 LLM 的数据科学家
type: user
---
用户就读于北京工业大学与都柏林大学,GPA 3.95/4.2。
研究方向:LLM、AI Agent、MCP。
**技能:** Python、PyTorch、Transformers、NLP
**如何应用:** 使用数据科学术语,假设具备机器学习背景。git log){
"agents": {
"defaults": {
"memorySearch": {
"enabled": true,
"provider": "local",
"maxResults": 20,
"minScore": 0.3
},
"compaction": {
"memoryFlush": {
"enabled": true,
"softThresholdTokens": 4000
}
}
}
}
}用户:"记住,我偏好简洁回复,不要带结尾总结。"
AI:保存至 memory/feedback/reply-style.md:
---
name: 回复风格偏好
description: 用户希望回复简洁,不带结尾总结
type: feedback
---
**规则:** 保持回复简洁,不添加结尾总结。
**原因:** 用户表示“我自己能看 diff”。
**如何应用:** 在完成任务后直接结束回应。用户:"我之前关于数据库测试说过什么?"
AI:执行 memory_search query="database testing" → 返回 memory/feedback/db-testing.md
用户:"dong-thesis.md 中的实验设计是否仍然有效?"
AI:执行 grep 检查 → 发现过时信息 → 更新记忆文件。
memory/
├── 2026-03-21.md
├── 2026-03-28.md
├── research-memory.md
└── video-memory.mdmemory/
├── project/
│ ├── 2026-03-21-.md
│ ├── 2026-03-28-.md
│ └── research-memory.md
├── reference/
│ └── video-memory.md
└── logs/2026/04/2026-04-02.mdasync function findRelevantMemories(query: string, memoryDir: string) {
const memories = await scanMemoryFiles(memoryDir);
const selected = await selectRelevantMemories(query, memories);
return selected.slice(0, 5); // 返回前 5 个相关记忆
}在推荐记忆内容前:
ls 验证是否存在grep 确认是否存在“记忆说 X 存在” ≠ “X 当前存在”
memory/YYYY-MM-DD.md 追加内容MEMORY.md.learnings/ 记录MEMORY.mdagents.defaults.memorySearch.enabled = truedescriptionminScore(数值越低,匹配范围越广)memory/ 目录--dry-run 选项(如可用)src/memdir/(memdir.ts、memoryTypes.ts、findRelevantMemories.ts)docs/concepts/memory.mdmemory-setup-openclaw、elite-longterm-memoryMIT-0
已收录 1 个 Skill