管理 Claude 的内存
了解如何使用不同的内存位置和最佳实践来管理 Claude Code 跨会话的内存。
Claude Code 可以跨会话记住您的偏好设置,比如样式指南和工作流程中的常用命令。
确定内存类型
Claude Code 提供三种内存位置,每种都有不同的用途:
内存类型 | 位置 | 用途 | 使用案例示例 |
---|---|---|---|
项目内存 | ./CLAUDE.md | 项目的团队共享指令 | 项目架构、编码标准、常见工作流程 |
用户内存 | ~/.claude/CLAUDE.md | 所有项目的个人偏好设置 | 代码样式偏好、个人工具快捷方式 |
项目内存(本地) | ./CLAUDE.local.md | 个人项目特定偏好设置 | (已弃用,见下文) 您的沙盒 URL、首选测试数据 |
所有内存文件在启动 Claude Code 时都会自动加载到上下文中。
CLAUDE.md 导入
CLAUDE.md 文件可以使用 @path/to/import
语法导入其他文件。以下示例导入了 3 个文件:
相对路径和绝对路径都是允许的。特别是,导入用户主目录中的文件是让团队成员提供不会检入存储库的个人指令的便捷方式。以前 CLAUDE.local.md 有类似的用途,但现在已弃用,改用导入功能,因为它们在多个 git 工作树中工作得更好。
为了避免潜在的冲突,导入不会在 markdown 代码段和代码块内进行评估。
导入的文件可以递归导入其他文件,最大深度为 5 跳。您可以通过运行 /memory
命令查看加载了哪些内存文件。
Claude 如何查找内存
Claude Code 递归读取内存:从当前工作目录开始,Claude Code 向上递归到(但不包括)根目录 / 并读取它找到的任何 CLAUDE.md 或 CLAUDE.local.md 文件。这在大型存储库中工作时特别方便,您在 foo/bar/ 中运行 Claude Code,并且在 foo/CLAUDE.md 和 foo/bar/CLAUDE.md 中都有内存。
Claude 还会发现嵌套在当前工作目录下子树中的 CLAUDE.md。它们不会在启动时加载,只有当 Claude 读取这些子树中的文件时才会包含。
使用 #
快捷方式快速添加内存
添加内存的最快方法是在输入开头使用 #
字符:
系统会提示您选择要将此内容存储在哪个内存文件中。
使用 /memory
直接编辑内存
在会话期间使用 /memory
斜杠命令在系统编辑器中打开任何内存文件,以进行更广泛的添加或组织。
设置项目内存
假设您想要设置一个 CLAUDE.md 文件来存储重要的项目信息、约定和常用命令。
使用以下命令为您的代码库引导一个 CLAUDE.md:
提示:
- 包含常用命令(构建、测试、代码检查)以避免重复搜索
- 记录代码样式偏好和命名约定
- 添加项目特定的重要架构模式
- CLAUDE.md 内存可用于与团队共享的指令和您的个人偏好设置。
内存最佳实践
- 要具体:“使用 2 空格缩进”比”正确格式化代码”更好。
- 使用结构来组织:将每个单独的内存格式化为项目符号,并在描述性 markdown 标题下对相关内存进行分组。
- 定期审查:随着项目的发展更新内存,以确保 Claude 始终使用最新的信息和上下文。