毎セッションごとにプロジェクトの全体像を Claude に説明し直す——あの徒労を消すために、開発者 Raiyan Yahya 氏が公開した Claude Code 用プラグインが「Recall」だ。セッションの作業履歴をローカルに記録し、TF-IDF と TextRank で要約してプロジェクトの記憶として保持する。外部APIもクラウドも一切使わず、完全オフラインで動くのが最大の特徴である。

仕組み・特徴

Recall は Claude Code のプラグイン機構に乗って動き、プロジェクト直下の .recall/ 配下に2つのファイルを管理する。

  • history.md:セッション中の作業ログを追記し続ける append-only な履歴。
  • context.md:ローカル要約器がゴール・触ったファイル・実行コマンド・次のステップ・diff統計をまとめた、上書き型のサマリ。

この要約器が「LLM 不使用」なのが面白いところで、抽出型要約(グラフベースで重要文をランク付けする TextRank)を Python の標準ライブラリだけで実装している(numpy があれば高速化)。つまりメモリ生成のためのトークンコストはゼロ。次セッションの起動時には保存済みの context が Claude に提示されるが、その際 context.md は「信頼できない外部データ」としてフェンス処理されてから注入される、というプロンプトインジェクション対策まで入っている。さらに API キーや PEM 等のシークレットを書き込み前にベストエフォートで伏字化、git コマンドも hooks/pager を無効化して叩く設計だ。

使いどころ・始め方

ライセンスは MIT、Python 100%、3.9〜3.13 でテスト済み。pip インストール不要で、Claude Code 上から2行で入る。

/plugin marketplace add raiyanyahya/recall
/plugin install recall@recall

使えるコマンドはシンプルに3つ。

  • /recall:save:要約器を回して context.md を更新
  • /recall:show:現在の context を表示
  • /recall:log:history の末尾を覗く

挙動は recall.config.json で調整でき、auto_save_contexton_end にすればセッション終了時に自動保存、summary_sentences(既定8)で要約の粒度、redact(既定 true)で秘匿情報の伏字化、include_git(既定 true)で git 情報の取り込みを制御できる。オフライン縛りの環境・社内コード・個人開発者の常用プロジェクトにとくに刺さる構成だ。

要点まとめ

  • Claude Code 用の永続メモリプラグイン。.recall/history.md.recall/context.md の2ファイル運用。
  • 要約は TF-IDF + TextRank の抽出型。LLM を呼ばないのでトークンコストもネットワークも不要。
  • インストールは Claude Code 内で2コマンド。Python 標準ライブラリのみ、numpy は任意。
  • シークレット伏字化、git コマンドのハードニング、context のフェンス注入などセキュリティ配慮が厚い。
  • MIT ライセンス、v0.3.5(2026-06-22 時点)、星 445・Python 3.9〜3.13 対応。

🐦‍⬛ 編集部の視点

正直、これはずっと欲しかった種類のツールだ。Claude Code を毎日使っていると「このプロジェクトの背景、また説明するのか…」という瞬間が必ず来る。それをLLM を呼ばずに標準ライブラリの TextRank で済ませる潔さがいい。要約自体にトークンを払わないという発想は、コストにシビアな個人開発者ほど効く。あと context.md を untrusted としてフェンスする一手——地味だけど、メモリ系プラグインが見落としがちなプロンプトインジェクション耐性をちゃんと考えていて、そこで信頼度が一段上がった。日本だと社内コードをクラウドに出せないチームが多いから、「完全ローカル前提のメモリ層」という選択肢が増えるのは、普通に朗報じゃないだろうか。

出典・リンク

コメントを残す

現在の人気