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 用のカスタムスラッシュコマンド(スキル)を3つ提供し、ユーザーが明示的にセッションコンテキストを管理できるようにします。

  • /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] コマンドを使用して、過去のセッションログをトピックで検索できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト