---
title: Claude Code 的记忆按项目目录隔离 · 递归客
url: https://diguike.dev/post-claude-memory
author: 递归客 (diguike)
---

# Claude Code 的记忆按项目目录隔离

递归客 · 2026.04.26 · Claude Code · 约 8 分钟

> Claude Code 的自动记忆按项目目录存。在 A 目录让它记住的事，换到 B 目录它就不知道了。这篇讲它存在哪、分几类、怎么让一条偏好在所有项目里生效。

## 一、Claude Code 的两套持久化机制

Claude Code 有两套独立的「记忆」：

|  | CLAUDE.md | Auto Memory（自动记忆） |
| **谁来写** | 你自己写 | Claude 自动写 |
| **存什么** | 指令、规则、约定 | Claude 在协作中学到的知识 |
| **加载方式** | 每次会话全量加载 | 仅加载 MEMORY.md 前 200 行，详细内容按需读取 |
| **典型内容** | "用 2 空格缩进"、"测试用 vitest" | "用户是前端工程师，偏好 TypeScript" |

## 二、核心机制：按项目目录隔离

### 记忆存在哪？

所有自动记忆存储在 `~/.claude/projects/` 目录下，**每个项目对应一个独立的子目录**：

```
~/.claude/projects/
├── -home-ubuntu-workspace/           # /home/ubuntu/workspace 的记忆
│   └── memory/
│       ├── MEMORY.md                 # 索引文件
│       ├── user_profile.md           # 用户画像
│       └── project_xxx.md            # 项目信息
├── -home-ubuntu-my-app/              # /home/ubuntu/my-app 的记忆
│   └── memory/
│       └── MEMORY.md
└── -home-ubuntu-another-project/     # 另一个项目
    └── memory/
        └── MEMORY.md
复制
```
**目录命名规则**：把项目的绝对路径里的 `/` 换成 `-`。输入一个路径试试：

- **你在项目 A 里告诉 Claude 的偏好，在项目 B 里 Claude 完全不知道**
- **`/resume` 恢复会话也是项目隔离的**——只能恢复当前目录下的历史会话
- **同一个 git 仓库的不同 worktree 共享同一份记忆**（因为路径归属同一个 repo）

## 三、Auto Memory 的四种类型

Claude 会自动将学到的信息分为四类：

### 1. user（用户画像）

记录你是谁、擅长什么、怎么协作效率最高。

```
---
name: 用户画像
description: 前端全栈工程师，Node+TS 技术栈
type: user
---
前端全栈工程师，熟悉 Node.js + TypeScript 技术栈...
复制
```
**作用**：Claude 会根据你的背景调整回答深度。对资深工程师不会解释基础概念，对新手会多给上下文。

### 2. feedback（反馈偏好）

你纠正过 Claude 的行为，或者确认过某个做法是对的。

```
---
name: wrangler 必须加 --remote
description: wrangler R2 命令必须加 --remote，因为本地 GLIBC 版本问题
type: feedback
---
wrangler R2 操作必须加 --remote 参数。
**Why:** 本机 GLIBC 版本低，本地模拟会报错。
**How to apply:** 所有 wrangler r2 相关命令都要加 --remote。
复制
```
**作用**：同样的坑不踩第二次。这是最有价值的记忆类型。

### 3. project（项目上下文）

当前项目的背景、目标、进展。

```
---
name: CoffeesMap V2 迁移
description: V2 进行中，Supabase 数据迁移 + R2 图片迁移已完成
type: project
---
CoffeesMap V2 正在进行中...
复制
```
**作用**：Claude 能理解你当前在做什么，给出更贴合上下文的建议。

### 4. reference（外部引用）

外部系统的位置和用途。

```
---
name: Cloudflare 账号信息
description: Cloudflare R2 bucket、API token 的位置
type: reference
---
R2 bucket 名称: xxx, API token 在 ...
复制
```
**作用**：Claude 知道去哪里找信息，不用每次都问你。

## 四、MEMORY.md：记忆的索引

`MEMORY.md` 是每个项目记忆目录下的索引文件，**每次会话启动时自动加载前 200 行**。它只包含指向详细记忆文件的链接：

```
# Memory Index

- [user_profile.md](user_profile.md) — 前端全栈工程师，Node+TS
- [feedback_wrangler.md](feedback_wrangler.md) — wrangler 命令必须加 --remote
- [project_coffeesmap.md](project_coffeesmap.md) — CoffeesMap V2 迁移进展
复制
```
**注意**：超过 200 行的内容会被截断，所以要保持索引简洁。详细内容放在各个记忆文件里，Claude 会按需读取。

## 五、/resume 也是隔离的

`/resume` 命令用于恢复之前的会话，它默认只显示**当前项目目录**下的历史会话。

### 快捷键扩展范围

在 `/resume` 的会话选择器中：

- `Ctrl+A`：显示本机所有项目的会话
- `Ctrl+W`：显示同一仓库所有 worktree 的会话
- `Ctrl+B`：只显示当前 git 分支的会话
- `Space`：预览会话内容

### 命令行用法

```
claude --continue          # 继续当前目录的最近一次会话
claude --resume            # 打开选择器
claude --resume "会话名"   # 按名称恢复（搜索当前仓库及其 worktree）
复制
```

## 六、CLAUDE.md 的层级体系

CLAUDE.md 也有作用域，但它的层级更丰富：

```
组织级策略（强制执行，不可跳过）
  └── 用户级：~/.claude/CLAUDE.md（所有项目生效）
       └── 项目级：./CLAUDE.md 或 ./.claude/CLAUDE.md（当前项目）
            └── 本地级：./CLAUDE.local.md（个人覆盖，加入 .gitignore）
                 └── 子目录级：子目录下的 CLAUDE.md（按需加载）
复制
```
**实用建议**：

- 团队共享的规则放 `./CLAUDE.md`，提交到 git
- 个人偏好放 `./CLAUDE.local.md`，加入 `.gitignore`
- 全局个人偏好放 `~/.claude/CLAUDE.md`

## 七、实战建议

### 1. 让记忆跨项目生效

如果你希望某些偏好在所有项目中都生效（比如"我是 TypeScript 开发者，偏好函数式风格"），把它写进 `~/.claude/CLAUDE.md`，而不是依赖 Auto Memory。

### 2. 定期审查记忆

运行 `/memory` 命令可以查看当前加载的所有记忆文件，选中即可编辑。建议定期清理过时的记忆。

### 3. 主动让 Claude 记住关键信息

当你发现某个知识点未来会反复用到，直接说"记住这个"，Claude 会立即保存。比如：

- "记住：这个项目的部署用 GitHub Actions，触发条件是 push 到 main"
- "记住：数据库连接串在 Vault 里，key 是 prod/db-url"

### 4. 切换目录前想清楚

如果你的工作跨多个目录，记得：**每个目录的 Claude 是「独立的」**。在一个目录里建立的上下文，不会自动带到另一个目录。

### 5. 善用 /resume 的快捷键

忘了在哪个目录聊过？用 `Ctrl+A` 显示所有项目的会话历史，可以快速定位。

## 八、总结

| 机制 | 作用域 | 谁写的 | 加载时机 |
| CLAUDE.md | 组织/用户/项目/子目录 | 你 | 每次会话启动 |
| Auto Memory | 项目目录 | Claude | MEMORY.md 前 200 行启动加载，详细文件按需 |
| /resume 会话 | 项目目录（可扩展） | 系统 | 手动恢复 |
| Checkpoints | 当前会话 | 系统 | Esc×2 回退 |
记忆这块我写了一本书

《Agent Memory 工程实战》，20 章，从 claude-mem 源码讲起。

- [看这本书](https://diguike.dev/book-claude-mem)
