EliaAlberti/cpr-compress-preserve-resume
Persistent memory for Claude Code, packaged as a plugin. Save, search, and restore conversation context across sessions.
解决的问题
Claude Code 在会话之间缺乏持久记忆,这意味着用户每次重启时都必须重新解释项目上下文、决策和修复内容。此外,标准的上下文压缩会扁平化重要细节,导致细微的决策和特定文件路径随着时间推移而丢失。
工作原理
CPR 是 Claude Code 的一个插件,实现了 curated session logs(精选会话日志)和自动化钩子的系统:
- 精选日志:使用
/cpr:compress命令,该工具会创建包含决策、学习内容和待办任务摘要的结构化 Markdown 文件。通过 Python 脚本附加原始对话转录内容,避免浪费模型令牌。 - 自动化钩子:
PreCompact钩子会在任何压缩发生前自动保存原始对话转录,SessionStart钩子会自动将简短的记忆摘要注入新会话中。 - 上下文恢复:
/cpr:resume命令允许用户恢复最近的上下文,或在摘要和原始日志中按主题搜索过往会话。 - 知识保留:
/cpr:preserve命令会将关键架构决策和模式更新到CLAUDE.md文件中,确保它们在所有未来会话中持续存在。
适用人群
在多个 Claude Code 会话中持续处理同一项目的开发者,希望避免重复设置上下文,并保留可搜索的工作状态历史记录。
主要亮点
- 令牌效率:通过用紧凑摘要替代手动重述,将会话重启的令牌成本降低了约 51–74%。
- 可搜索历史:维护完整的、磁盘上的原始对话转录归档,可按主题搜索,而无需加载到模型的上下文窗口中。
- 自动化安全网:PreCompact 钩子确保在自动或手动压缩过程中,原始对话数据永远不会丢失。
- 可自定义存储:支持通过配置文件将日志路由到特定目录,或镜像到多个文件夹。
相关
- 项目
- 项目
- Dispatch
- Dispatch
- Dispatch