zilliztech/memsearch
A persistent, unified memory layer for all your AI agents (e.g. Claude Code, Codex, DSH), backed by Markdown and Milvus.
memsearch とは?
memsearch は、AI コーディングアシスタント(Claude Code、Codex、DeepSeek Harness、OpenClaw、OpenCode、または任意のカスタムエージェント)に永続的で検索可能なメモリを提供する、クロスプラットフォームのオープンソースツールです。すべての会話ターンをプレーンテキストの Markdown ファイルに記録し、Milvus でインデックス化し、エージェントが必要に応じて関連する過去のノートを取得できるようにします。
対象者
- エージェントユーザー – お気に入りのコーディングアシスタント用の小さなプラグインをインストールするだけで、追加設定なしで過去のチャットを自動的にキャプチャして呼び出すことができます。
- エージェント開発者 – 提供されている CLI または Python ライブラリを使用して、同じメモリエンジンを独自のボット、RAG パイプライン、またはハーネスエンジニアリングプロジェクトに組み込むことができます。
コアアイデア
| アイデア | 仕組み |
|---|---|
| 信頼できる情報源 | すべてのメモリは人間が編集可能な .md ファイル(例:memory/2024-11-20.md)として保存されます。 |
| シャドウインデックス | Milvus ベクターストア(デフォルトは Milvus Lite、または Zilliz Cloud)がチャンクをインデックス化し、高速なセマンティック検索を実現します。 |
| ハイブリッド検索 | 高密度埋め込み、BM25 スパースマッチング、相互ランク融合(RRF)再ランキングを組み合わせます。 |
| 段階的な呼び出し | 検索 → 完全な Markdown セクションに展開 → オプションで元のトランスクリプトを取得。 |
| ライブ同期 | ファイルウォッチャーが Markdown フォルダーを監視し、変更された部分のみを再チャンクします(SHA-256 重複排除)。 |
| オプションのリモート再ランキング | モデルをダウンロードせずに、Jev の TypeSafe API を介して結果を再ランキングできます。 |
| 手続き的メモリ | 繰り返しのワークフローをインストール可能なスキル(Agent Skills 標準)に蒸留できます。 |
| バックグラウンドメンテナンス | オプションのタスクで PROJECT.md(プロジェクト状態)と USER.md(個人設定)を最新に保ちます。 |
主な機能
- ゼロコンフィグプラグイン – 5 つの主要なコーディングエージェントに対応。プラグインをインストールすると、会話が自動的にキャプチャされ、
/memory-recall …のような簡単なコマンドや自然な質問で呼び出すことができます。 - 埋め込みプロバイダー – デフォルトの ONNX bge-m3 はローカルで無料実行。OpenAI、Ollama などに切り替え可能。
- Milvus バックエンド – クイックスタート用の Milvus Lite(単一ファイル)、大規模チーム向けの Zilliz Cloud(マネージド)または Docker 経由のセルフホスト Milvus。
- スキル蒸留 – キャプチャしたワークフローを、エージェントが後で呼び出せる再利用可能なコマンドに変換します。
- CLI と Python API –
memsearch index、memsearch search、memsearch config …などに加え、プログラムでの使用のためのライブラリ(import memsearch)。 - ハイブリッド検索 – 高密度ベクトル + BM25 + RRF により、プレーンなベクトル検索よりも関連性が向上します。
- ライブファイルウォッチャー – Markdown ファイルが変更されると即座にインデックスを更新します。
ユーザーの典型的なワークフロー
- エージェント用のプラグインをインストール(例:
plugin marketplace add zilliztech/memsearch)。 - 通常どおりチャット – 各ターンが要約され、日次 Markdown ファイルに追加されます。
- 呼び出し –
/memory-recall <質問>を実行するか、エージェントに自然に質問します。エージェントは自動的にメモリ呼び出しスキルを呼び出します。 - (オプション)PROJECT/ユーザーノートまたはスキル蒸留を有効にするには、エージェントに「MemSearch スキル蒸留を有効にする」と依頼します。
開発者の典型的なワークフロー
from memsearch import MemsearchClient
client = MemsearchClient()
# 新しい markdown ファイルをインデックス化
client.index_path('my_project/memory/2024-11-20.md')
# 検索
results = client.search('redis はどのように設定しましたか?', top_k=5)
for r in results:
print(r.text)
同じクライアントがプラグインを支えているため、任意のカスタムエージェントがインデックス化、検索、メンテナンスのロジックを再利用できます。
なぜ重要か
- 継続性 – エージェントはセッション後に忘れてしまいます。memsearch はセッションを超えて、異なるエージェント間でも会話履歴全体を保持します。
- 人間が読める – メモリが Markdown にあるため、開発者はノートを検査、編集、バージョン管理、差分確認できます。
- コスト効率 – デフォルトのローカル ONNX 埋め込みは API 費用を回避。Milvus Lite はすぐに使用できます。
- 拡張可能 – CLI/API を介して任意の LLM に接続し、カスタム要約モデルを追加したり、マネージド Milvus クラスターに切り替えたりできます。
TL;DR:memsearch は、AI コーディングアシスタント向けの軽量で Markdown ベースのセマンティックメモリシステムであり、自動キャプチャ、ハイブリッド検索、クロスエージェント共有、オプションのスキル作成を提供し、既製のプラグインと開発者向けの完全な CLI/Python API を備えています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト