mcpField
O
openclaw-memory-enhancer

openclaw-memory-enhancer

github.com/aaaaqwqエージェントワークフロー11140 回インストール1 週間前に更新
リポジトリ

openclaw-memory-enhancer について

openclaw-memory-enhancer は OpenClaw にセッションをまたぐメモリ機能を追加し、ローカルの memory/ ファイルを読み込んで関連情報を検索します。軽量なエッジ版と sentence-transformers を使う標準版があります。

主な機能

  1. 01memory/ ファイルの自動読み込み
  2. 02セマンティック検索と記憶の呼び出し
  3. 03関連する記憶の関連付け
  4. 04JSON 形式でのローカル保存
  5. 05エッジ版と標準版

活用シーン

  1. 01複数セッションにわたるプロジェクト情報の保持
  2. 02チャット履歴からのナレッジベース構築
  3. 03Jetson や Raspberry Pi での記憶検索

インストール

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

$npx skills add https://github.com/aaaaqwq/agi-super-team --skill openclaw-memory-enhancer

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
README.md
knowledge_base.py
memory_enhancer.py
memory_enhancer_edge.py

詳細

🧠 OpenClaw メモリーエンハンサー

OpenClaw に長期記憶を持たせ、セッションをまたいで重要な情報を記憶し、会話に関連するコンテキストを自動的に呼び出します。

主な機能

機能説明
🔍 セマンティック検索ベクトル類似度検索により、キーワードだけでなく意図も理解します
📂 自動読み込みmemory/ ディレクトリ内のすべてのファイルを自動的に読み込みます
💡 スマートリコール会話中に関連する過去の記憶を見つけます
🔗 メモリーグラフ関連する記憶同士のつながりを構築します
💾 ローカルストレージ100%ローカルで動作し、クラウドを使わず、プライバシーを完全に保護します
🚀 エッジ最適化メモリー使用量は <10MB。Jetson/Raspberry Pi で動作します

クイックリファレンス

タスクコマンド(エッジ版)コマンド(標準版)
記憶を読み込むpython3 memory_enhancer_edge.py --loadpython3 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ユーザーの好み「ユーザーはダークモードを好む」

仕組み

記憶のエンコード(エッジ版)
  1. キーワード抽出:テキストから重要な単語を抽出します
  2. ハッシュベクトル:キーワードをベクトル上の位置に割り当てます
  3. 正規化:ベクトルを L2 正規化します
  4. 保存:ローカルの JSON ファイルに保存します
記憶の検索
  1. クエリのエンコード:クエリを同じベクトル形式に変換します
  2. キーワードによる事前フィルタリング:共通キーワードで高速に絞り込みます
  3. 類似度の計算:ベクトル間のコサイン類似度を計算します
  4. ランキング:類似度が最も高い上位 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 を小さくします
  • キーワードによる事前フィルタリングを使用します(自動)

コントリビューション

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します
  3. 変更を加えます
  4. プルリクエストを送信します

ライセンス

MIT ライセンス — 詳細は LICENSE ファイルをご覧ください。

謝辞

  • OpenClaw エコシステム向けに構築されています
  • エッジコンピューティングデバイス向けに最適化されています
  • AI の長期記憶システムに着想を得ています

OpenClaw または Moonshot AI の公式製品ではありません。

ユーザーは自身の OpenClaw ワークスペースと API キーを用意する必要があります。

コメント