mcpField
M
memory-recall

memory-recall

github.com/zilliztechエージェントワークフロー2.8k53 回インストール3 日前に更新
リポジトリ

memory-recall について

memory-recallは、memsearchで保存済みの記憶を検索し、現在の会話に関係する情報を返すスキルです。検索結果の展開に加え、必要に応じてソースファイルや会話記録をたどれます。

主な機能

  1. 01クエリによる記憶検索
  2. 02該当セクションの展開
  3. 03代替手段としてのソース読み込み
  4. 04関連する会話記録の取得

活用シーン

  1. 01過去の作業内容の再確認
  2. 02現在の質問に関係するメモの検索
  3. 03記憶検索結果の出典確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zilliztech/memsearch --skill memory-recall

インストール後、Claude Code で/memory-recallを入力して読み込まれたか確認します。

詳細

memsearch のメモリ検索を実行しています。過去のメモリを検索し、現在の会話に最も関連するコンテキストを返してください。

プロジェクトコレクション

次を実行してコレクション名を特定します:

bash -c 'if [ -n "${MEMSEARCH_DIR:-}" ]; then bash __INSTALL_DIR__/scripts/derive-collection.sh "$MEMSEARCH_DIR"; else root=$(git rev-parse --show-toplevel 2>/dev/null || true); if [ -n "$root" ]; then bash __INSTALL_DIR__/scripts/derive-collection.sh "$root"; else bash __INSTALL_DIR__/scripts/derive-collection.sh; fi; fi'

手順

  1. 検索:memsearch search "<query>" --top-k 5 --json-output --default-collection <上で特定したコレクション名> を実行して、関連するチャンクを検索します。

    • memsearch が見つからない場合は、代わりに uvx memsearch を試してください。
    • ユーザーの質問の中心的な意図を捉えた検索クエリを選んでください。
  2. 評価:検索結果を確認します。明らかに関連性がないチャンクや、一般的すぎるチャンクは除外してください。

  3. 展開:関連する各結果について、次のいずれかの方法で完全なコンテキストを取得します。

    • 優先:memsearch expand <chunk_hash> --default-collection <上で特定したコレクション名> を実行して、Markdown セクション全体を取得します。
    • 代替手段(サンドボックス内でロックまたは権限エラーにより展開できない場合):ソースファイルを直接読み取ります。検索結果には source(ファイルパス)と start_line/end_line が含まれています。cat <source_file> を実行するか、該当する行の範囲を読み取ってください。これにより、Milvus のロックファイルの問題を回避できます。
  4. 詳細調査(任意):展開したチャンクにトランスクリプトへのアンカー(セッション/ロールアウト情報を含む HTML コメント)があり、元の会話が重要と思われる場合:

    • memsearch transcript <rollout_path> を実行して、元の会話のターンを取得します(ツール呼び出しも自動検出して含めます)。memsearch が見つからない場合は、代わりに uvx memsearch を使用してください。
    • memsearch transcript が認識できないトランスクリプト形式を報告した場合、またはアンカー形式が不明な場合(例:transcript: + turn:、rollout: ではなく db:)、参照先のファイルを直接読み取り、その構造を調べ、アンカー内のセッション ID またはターン ID を使って該当する会話を特定してください。
  5. 結果の提示:現在の質問に本当に役立つ情報だけを含め、最も関連性の高いメモリを厳選して簡潔にまとめます。

検索内容に迷った場合

ユーザーの質問が曖昧で具体的な検索クエリを作れない場合は、まず生の Markdown を調べてください。これがメモリの情報源です。

  • MDIR="${MEMSEARCH_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.memsearch}"; ls -t "$MDIR/memory/" | head -10 — 最近の日次ログ
  • MDIR="${MEMSEARCH_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.memsearch}"; grep -h "^## " "$MDIR/memory/"*.md | sort -u | tail -40 — 全日付のセッション見出し
  • MDIR="${MEMSEARCH_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.memsearch}"; cat "$MDIR/memory/<YYYY-MM-DD>.md" — 特定の日付の内容

具体的なトピックが見つかったら、memsearch search に戻り、具体的なクエリで検索してください。

出力形式

関連性の高い順にまとめます。各メモリには次を含めてください。

  • 重要な情報(決定事項、パターン、解決策、コンテキスト)
  • 追跡可能なソース参照(ファイル名、日付)

関連するメモリが見つからない場合は、「関連するメモリは見つかりませんでした。」とのみ回答してください。

コメント