【要約】肥大化するClaudeの記憶を整理する [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
Claude Codeの運用における以下の課題を解決する。
- ・公式の自動削除(cleanupPeriodDays)が日付ベースの一括処理のみである。
- ・特定のプロジェクトや、サイズに基づいた細かな間引きが不可能である。
- ・history.jsonlやplans/など、自動削除対象外のファイルが蓄積する。
- ・claude-mem(ChromaDB)が知らぬ間に肥大化する。
- ・既存の閲覧ツールはWeb UIやElectronベースで、シェル作業フローを阻害する。
// Approach
Pythonとuvを用い、以下の機能を備えたCLIツールを実装した。
1.高速な解析: parser.pyに早期終了ロジックを実装。JSONLの解析を高速化。
2.多角的な管理機能:
- ストレージ集計: projects, history, plans等の内訳を表示。
- 条件付き一括削除: 日付、プロジェクト、サイズ閾値による削除。
- claude-mem最適化: SQLiteのVACUUM、FTS5インデックスの再構築。
3.高い信頼性:
- 削除前のバックアップ(history.jsonl.bak)作成。
- pytestによるカバレッジ98%のテスト実施。
- ruffおよびmypyによる静的解析の徹底。
// Result
434件のセッション解析を約0.48秒で完了。テストカバレッジ98%を達成し、高い信頼性を確保。claude-memの最適化により、DBサイズの実効的な削減を実現。公式の「全削除か長期保持か」という二択を、柔軟な管理へと転換した。
Senior Engineer Insight
>
開発体験(DX)の観点から、シェル作業フローを壊さないCLI設計は極めて合理的だ。既存のWeb UI系ツールは「閲覧」には優れるが、「運用」には不向きである。本ツールは、解析時の早期終了実装など、実用的なパフォーマンスへの配慮が見られる。ただし、公式のデータ構造変更に対する脆弱性は避けられない。運用環境への導入時は、バックアップ機能の挙動を理解した上で、定期的なメンテナンススクリプトへの組み込みを検討すべきだ。