mnemosyne-oss/mnemosyne

Zero-cloud AI memory that works everywhere. SQLite-backed. One pure-Python dependency.

Mnemosyne – エージェント向けローカルファースト AI メモリ

概要

Mnemosyne は、LLM を搭載したあらゆるエージェントが使用できる、オープンソースで SQLite バックエンドのメモリレイヤーです。事実、埋め込み、時間的トリプルをローカルに保存し、以下の方法でアクセスできます:

  • MCP サーバー(JSON-over-STDIO / SSE / HTTP プロトコル)は、既存の多くのエージェント(Claude Code、Cursor、Codex、OpenWebUI など)と連携します。
  • Python SDK(remember、recall)、または
  • Hermes プラグイン(Hermes エージェントフレームワーク用)。

これらはすべて単一の pip install mnemosyne-memory で実行でき、外部ベクトル DB やクラウドサービスは不要です。唯一の依存関係は SQLite データベースファイルです。

コアコンセプト

コンポーネント 役割
作業記憶 LLM 呼び出しの前に自動的に注入されるホットコンテキスト。TTL 後にアイテムは期限切れになります。
エピソード記憶 SQLite-vec + FTS5 を使用したハイブリッドベクトルキーワード検索による長期保存。
TripleStore バージョン管理付きの時間的知識グラフ(主語-述語-目的語)。
BEAM(二層エピソード連想記憶) 3 つのレイヤーを組み合わせ、結果を 50% ベクトル類似度 + 30% FTS5 ランク + 20% 重要度でスコアリングする全体アーキテクチャ。

ベクトルは**バイナリ(MIB)**です。384 次元の浮動小数点埋め込みは 48 バイトに圧縮され、32 倍のサイズ削減を実現し、SQLite 内で直接ハミング距離検索が可能になります。

使用方法

CLI(クイックスタート)

pip install mnemosyne-memory          # コア
pip install "mnemosyne-memory[all]"   # フル機能セット

# MCP サーバーを起動(デフォルトは stdio)
mnemosyne mcp

# 事実を保存および取得
mnemosyne store "User prefers dark mode"
mnemosyne recall "preferences"

Python SDK(任意のエージェントに埋め込む)

from mnemosyne import remember, recall

remember("User prefers dark mode", importance=0.9)
results = recall("dark mode", top_k=3)

スコープ、有効期限、エンティティ抽出を設定したり、LLM に事実を抽出させることもできます(extract=True)。

統合例

プラットフォーム 統合方法
Cursor、Claude Code、Codex、Windsurf プラットフォームの *.json 設定に MCP エントリを追加します。
OpenWebUI 1 行のブリッジファイルを data/tools/ に配置します。
OpenClaw mnemosyne-memory[openclaw] をインストールし、設定でプロバイダーを参照します。
Hermes Agent mnemosyne-hermes をインストールします。プラグインがメモリプロバイダーを自動的に登録します。
任意の Python エージェント import mnemosyne して SDK を呼び出します。

完全な統合ガイドは docs/integrations/ にあります。

ベンチマーク(報告による)

  • BEAM エンドツーエンド QA(100K 項目):65.2%(v3.0.0、2026 年 5 月)– 他のオープンソースメモリシステムと同等。
  • BEAM 純粋なリコール:Recall@10 は 100K から 10M 項目まで約 20% を維持し、レイテンシは 10M で 35 ミリ秒に低下、ストレージはサブリニアに増加(10M エントリで 7.2 MB)。
  • LongMemEval:以前は 98.9% のリコールを主張していましたが、再現可能な再実行を待って撤回されました。

重要なポイントは、コーパスが成長してもリコール品質は一定であり、システムはエピソード圧縮を使用してストレージを最小限に保つことです。

セキュリティとプライバシーモデル

  • ローカルファースト:デフォルトでは、データはマシンから外部に出ません。
  • オプションの同期:デバイス間の双方向デルタ同期。クライアント側暗号化(AES-128-CBC または XSalsa20-Poly1305)付き。サーバーはメタデータのみを認識します。
  • テレメトリなし:リモート埋め込み API を有効にしない限り、分析やクラウド呼び出しはありません。
  • 設定可能な TLS:リモート同期または埋め込みエンドポイント用。

設定のハイライト

変数 デフォルト 制御内容
MNEMOSYNE_DATA_DIR ~/.hermes/mnemosyne/data SQLite ファイルの場所
MNEMOSYNE_VEC_TYPE int8 ベクトル圧縮形式(float32、int8、bit)
MNEMOSYNE_EMBEDDING_API_URL OpenRouter エンドポイント リモート埋め込みサービス(ローカル埋め込みを実行しない場合)
MNEMOSYNE_EMBEDDING_MODEL BAAI/bge-small-en-v1.5 使用する埋め込みモデル
MNEMOSYNE_WM_MAX_ITEMS 10000 ホット作業記憶キャッシュのサイズ

環境変数で重み付け(MNEMOSYNE_VEC_WEIGHT、FTS_WEIGHT、IMPORTANCE_WEIGHT)と最近性減衰を調整できます。

誰が使うべきか?

  • カスタム LLM エージェントを構築する開発者:別のベクトル DB を実行せずに、永続的で検索可能なメモリが必要な場合。
  • オンプレミスまたはエッジデバイスに展開するチーム(Raspberry Pi、低 RAM VPS):スタック全体が数百 MB に収まるため。
  • プライバシーを重視するユーザー:デバイス間の暗号化同期が必要な場合。

現在の状況

Mnemosyne は実際に積極的にメンテナンスされているオープンソースプロジェクト(MIT ライセンス)であり、Mem0、Letta、Honcho などと同じ問題領域を対象としていますが、以下の点で差別化されています:

  • 純 Python で単一の SQLite ファイル、
  • 組み込み MCP サーバーにより、既存の多くのエージェントにプラグアンドプレイで対応、
  • クライアント側暗号化同期をコア機能として提供。

上記の詳細はすべて、リポジトリの README から直接取得しています。

関連

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