2.6 记忆工具
概述
记忆工具允许 Claude 在 /memories 目录中创建、读取、更新和删除文件,实现跨会话的持久化信息存储。这使得 Claude 能够在多次会话之间保留关键上下文,如项目规范、团队约定、用户偏好等。
工作原理
/memories 是一个特殊的客户端控制目录:
- Claude 可以像操作普通文件一样操作该目录下的文件
- 文件内容在会话之间持久保存
- 存储位置由用户基础设施控制,不上传到云端
- 支持 CRUD(创建、读取、更新、删除)全部操作
目录结构
~/.claude/
└── memories/
├── project-notes.md # 项目笔记
├── user-preferences.md # 用户偏好设置
└── team-conventions.md # 团队约定
使用场景
项目上下文保持
# 存储项目关键信息
/memories/project-overview.md
# 内容示例
## 项目架构
- 前端:React + TypeScript
- 后端:Node.js + Express
- 数据库:PostgreSQL
## 关键规范
- 代码风格:使用 Prettier
- 测试覆盖率需 > 80%
- 分支命名:feature/xxx, fix/xxx
用户偏好设置
# 存储你的偏好
/memories/user-preferences.md
# 内容示例
## 代码风格
- 总是使用 ES6+ 语法
- 优先使用 const,禁用 var
- 组件采用函数式组件
## 响应格式
- 中文回复
- 代码块使用具体语言标注
团队知识库
# 团队共享知识
/memories/team-conventions.md
# 内容示例
## 提交流程
1. 创建 feature 分支
2. 编写测试用例
3. PR 需至少 2 人 review
4. squash merge 到 main
使用命令
写入记忆
# 让 Claude 记住关键信息
→ 我们项目使用 FastAPI,不是 Flask
# Claude 会自动写入 /memories 目录
读取记忆
# 询问已存储的记忆
→ /memories 中有哪些关于这个项目的信息?
# 或直接引用记忆文件
→ 查看 /memories/project-notes.md
更新记忆
# 更新已有记忆内容
→ 将 /memories/project-notes.md 中的数据库改为 MySQL
# 或追加新内容
→ 在 /memories/project-notes.md 中添加 API 版本信息
删除记忆
# 删除过时信息
→ 删除 /memories/old-project-notes.md
最佳实践
信息分层
- 项目级:架构、技术栈、关键文件路径 →
project-overview.md - 个人级:代码风格、响应偏好 →
user-preferences.md - 团队级:开发规范、流程文档 →
team-conventions.md
定期维护
随着项目演进,记忆内容可能过时。建议:
- 每月检查一次
/memories目录 - 删除不再适用的条目
- 更新与现状不符的内容
与上下文压缩的关系
- 上下文压缩:管理单会话内的长对话(压缩会话历史)
- 记忆工具:跨越会话保持关键信息(持久化到磁盘)
- 两者配合:记忆工具提供「持久层」,压缩处理「会话层」
隐私与安全
/memories 目录位于本地,不会上传到云端。存储的内容完全由你控制:
- 可以放在加密的文件系统上
- 可以纳入 .gitignore 避免提交到代码仓库
- 可以放在受保护的目录中(权限 0700)
查看当前记忆
# 列出所有记忆文件
ls -la ~/.claude/memories/
# 查看特定文件
cat ~/.claude/memories/project-notes.md