CortexReach/memory-lancedb-pro
Enhanced LanceDB memory plugin for OpenClaw — Hybrid Retrieval (Vector + BM25), Cross-Encoder Rerank, Multi-Scope Isolation, Management CLI
memory-lancedb-pro – OpenClawエージェント向けの長期記憶プラグイン
何であるか – 生産環境対応のOpenClawプラグインで、AIエージェントに永続的な「脳」を提供します。会話の断片、好み、意思決定、その他のコンテキストをLanceDBのベクトルストアに保存し、エージェントが応答する際に最も関連性の高い情報を自動的に再現します。
主な機能
| 機能 | 動作方法 |
|---|---|
| 自動キャプチャ | すべてのチャットターンがプラグインに送信されます。手動の memory_store 呼び出しは不要です。 |
| スマート抽出 | LLMが各キャプチャされたチャンクを6つのカテゴリ(プロファイル、好み、エンティティ、イベント、ケース、パターン)に分類します。 |
| ハイブリッド検索 | クエリは埋め込みされ、ANNベクトル類似性 および BM25全文検索の両方で検索されます。結果は統合され、必要に応じてクロスエンコーダーで再ランク付けされます。 |
| 知能的な忘却 | Weibull減衰モデルにより、古いまたは低重要度の記憶の重みが低下し、ノイズが徐々に消えます。 |
| コンテキスト挿入 | エージェントが応答を構築する前に、プラグインが上位の記憶を自動的にプロンプトに挿入します。 |
| スコープの分離 | 記憶はエージェント、ユーザー、プロジェクトごとに分離され、相互の漏洩を防ぎます。 |
| プロバイダ非依存の埋め込み | OpenAI、Jina、Gemini、Ollama、または任意のOpenAI互換APIと連携可能です。 |
| ツールキット | データベースのリスト、検索、エクスポート、インポート、再埋め込み、アップグレード、移行を実行するためのCLI。 |
| ドリームサポート | オプションのサイドカーで、「ドリーム」報告を公開アーティファクトとして扱い、インデックス化します。 |
インストール
- ワンクリックスクリプト –
curl …setup-memory.sh && bash setup-memory.sh(インストール、設定、サービス再起動を自動処理)。 - OpenClaw CLI –
openclaw plugins install memory-lancedb-pro@beta。 - npm –
npm i memory-lancedb-pro@beta(その後、plugins.load.pathsに絶対パスを追加)。
設定スナップショット(READMEのデフォルトJSON):
{
"plugins": {
"slots": { "memory": "memory-lancedb-pro" },
"entries": {
"memory-lancedb-pro": {
"enabled": true,
"config": {
"embedding": {
"provider": "openai-compatible",
"apiKey": "${OPENAI_API_KEY}",
"model": "text-embedding-3-small"
},
"autoCapture": true,
"autoRecall": true,
"smartExtraction": true,
"canonicalCorpus": { "enabled": true, "syncOnSearch": true },
"dreaming": { "enabled": false },
"extractMinMessages": 2,
"extractMaxChars": 8000,
"sessionMemory": { "enabled": false }
}
}
}
}
}
なぜこれらのデフォルトか? – 手動操作不要の学習(autoCapture + smartExtraction)と自動的再想起(autoRecall)を有効にしています。extractMinMessages を低く設定することで、通常の2ターンのやり取り後に抽出がトリガーされ、セッション記憶を無効にすることで一時的な要約が長期ストアを汚染するのを防ぎます。
実行時アーキテクチャ(READMEに記載):
index.tsはOpenClawにプラグインを登録し、ライフサイクルフック(before_prompt_build)を接続します。store.tsはLanceDB(ベクトル+BM25インデックス、CRUD操作)と通信します。embedder.tsは埋め込みプロバイダを抽象化します。retriever.tsはハイブリッド検索、統合、クロスエンコーダー再ランク付け、減衰ブーストを実行します。smart-extractor.tsはLLM分類を実行します。tools.tsはエージェント側ツール(memory_recall、memory_store、memory_forget、memory_update、およびオプションの管理ツール)を公開します。
通常のワークフロー
- キャプチャ – アシスタントの応答後に、プラグインは重要な事実を抽出し、LanceDBに行として保存します。また、人間の参照用に元のMarkdownファイル(
MEMORY.md、memory/**/*.mdなど)も書き出します。 - 再想起 – 次のユーザークエリが到着すると、
before_prompt_buildフックが実行されます:クエリは埋め込みられ、ハイブリッド検索、再ランク付けされ、上位ヒットがコンテキストスニペットとしてプロンプトに挿入されます。 - 減衰 – 保存された各行にはタイムスタンプと重要度スコアが付与されています。Weibull減衰エンジンにより、頻繁にアクセスされない限り、その関連性は徐々に低下します。
ハードウェアの注意点 – LanceDBのネイティブコサインANNにはAVX/AVX2が必要です。これらの命令セットをサポートしないCPUでは、ネイティブコサインを無効化できます(retrieval.disableNativeCosine: true または環境変数 MEMORY_LANCEDB_DISABLE_NATIVE_COSINE=1)。
エコシステムヘルパー
- セットアップスクリプト – 新規インストール、アップグレード、設定修復、アンインストールを処理します。
- スキルパッケージ –
memory-lancedb-pro-skillを使うと、Claude-CodeやOpenClawエージェントが自然言語コマンドでプラグインを設定できます。 - 動画チュートリアル – YouTubeとBilibiliで、インストール、ハイブリッド検索の内部構造、デバッグについてのウォークスルーが提供されています。
誰が使うべきか?
- セッション間でユーザーの好み、過去の意思決定、プロジェクトコンテキストを記憶する必要がある長期運用のOpenClawアシスタントを開発する開発者。
- 自分でベクトルストアや忘却ロジックを構築せずに、AIエージェントに「脳」を提供したいチーム。
- 任意のOpenAI互換埋め込みプロバイダと連携できる、単一で設定可能なプラグインを好む人。
結論 – memory-lancedb-pro は、OpenClawエージェント向けの完全機能、生産環境対応の記憶レイヤーであり、意味的ベクトル検索、古典的キーワード検索、減衰ベースの忘却、LLM駆動の抽出を統合し、インストールが簡単なプラグインとして提供されています。
関連
- プロジェクト