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 提供了三个自定义斜杠命令(技能),使用户能够显式管理其会话上下文:

  • /preserve:将当前会话中的关键学习成果和决策更新到 CLAUDE.md 文件中,通过自动归档旧内容确保文件保持精简。
  • /compress:在 CC-Session-Logs/ 目录中创建结构化、可搜索的会话日志。它使用 Python 脚本 (dump_transcript.py) 将磁盘上的原始对话转录内容追加到日志中,避免产生昂贵的模型输出令牌。
  • /resume:通过加载 CLAUDE.md 文件和最近会话日志的摘要来恢复上下文。还支持按主题搜索过往会话。

为防止数据丢失,该项目要求用户在 Claude Code 中禁用 Auto-Compact 设置,将上下文压缩的控制权交由用户通过 /compact 命令自行管理,该命令应在保存和压缩会话后才执行。

适用人群

使用 Claude Code CLI 进行多会话项目开发,并希望降低令牌成本、避免重复建立上下文的开发者。

主要亮点

  • 令牌效率:通过用紧凑摘要替代完整上下文重建,将会话重启时的令牌成本估计降低 24% 至 68%。
  • 混合存储:结合轻量级持久化 CLAUDE.md 文件用于高层项目状态,以及详细会话日志用于历史记录。
  • 低开销日志:使用本地脚本追加原始转录内容,意味着原始日志内容不会作为模型输出生成。
  • 可搜索历史:支持使用 /resume [topic] 命令按主题搜索过往会话日志。

相关

  • 项目
  • 项目
  • 项目
  • 项目