自学教程

Claude Code 记忆系统

简介

Claude Code 记忆系统,用于在本地持久存储跨会话的项目知识。不同于单次会话上下文(会话关闭即丢失),记忆可以长期保存,新建会话时自动读取,不需要每次重复介绍项目背景、约定、业务规则。

区分两个概念:

  1. 会话上下文:单次对话临时内容,/clear 清空后消失。
  2. 记忆系统:本地持久化存储,属于项目/全局长期知识,不受会话重启影响。

记忆数据默认保存在全局目录 ~/.claude/memory/(Mac/Linux),Windows:%USERPROFILE%\.claude\memory。记忆属于本机本地数据,不会上传到云端。

记忆工作原理

  1. 在对话过程中,Claude Code 自动提取项目关键信息(架构、业务规则、编码约定、踩坑记录)存入本地记忆库。
  2. 开启新会话时,自动检索相关记忆,把匹配信息加载进上下文。
  3. 记忆分为全局记忆(所有项目生效)和项目记忆(仅当前项目生效)。
  4. 记忆可以手动新增、查看、删除,支持人工管理,避免记忆产生错误信息。

记忆和 CLAUDE.md 的区别

  • CLAUDE.md:静态固定规则文档,由开发者维护,每次新建会话完整加载。
  • 记忆系统:动态知识库,自动学习对话内容,可自动更新,适合存放经验、历史决策、项目细节。

记忆相关斜杠命令

/memory list        # 列出当前项目全部记忆条目
/memory add         # 手动新增一条记忆
/memory search      # 关键词检索记忆
/memory delete      # 删除指定记忆条目
/memory clear       # 清空当前项目所有记忆
/memory toggle      # 开启/关闭自动记忆功能

使用示例

/memory add 项目采用Nuxt4,状态管理统一使用useState,不使用Pinia

手动添加后,后续所有该项目的新会话,模型会读取这条记忆。

/memory search 接口封装

检索和接口封装相关的历史记忆。

记忆配置

记忆开关可以在 settings.json 内配置,支持全局配置或项目级配置。

{
  "memory": {
    "enable": true
  }
}
  • enable: true:开启自动记忆(默认)
  • enable: false:关闭自动记忆,仅保留手动添加记忆

项目 settings.json 配置优先级高于全局配置,可以单独关闭某个项目的自动记忆。

记忆使用场景

✅ 适合存入记忆

  • 项目历史技术决策、选型原因
  • 业务领域术语、业务规则
  • 历史踩坑记录、已知问题和解决方案
  • 团队约定的隐性开发规范(不方便全部写进CLAUDE.md)

❌ 不建议存入记忆

  • 密钥、密码、隐私数据
  • 临时一次性需求
  • 经常变更的配置信息(优先放 CLAUDE.md)

记忆最佳实践

  1. 自动记忆开启的同时,定期使用 /memory list 审查记忆内容,防止产生错误记忆(幻觉)。
  2. 项目重大架构变更后,清理过时记忆,避免新旧规则冲突。
  3. 静态不变的编码规范优先写在 CLAUDE.md;动态经验、历史决策放到记忆系统。
  4. 多人协作:记忆保存在个人本地,不会跟随项目提交到Git。团队通用规则仍然使用 CLAUDE.md。

常见问题

  1. 修改/删除记忆之后,当前会话立刻生效吗?
    不生效,需要 /clear 新建会话,记忆才会重新加载。
  2. 记忆会占用token吗?
    会。开启记忆后,每次会话会检索并把相关记忆加载到上下文,记忆条目过多会增加token消耗。可以定期清理无用记忆。
  3. 记忆和MCP有什么关系?
    记忆是Claude Code内置本地持久化能力;MCP是外部工具扩展协议,二者相互独立。
  4. 换电脑之后记忆还在吗?
    记忆保存在本机 ~/.claude/memory,换电脑不会自动迁移,可以手动复制memory目录迁移。

安全提示

  • 记忆存储在本地磁盘,请勿把账号密码、密钥存入记忆。
  • 自动记忆会自动提取对话内容,敏感对话建议临时关闭自动记忆。
  • 共享电脑使用时,注意记忆目录包含历史对话提取信息。

0 条笔记