Claude 记忆库越来越乱?这个工具帮你把它管起来
用 Claude Code 做项目,时间一长就会遇到一个问题:记忆库越来越难搜。
你知道某个坑踩过,但不记得答案在哪个文件。你知道上季度做过某个决策,但找不到当时的理由。打开 ~/.claude/projects/你的项目/memory/,里面几十上百个 .md 文件,命名五花八门,内容参差不齐。
这就是 claude-memory-manager 要解决的问题。
问题出在哪
Claude Code v2.1.59 之后,auto-memory 功能会自动把项目经验写成 markdown 文件,存在本地磁盘上。这个设计很好:纯文本、可读、可 grep、可 git。
但它没有强制任何结构。Claude 自己决定怎么命名文件、写什么内容。时间一长:
- 同一个主题可能散落在三个文件里
- feedback 类的记忆没有"为什么",下次遇到同样问题还是会重新讨论
- 文件名随意,Claude 靠 MEMORY.md 索引里的 description 来决定读哪个------description 写得模糊,就命中不了
claude-memory-manager 在 auto-memory 之上加了一层规范,再配一个 bash 审计脚本,让记忆库在几个月后仍然可搜。
它做了什么
三件事。
1. Schema 规范
文件命名必须是 <type>_<topic>.md,全小写下划线。type 只有三种:
feedback:踩过的坑、学到的教训reference:主题深度参考、标准方法、业界数据project:状态性事实,比如当前架构、进行中的工作
每个文件必须有 frontmatter,包含三个字段:name、description、type。
feedback 类还必须有 ## Why 段(或同义的中文标题:## 根因、## 教训、## 原因)。没有原因,下次遇到同样问题还是会得出同样的错误结论。
2. description 写法规范
这是最容易被忽视的一点。Claude 不会自动加载所有 memory 文件------它靠 MEMORY.md 索引里每条 description 来判断"这次要不要读这个文件"。
description 必须是场景关键词 + 核心结论的混合:
scss
✅ 浏览器端 supabase.from() mutation 在 tab 切换后死锁,必须用 fetch() 调 REST API
❌ Supabase 相关问题
前者让 Claude 一眼知道"这是 tab 切换场景下要查的 Supabase 结论",后者什么都查不到。
3. 审计脚本
scripts/audit-memory.sh 扫描整个记忆库,输出合规率报告:
yaml
Memory audit · 2026-05-15 · 132 files
Hard checks (must be zero):
missing frontmatter 0
frontmatter fields 0
feedback missing Why 1
naming violations 0
broken MEMORY.md links 0
Soft signals:
oversized files 78
groups over 15 entries 3
untouched 30+ days 31
not in MEMORY.md 0
Hard-rule compliance: 99.2% (1 violation / 132 files)
Hard checks 是必须为零的硬规则。Soft signals 是建议性信号------比如单文件超过 100 行,说明可能需要拆分了。
安装
最简单的方式:在任意 Claude Code session 里说:
bash
Install the claude-memory-manager skill from
https://github.com/jau123/claude-memory-manager
Claude 会处理剩下的事。验证方式:开新 session,说一句 "audit memory"。
手动安装:
bash
git clone https://github.com/jau123/claude-memory-manager.git && \
mkdir -p ~/.claude/skills/memory-management/templates && \
cp claude-memory-manager/SKILL.md ~/.claude/skills/memory-management/ && \
cp claude-memory-manager/templates/audit-memory.template.sh \
~/.claude/skills/memory-management/templates/
首次使用
Skill 通过自然语言激活,不需要敲 / 命令:
bash
你: "记一下今天那个 wildcard bug"
→ Claude 写一条 feedback_*.md:文件名、frontmatter、Why 段、How to apply。
你: "复盘"
→ Claude 回顾最近 session,挑出 3--5 个候选,问你保留哪些。
你: "audit memory"
→ 跑 scripts/audit-memory.sh,报告合规率,列出需要拆分的文件。
审计脚本实战
如果你已经有一个积累了一段时间的记忆库,可以先跑一次审计看看现状:
bash
# 在项目根目录
mkdir -p scripts
cp ~/.claude/skills/memory-management/templates/audit-memory.template.sh \
scripts/audit-memory.sh
# 编辑脚本顶部的 MEMORY_DIR,指向你的记忆目录
# 路径规则:项目绝对路径把 / 替换成 -
# 例:/Users/foo/myapp → ~/.claude/projects/-Users-foo-myapp/memory
chmod +x scripts/audit-memory.sh
bash scripts/audit-memory.sh
脚本会检查:
- frontmatter 是否完整(name / description / type 三个字段)
- feedback 类是否有 Why 段
- 文件名是否符合
<type>_<topic>.md格式 - MEMORY.md 索引是否有断链
什么时候不需要它
作者在 README 里说得很直接:少于 10 条 entry 或不到一个月的项目,用内置 auto-memory 就够了,schema 开销不划算。
这个工具的价值在于长期项目。记忆库积累到几十条之后,命中率开始下降,这时候加规范才有意义。
另外,它不做语义检索------审计基于 grep 和文件名模式匹配,识别不了"两个文件用不同词描述同一概念"。如果你需要语义级别的记忆管理,作者推荐看 Mem0、Letta、Zep 这类向量后端。
与内置 auto-memory 的对比
| Schema | 审计 | 长期效果 | |
|---|---|---|---|
| 只用 auto-memory | 无(Claude 自己决定) | 无 | 文件累积但无命名/内容规范 |
| 加这个 skill | 3 种类型 + 必填字段 + feedback 必有 Why | 一行命令的脚本 | 库保持可审计、可搜 |