管理 Claude 的内存
学习如何通过不同的内存位置和最佳实践来管理 Claude Code 跨会话的内存。
Claude Code 可以跨会话记住您的偏好设置,比如样式指南和工作流程中的常用命令。
确定内存类型
Claude Code 提供四个分层结构的内存位置,每个都有不同的用途:
内存类型 | 位置 | 用途 | 使用案例示例 | 共享对象 |
---|---|---|---|---|
企业策略 | macOS: /Library/Application Support/ClaudeCode/CLAUDE.md Linux: /etc/claude-code/CLAUDE.md Windows: C:\ProgramData\ClaudeCode\CLAUDE.md | 由 IT/DevOps 管理的组织范围指令 | 公司编码标准、安全策略、合规要求 | 组织中的所有用户 |
项目内存 | ./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 递归读取内存:从 cwd 开始,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 内存可用于与团队共享的指令和您的个人偏好设置。
组织级内存管理
企业组织可以部署适用于所有用户的集中管理的 CLAUDE.md 文件。
要设置组织级内存管理:
- 在操作系统的适当位置创建企业内存文件:
- macOS:
/Library/Application Support/ClaudeCode/CLAUDE.md
- Linux/WSL:
/etc/claude-code/CLAUDE.md
- Windows:
C:\ProgramData\ClaudeCode\CLAUDE.md
- 通过您的配置管理系统(MDM、组策略、Ansible 等)部署,以确保在所有开发人员机器上一致分发。
内存最佳实践
- 要具体:“使用 2 空格缩进”比”正确格式化代码”更好。
- 使用结构进行组织:将每个单独的内存格式化为项目符号,并在描述性 markdown 标题下对相关内存进行分组。
- 定期审查:随着项目的发展更新内存,以确保 Claude 始终使用最新的信息和上下文。