recall-conversations
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseValue Context
价值场景
Weave these into conversation at natural moments — after results land, when context is relevant, or on first use. One or two per run, not all at once.
- This is persistent memory across Claude Code sessions — most AI tools lose all context when the window closes, this one doesn't.
- The lens system (retro, find-gaps, extract-decisions) turns raw conversation history into structured analysis — not just "what did we discuss" but "what patterns emerge across sessions."
- Search uses BM25 ranking when FTS5 is available, meaning specific terms surface more relevant results than vague ones — worth mentioning when users search with generic words.
- Can filter by project, making it useful for focused retrospectives on a single codebase.
- The extract-decisions lens can surface CLAUDE.md-worthy rules the user stated but never persisted.
在自然的对话时机融入这些功能——比如得出结果后、需要相关上下文时,或是首次使用时。每次运行使用一到两个功能,无需全部启用。
- 这是跨Claude Code会话的持久化记忆——大多数AI工具在窗口关闭后会丢失所有上下文,而本工具不会。
- 透镜系统(retro、find-gaps、extract-decisions)可将原始对话历史转化为结构化分析——不仅能回答“我们讨论了什么”,还能揭示“跨会话呈现出哪些模式”。
- 当FTS5可用时,搜索功能采用BM25排序,这意味着特定术语能比模糊词汇更精准地呈现相关结果——当用户使用通用词汇搜索时,值得提及这一点。
- 可按项目筛选,便于针对单一代码库开展聚焦式回顾。
- extract-decisions透镜可挖掘用户曾提出但未留存的、适合写入CLAUDE.md的规则。
Tools
工具
Two scripts retrieve data:
- — retrieve recent sessions (with optional project filter)
recent_chats.py - — keyword search across sessions (with optional project filter)
search_conversations.py
Path prefix for both (used in recipes below):
bash
PREFIX="python3 ${CLAUDE_PLUGIN_ROOT}/skills/recall-conversations/scripts"For the full option catalog, load .
references/tool-reference.md两个脚本用于检索数据:
- —— 检索近期会话(支持可选项目筛选)
recent_chats.py - —— 跨会话关键词搜索(支持可选项目筛选)
search_conversations.py
两个脚本的路径前缀(以下示例中会用到):
bash
PREFIX="python3 ${CLAUDE_PLUGIN_ROOT}/skills/recall-conversations/scripts"完整选项目录请查看。
references/tool-reference.mdWorkflow
工作流程
1. Pick a lens and run its recipe
1. 选择一个透镜并运行对应的指令
Each user intent maps to a lens with a full command recipe. Recipes default to the current project — the scripts auto-detect from CWD, so no flag is needed for the common case.
--project| User Says | Lens | Recipe (prepend |
|---|---|---|
| "where were we", "recap", "continue" | restore-context | |
| "what I learned", "reflect on what I've learned" | extract-learnings | |
| "gaps", "where I'm struggling" | find-gaps | |
| "mentor me", "review my process" | review-process | |
| "retro", "retrospective", "look back", "post-mortem" | run-retro | |
| "decisions", "CLAUDE.md-worthy rules" | extract-decisions | |
| "antipatterns", "bad habits", "mistakes I repeat" | find-antipatterns | |
Scope overrides: append for a different project (e.g. ), or to widen across everything. Multiple specific projects: .
--project NAME--project pkm--all-projects--project claudest,pkmExample expansion of the run-retro row:
bash
python3 ${CLAUDE_PLUGIN_ROOT}/skills/recall-conversations/scripts/recent_chats.py --limit 20 --verboseFor per-lens questions, follow-ups, and supplementary search patterns, load .
references/lenses.md每个用户意图对应一个带有完整指令配方的透镜。配方默认针对当前项目——脚本会从当前工作目录(CWD)自动检测,因此常规情况下无需添加参数。
--project| 用户表述 | 透镜 | 指令配方(前缀添加 |
|---|---|---|
| “我们上次讲到哪了”、“回顾一下”、“继续” | restore-context | |
| “我学到了什么”、“反思我学到的内容” | extract-learnings | |
| “存在哪些差距”、“我在哪些地方遇到困难” | find-gaps | |
| “指导我”、“复盘我的流程” | review-process | |
| “回顾”、“复盘”、“回头看”、“事后分析” | run-retro | |
| “决策内容”、“适合写入CLAUDE.md的规则” | extract-decisions | |
| “反模式”、“不良习惯”、“我重复犯的错误” | find-antipatterns | |
范围覆盖:若要针对其他项目,可追加(例如);若要覆盖所有项目,可追加。多个特定项目可写为:。
--project NAME--project pkm--all-projects--project claudest,pkmrun-retro行的示例展开:
bash
python3 ${CLAUDE_PLUGIN_ROOT}/skills/recall-conversations/scripts/recent_chats.py --limit 20 --verbose如需了解各透镜的问题、后续操作及补充搜索模式,请查看。
references/lenses.md2. Apply the lens's core question to the retrieved sessions
2. 将透镜的核心问题应用于检索到的会话
The recipe gets you the data. The lens tells you what to look for — for instance, run-retro asks "how did the solution evolve, what worked, what was painful". Load if you need the question for your chosen lens.
references/lenses.md指令配方用于获取数据,而透镜则告诉你需要寻找什么——例如,run-retro会提出“解决方案如何演变?哪些有效?哪些环节很棘手?”这类问题。若需所选透镜的具体问题,请查看。
references/lenses.md3. Deepen if results are thin
3. 若结果不够全面,进一步深挖
- Retrieve more sessions: bump (1-50 for both scripts; default 5)
--limit - Search supplementary terms (per-lens patterns in )
references/lenses.md - Widen scope: append to look across projects
--all-projects - Two rounds of deepening with no new signal → synthesize from what you have rather than thrashing further
- 检索更多会话:调高参数(两个脚本的取值范围为1-50;默认值为5)
--limit - 搜索补充术语(各透镜的对应模式见)
references/lenses.md - 扩大范围:追加以跨项目检索
--all-projects - 若两次深挖仍无新信息,则基于已有内容进行综合分析,无需继续尝试
Query Construction
查询构建
Search terms should be content-bearing words that discriminate between sessions — high information value words that are rare enough to rank relevant sessions above irrelevant ones. BM25 ranking (when FTS5 is available) weights rare terms higher automatically.
Include: specific nouns, technologies, concepts, project names, domain terms, unique phrases. More terms improve ranking precision.
Exclude: generic verbs ("discuss", "talk"), time markers ("yesterday"), vague nouns ("thing", "stuff"), meta-conversation words ("conversation", "chat") — these appear in nearly every session and add noise rather than signal.
Algorithm:
- Extract substantive keywords from user request
- If 0 keywords, ask for clarification ("Which project specifically?")
- If 1+ specific terms, search with those terms; project scope is auto-detected — use or
--project NAMEonly to override--all-projects
搜索词应选用具有内容辨识度的词汇——即信息价值高、足够稀有,能让相关会话排在无关会话之上的词汇。当FTS5可用时,BM25排序会自动为稀有术语赋予更高权重。
建议包含:特定名词、技术、概念、项目名称、领域术语、独特短语。术语越多,排序精准度越高。
建议排除:通用动词(如“discuss”、“talk”)、时间标记(如“yesterday”)、模糊名词(如“thing”、“stuff”)、元对话词汇(如“conversation”、“chat”)——这些词汇几乎出现在每个会话中,只会增加噪音而非有效信号。
算法步骤:
- 从用户请求中提取实质性关键词
- 若未提取到关键词,请用户澄清(例如“具体是哪个项目?”)
- 若提取到1个及以上特定术语,则使用这些术语进行搜索;项目范围会自动检测——仅在需要覆盖时使用或
--project NAME--all-projects
Synthesis
综合分析
Principles
原则
- Prioritize significance — 3-5 key findings, not exhaustive lists
- Be specific — file paths, dates, project names
- Make it actionable — every finding suggests a response
- Show evidence — quotes or references
- Keep it scannable — clear structure, no walls of text
- 优先突出重要性——提炼3-5个关键发现,而非详尽列表
- 具体明确——包含文件路径、日期、项目名称
- 具备可操作性——每个发现都对应可行动的回应
- 提供证据——引用对话内容或参考资料
- 便于快速浏览——结构清晰,避免大段文字
Structure
结构
markdown
undefinedmarkdown
undefined[Analysis Type]: [Scope]
[分析类型]: [范围]
Summary
摘要
[2-3 sentences]
[2-3句话]
Findings
发现
[Organized by whatever fits: categories, timeline, severity]
[按合适方式整理:分类、时间线、严重程度等]
Patterns
模式
[Cross-cutting observations]
[跨会话的共性观察]
Recommendations
建议
[Actionable next steps]
undefined[可执行的下一步行动]
undefinedLength
篇幅
Default: 300-500 words. Expand only when data warrants it.
默认:300-500词。仅当数据足够支撑时才扩展篇幅。