关于 memory
面向 Claude Code 的技能,将项目决策、偏好和编码约定存入本地 JSON 文件。它会在后续会话重新载入记忆,并将相关上下文用于当前工作。
主要功能
- 01跨会话保留项目上下文
- 02会话开始时自动载入记忆
- 03记录带时间戳的记忆
- 04使用命令查看、添加和删除记忆
- 05清理低价值条目
适用场景
- 01在新会话沿用编码偏好
- 02应用过往架构或库的选择
- 03记录用户纠正以供后续任务参考
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jeremylongshore/ tons-of-skills-marketplace --skill memory安装后在 Claude Code 中输入/memory确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/errors.mdexamples.mdimplementation.mdscripts/manage-memory.py详细介绍
记忆
概述
记忆通过在本地 JSON 文件中存储和检索项目决策、用户偏好和编码约定,为不同的 Claude Code 会话提供持久上下文。新会话开始时,已存储的记忆会自动加载,让此前确立的模式得以延续,无需再次说明。
先决条件
- 项目记忆文件
.claude/memories/project_memory.json(首次保存记忆时自动创建) - 对
.claude/memories/目录具有读写权限 - 已安装 Claude Never Forgets 插件(
/plugin install yldrmahmet/claude-never-forgets)
说明
- 访问已存储的记忆。 会话开始时,使用 Read 工具找到并读取记忆文件
.claude/memories/project_memory.json。解析包含带时间戳记忆条目的 JSON 结构。完整的检索工作流请参见${CLAUDE_SKILL_DIR}/references/implementation.md。 - 将记忆与当前上下文匹配。 扫描记忆条目,查找与当前任务相关的关键词和主题。提取适用的决策(例如“使用 pnpm 而不是 npm”)、架构模式、库选择和编码风格偏好。
- 静默应用记忆。 在回复和工具使用中融入记忆的偏好,无需声明。当记忆指定了包管理器、测试框架或命名约定时,自动遵循。
- 存储新记忆。 出现重要决策时——例如库选择、架构选择、用户明确表达的偏好或对工具的否决——将其连同时间戳写入记忆文件。通过
/remember命令或自动捕获对话中的相关信息来添加条目。 - 解决冲突。 当已存储的记忆与当前明确请求相矛盾时,以当前请求为准。必要时指出冲突,并更新记忆条目以反映新的决策。删除不再适用的过时记忆。
- 处理清理。 当记忆条目超过 10 条时,通过删除无关内容(问候、致谢)并保留高价值条目(偏好、决策、更正)进行整理。清理阈值可在
hooks/stop_cleanup.py中配置。
输出
- 在会话开始时自动加载已存储的记忆
- 将记忆中的偏好静默应用于工具使用和回复
- 为重要决策添加带时间戳的新记忆条目
- 清理后合并整理的记忆文件(保留重要条目,删除无关内容)
- 通过
/memories命令明确列出记忆
错误处理
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 未找到记忆文件 | 首次会话或文件已删除 | 在 .claude/memories/project_memory.json 创建新的记忆文件,并使用空 JSON 结构初始化 |
| 记忆冲突 | 多个条目彼此矛盾 | 应用最新的记忆;建议使用 /forget 清理并删除过时条目 |
| 记忆格式无效 | 文件损坏或手动编辑时出现语法错误 | 备份现有文件,使用有效的 JSON 结构重新创建,并恢复可恢复的条目 |
| 权限被拒绝 | 文件或目录缺少读写权限 | 检查 .claude/memories/ 的文件权限;申请必要的访问权限或使用其他存储位置 |
示例
跨会话自动回忆偏好:
Session 1:
User: "Always use Vitest instead of Jest for this project"
→ Stored to project_memory.json
Session 2:
User: "Add tests for the auth module"
→ Memory loaded: "use Vitest instead of Jest"
→ Test files created with Vitest syntax automatically
手动管理记忆:
/remember "This project uses Tailwind CSS v4 with the Vite plugin"
/remember "Deploy to Cloudflare Workers, not Vercel"
/memories # Lists all stored memories with timestamps
/forget "Vercel" # Removes the Vercel-related memory
将工具否决记录为更正:
set -euo pipefail
User declines a suggested `npm install` action
→ Memory stored: "User prefers pnpm over npm"
→ Future sessions use pnpm automatically
资源
${CLAUDE_SKILL_DIR}/references/implementation.md-- 访问、应用、更新记忆及解决记忆冲突的分步指南${CLAUDE_SKILL_DIR}/references/errors.md-- 详细的错误场景及恢复流程/remember [text]-- 手动添加新的记忆条目/forget [text]-- 从存储中删除匹配的记忆/memories-- 显示当前存储的所有记忆及其时间戳
评论
支持 Markdown