关于 memory
Memory 是一项项目记忆技能,将长期决策和每日记录保存到文件,并通过语义搜索查找相关内容,适合需要跨会话回顾项目背景的使用者。
主要功能
- 01区分长期记录与每日笔记
- 02对记忆文件进行语义搜索
- 03结果包含路径、行号范围、相关度和片段
- 04同步文件以更新搜索索引
适用场景
- 01回顾过去的数据库选择
- 02查找记录过的编码模式
- 03保存会话进展和临时背景
- 04从项目笔记中检索用户偏好
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rjyo/ memory-search --skill memory安装后在 Claude Code 中输入/memory确认已加载。
详细介绍
记忆
适用于项目的混合搜索记忆系统。保存重要信息,并在之后通过语义搜索找到它们。
首次运行: 如果首次使用时速度较慢,请运行
bunx memory-search --warmup,预先下载嵌入模型(约 300MB)。
记忆文件结构
project/
├── MEMORY.md # Long-term: preferences, patterns, decisions
└── memory/
└── YYYY-MM-DD.md # Daily: session notes, context, progress
搜索记忆
当用户询问过去的决策、偏好,或想回忆信息时:
bunx memory-search "QUERY_HERE"
搜索示例
bunx memory-search "database choice decision"
bunx memory-search "error handling pattern"
bunx memory-search "user preferences coding style"
bunx memory-search "authentication implementation"
输出格式
返回匹配的片段,包括:
- path:找到匹配项的文件
- lines:行范围(startLine-endLine)
- score:相关性得分(0-1)
- snippet:匹配的文本
搜索之后
- 向用户展示相关结果
- 如果用户想了解更多详情,使用
Read获取完整文件内容 - 如果没有找到结果,建议使用不同的词语进行搜索
保存到记忆
当用户说“记住这个”“保存这个”“记下这个”或想要存储信息时:
决定保存到哪个文件
MEMORY.md(永久):
- 用户偏好(“我更喜欢 TypeScript”)
- 项目决策(“我们出于 X 原因选择了 PostgreSQL”)
- 编码模式(“始终使用 async/await”)
- 架构决策
- 重要 URL、联系人、凭据引用
memory/YYYY-MM-DD.md(每日):
- 今天的工作内容
- 发现并修复的 Bug
- 有待后续探索的想法
- 会议记录
- 临时上下文
如何保存
- 先读取现有文件(如果存在),以避免覆盖内容
- 追加新内容,并注明时间戳或添加章节标题
- 使用清晰、便于搜索的语言(之后会进行向量搜索)
- 保存后运行 sync,以更新搜索索引
bunx memory-search --sync
示例:MEMORY.md
## User Preferences
- Prefers Bun over Node for TypeScript projects
- Uses pnpm as package manager
- Likes minimal dependencies
## Project Decisions
### 2024-01-15: Database Choice
Chose SQLite over PostgreSQL because:
- Single-user application
- No need for concurrent writes
- Simpler deployment
示例:memory/2024-01-15.md
# 2024-01-15
## Session Notes
### 10:30 - Authentication Setup
- Implemented JWT auth flow
- Added refresh token rotation
- TODO: Add rate limiting
### 14:00 - Bug Fix
- Fixed race condition in user creation
- Root cause: missing transaction wrapper
提示
- 使用描述性查询,而非单个关键词
- 搜索采用语义方式(理解含义,而不只是精确匹配词语)
- 如果不确定使用哪个文件,请询问用户
- 保存新内容后务必进行 sync
评论
支持 Markdown