openclaw-memory-enhancer について
openclaw-memory-enhancer は OpenClaw にセッションをまたぐメモリ機能を追加し、ローカルの memory/ ファイルを読み込んで関連情報を検索します。軽量なエッジ版と sentence-transformers を使う標準版があります。
主な機能
- 01memory/ ファイルの自動読み込み
- 02セマンティック検索と記憶の呼び出し
- 03関連する記憶の関連付け
- 04JSON 形式でのローカル保存
- 05エッジ版と標準版
活用シーン
- 01複数セッションにわたるプロジェクト情報の保持
- 02チャット履歴からのナレッジベース構築
- 03Jetson や Raspberry Pi での記憶検索
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aaaaqwq/ agi-super-team --skill openclaw-memory-enhancerインストール後、Claude Code で/openclaw-memory-enhancerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEREADME.mdknowledge_base.pymemory_enhancer.pymemory_enhancer_edge.py詳細
🧠 OpenClaw メモリーエンハンサー
OpenClaw に長期記憶を持たせ、セッションをまたいで重要な情報を記憶し、会話に関連するコンテキストを自動的に呼び出します。
主な機能
| 機能 | 説明 |
|---|---|
| 🔍 セマンティック検索 | ベクトル類似度検索により、キーワードだけでなく意図も理解します |
| 📂 自動読み込み | memory/ ディレクトリ内のすべてのファイルを自動的に読み込みます |
| 💡 スマートリコール | 会話中に関連する過去の記憶を見つけます |
| 🔗 メモリーグラフ | 関連する記憶同士のつながりを構築します |
| 💾 ローカルストレージ | 100%ローカルで動作し、クラウドを使わず、プライバシーを完全に保護します |
| 🚀 エッジ最適化 | メモリー使用量は <10MB。Jetson/Raspberry Pi で動作します |
クイックリファレンス
| タスク | コマンド(エッジ版) | コマンド(標準版) |
|---|---|---|
| 記憶を読み込む | python3 memory_enhancer_edge.py --load | python3 memory_enhancer.py --load |
| 検索 | --search "query" | --search "query" |
| 記憶を追加 | --add "content" | --add "content" |
| エクスポート | --export | --export |
| 統計 | --stats | --stats |
使用する場面
次のような場合にこのスキルを使用してください:
- OpenClaw にセッションをまたいで情報を記憶させたい
- チャット履歴からナレッジベースを構築したい
- コンテキストを必要とする長期プロジェクトに取り組んでいる
- 会話から FAQ を自動生成したい
- メモリーに制限のあるエッジデバイスで実行している
次のような場合は使用しないでください:
- シンプルなメモアプリで十分な場合
- セッションをまたいだ記憶が不要な場合
- メモリーに余裕があり、最大限の精度を求める場合(標準版を使用してください)
バージョン
エッジ版 ⭐ 推奨
最適な用途: Jetson、Raspberry Pi、組み込みデバイス
python3 memory_enhancer_edge.py --load
機能:
- 依存関係ゼロ(Python 標準ライブラリのみ)
- メモリー使用量 < 10MB
- キーワードとベクトルによる軽量な照合
- リソースに制約のあるデバイスに最適です
標準版
最適な用途: デスクトップ/サーバー、最大限の精度
pip install sentence-transformers numpy
python3 memory_enhancer.py --load
機能:
- 高品質な埋め込みの生成に sentence-transformers を使用します
- より優れたセマンティック理解
- メモリー使用量は 50-100MB
- モデルのダウンロード(~50MB)が必要です
インストール
ClawHub 経由(推奨)
clawhub install openclaw-memory-enhancer
Git 経由
git clone https://github.com/henryfcb/openclaw-memory-enhancer.git \
~/.openclaw/skills/openclaw-memory-enhancer
使用例
コマンドライン
# Load existing OpenClaw memories
cd ~/.openclaw/skills/openclaw-memory-enhancer
python3 memory_enhancer_edge.py --load
# Search for memories
python3 memory_enhancer_edge.py --search "voice-call plugin setup"
# Add a new memory
python3 memory_enhancer_edge.py --add "User prefers dark mode"
# Show statistics
python3 memory_enhancer_edge.py --stats
# Export to Markdown
python3 memory_enhancer_edge.py --export
Python API
from memory_enhancer_edge import MemoryEnhancerEdge
# Initialize
memory = MemoryEnhancerEdge()
# Load existing memories
memory.load_openclaw_memory()
# Search for relevant memories
results = memory.search_memory("AI trends report", top_k=3)
for r in results:
print(f"[{r['similarity']:.2f}] {r['content'][:100]}...")
# Recall context for a conversation
context = memory.recall_for_prompt("Help me check billing")
# Returns formatted memory context
# Add new memory
memory.add_memory(
content="User prefers direct results",
source="chat",
memory_type="preference"
)
OpenClaw との統合
# In your OpenClaw agent
from skills.openclaw_memory_enhancer.memory_enhancer_edge import MemoryEnhancerEdge
class EnhancedAgent:
def __init__(self):
self.memory = MemoryEnhancerEdge()
self.memory.load_openclaw_memory()
def process(self, user_input: str) -> str:
# 1. Recall relevant memories
memory_context = self.memory.recall_for_prompt(user_input)
# 2. Enhance prompt with context
enhanced_prompt = f"""
{memory_context}
User: {user_input}
"""
# 3. Call LLM with enhanced context
response = call_llm(enhanced_prompt)
return response
記憶の種類
| 種類 | 説明 | 例 |
|---|---|---|
daily_log | 日次の記憶ファイル | memory/2026-02-22.md |
capability | 機能の記録 | スキル、ツール |
core_memory | 基本的な規約 | 重要なルール |
qa | 質問と回答 | Q: 方法は… A: …してください |
instruction | 直接的な指示 | 「覚えておいてください:常に X を行う」 |
solution | 技術的な解決策 | 手順ガイド |
preference | ユーザーの好み | 「ユーザーはダークモードを好む」 |
仕組み
記憶のエンコード(エッジ版)
- キーワード抽出:テキストから重要な単語を抽出します
- ハッシュベクトル:キーワードをベクトル上の位置に割り当てます
- 正規化:ベクトルを L2 正規化します
- 保存:ローカルの JSON ファイルに保存します
記憶の検索
- クエリのエンコード:クエリを同じベクトル形式に変換します
- キーワードによる事前フィルタリング:共通キーワードで高速に絞り込みます
- 類似度の計算:ベクトル間のコサイン類似度を計算します
- ランキング:類似度が最も高い上位 k 件の記憶を返します
プライバシー保護
- すべてのデータは
~/.openclaw/workspace/knowledge-base/にローカル保存されます - ネットワークへのリクエストはありません
- 外部 API の呼び出しはありません
- データがデバイス外に送信されることはありません
技術仕様
エッジ版
Vector Dimensions: 128
Memory Usage: < 10MB
Dependencies: None (Python stdlib)
Storage Format: JSON
Max Memories: 1000 (configurable)
Query Latency: < 100ms
標準版
Vector Dimensions: 384
Memory Usage: 50-100MB
Dependencies: sentence-transformers, numpy
Storage Format: NumPy + JSON
Model Size: ~50MB download
Query Latency: < 50ms
設定
コード内の以下のパラメーターを編集してください:
self.config = {
"vector_dim": 128, # Vector dimensions
"max_memory_size": 1000, # Max number of memories
"chunk_size": 500, # Content chunk size
"min_keyword_len": 2, # Minimum keyword length
}
トラブルシューティング
結果が見つからない
# Lower the threshold
results = memory.search_memory(query, threshold=0.2) # Default 0.3
# Increase top_k
results = memory.search_memory(query, top_k=10) # Default 5
記憶の上限に達した
上限に達すると、システムは最も古い記憶を自動的に削除します。
上限を増やすには:
self.config["max_memory_size"] = 5000 # Increase from 1000
パフォーマンスが遅い
- 標準版ではなくエッジ版を使用します
max_memory_sizeを小さくします- キーワードによる事前フィルタリングを使用します(自動)
コントリビューション
- リポジトリをフォークします
- フィーチャーブランチを作成します
- 変更を加えます
- プルリクエストを送信します
ライセンス
MIT ライセンス — 詳細は LICENSE ファイルをご覧ください。
謝辞
- OpenClaw エコシステム向けに構築されています
- エッジコンピューティングデバイス向けに最適化されています
- AI の長期記憶システムに着想を得ています
OpenClaw または Moonshot AI の公式製品ではありません。
ユーザーは自身の OpenClaw ワークスペースと API キーを用意する必要があります。
コメント
Markdown 対応