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