mem0
AIアプリケーションに永続的なメモリ機能を追加するための Mem0 Platform SDK に関するスキルです。「mem0」「MemoryClient」「memory layer」「ユーザー設定の記憶」「永続的なコンテキスト」「パーソナライゼーション」といったキーワードが登場した場合や、チャットボット・AIエージェント・AIアプリへの長期記憶の実装が必要な場合にトリガーされます。Python SDK・TypeScript SDK のほか、LangChain・CrewAI・OpenAI Agents SDK・Pipecat・LlamaIndex・AutoGen・LangGraph などのフレームワーク連携、およびオープンソースのセルフホスト型 Memory クラスもカバーします。
description の原文を見る
> Mem0 Platform SDK for adding persistent memory to AI applications. TRIGGER when: user mentions "mem0", "MemoryClient", "memory layer", "remember user preferences", "persistent context", "personalization", or needs to add long-term memory to chatbots, agents, or AI apps. Covers Python SDK (mem0ai), TypeScript SDK (mem0ai), and framework integrations (LangChain, CrewAI, OpenAI Agents SDK, Pipecat, LlamaIndex, AutoGen, LangGraph). Also covers the open-source self-hosted Memory class. This is the DEFAULT mem0 skill for ambiguous queries. DO NOT TRIGGER when: user asks about CLI commands, terminal usage, or shell scripts (use mem0-cli), or Vercel AI SDK / @mem0/vercel-ai-provider / createMem0 (use mem0-vercel-ai-sdk).
SKILL.md 本文
Mem0 Platform 統合
スキルグラフ: このスキルは Mem0 スキルグラフの一部です:
- mem0 (このスキル) -- Platform Client SDK + OSS (Python + TypeScript)
- mem0-cli -- コマンドラインインターフェース
- mem0-vercel-ai-sdk -- Vercel AI SDK プロバイダー
Mem0 は AI アプリケーション用のマネージドメモリレイヤーです。API 経由でユーザーのメモリを保存、検索、管理します。インフラストラクチャをデプロイする必要はありません。自己ホストの使用方法については、以下のクライアント参照の OSS セクションを参照してください。
ステップ 1: インストールと認証
Python:
pip install mem0ai
export MEM0_API_KEY="m0-your-api-key"
TypeScript/JavaScript:
npm install mem0ai
export MEM0_API_KEY="m0-your-api-key"
API キーを取得: https://app.mem0.ai/dashboard/api-keys?utm_source=oss&utm_medium=mem0-plugin-skill
MEM0_API_KEYがない場合?mem0 init --agent --jsonを実行します (pip install mem0-cliまたはnpm install -g @mem0/cliの後に)。メールやダッシュボードなしで評価キーを生成できます。後でユーザーがmem0 init --email <your-email>でクレームできます。
ステップ 2: クライアントを初期化
Python:
from mem0 import MemoryClient
client = MemoryClient(api_key="m0-xxx")
TypeScript:
import MemoryClient from 'mem0ai';
const client = new MemoryClient({ apiKey: 'm0-xxx' });
非同期 Python の場合は、AsyncMemoryClient を使用します。
ステップ 3: コア操作
すべての Mem0 統合は同じパターンに従います: 取得 → 生成 → 保存。
メモリを追加
messages = [
{"role": "user", "content": "I'm a vegetarian and allergic to nuts."},
{"role": "assistant", "content": "Got it! I'll remember that."}
]
client.add(messages, user_id="alice")
メモリを検索
results = client.search("dietary preferences", filters={"user_id": "alice"})
for mem in results.get("results", []):
print(mem["memory"])
すべてのメモリを取得
all_memories = client.get_all(filters={"user_id": "alice"})
メモリを更新
client.update("memory-uuid", text="Updated: vegetarian, nut allergy, prefers organic")
メモリを削除
client.delete("memory-uuid")
client.delete_all(user_id="alice") # ユーザーのすべてを削除
一般的な統合パターン
from mem0 import MemoryClient
from openai import OpenAI
mem0 = MemoryClient()
openai = OpenAI()
def chat(user_input: str, user_id: str) -> str:
# 1. 関連するメモリを取得
memories = mem0.search(user_input, filters={"user_id": user_id})
context = "\n".join([m["memory"] for m in memories.get("results", [])])
# 2. メモリコンテキストで応答を生成
response = openai.chat.completions.create(
model="gpt-5-mini",
messages=[
{"role": "system", "content": f"User context:\n{context}"},
{"role": "user", "content": user_input},
]
)
reply = response.choices[0].message.content
# 3. 将来のコンテキストのため相互作用を保存
mem0.add(
[{"role": "user", "content": user_input}, {"role": "assistant", "content": reply}],
user_id=user_id
)
return reply
よくあるエッジケース
- 検索で空を返す: メモリは非同期で処理されます。
add()の後 2~3 秒待ってから検索してください。また、user_idが完全に一致すること (大文字小文字を区別) を確認し、filters={"user_id": "..."}構文を使用してください。 - user_id + agent_id の AND フィルター検索で空を返す: エンティティは別々に保存されます。代わりに
ORを使用するか、別々にクエリしてください。 - 重複するメモリ: 同じデータに
infer=True(デフォルト) とinfer=Falseを混在させないでください。どちらか一つのモードに統一してください。 - 不正なインポート: 常に
from mem0 import MemoryClient(または非同期の場合はAsyncMemoryClient) を使用してください。from mem0 import Memoryは使用しないでください。 - v3 デフォルト:
top_k=20、threshold=0.1、rerank=False。ユースケースに応じて調整してください。
v2 互換性
SDK v2.x を使用している場合は、これらの違いに注意してください:
- エンティティ ID:
search()にuser_idをfiltersの内部ではなくトップレベルの kwarg として渡します - デフォルト:
top_k=100、しきい値なし、rerank=True - グラフメモリ:
enable_graph=Trueで利用可能
詳細はマイグレーションガイドを参照してください。
ライブドキュメント検索
参照にない最新のドキュメントについては、ドキュメント検索ツールを使用してください:
python ${CLAUDE_SKILL_DIR}/scripts/mem0_doc_search.py --query "topic"
python ${CLAUDE_SKILL_DIR}/scripts/mem0_doc_search.py --page "/platform/features/graph-memory"
python ${CLAUDE_SKILL_DIR}/scripts/mem0_doc_search.py --index
API キーは不要です — docs.mem0.ai を直接検索します。
クライアント SDK リファレンス
言語固有の詳細リファレンス (Platform + OSS):
| 言語 | ファイル |
|---|---|
| Python (MemoryClient + AsyncMemoryClient + Memory OSS) | client/python.md |
| TypeScript/Node.js (MemoryClient + Memory OSS) | client/node.md |
| Python vs TypeScript の違い | client/differences.md |
Platform リファレンス
必要に応じてオンデマンドで読み込んでください:
| トピック | ファイル |
|---|---|
| クイックスタート (Python、TS、cURL) | references/quickstart.md |
| SDK ガイド (すべてのメソッド、両言語) | references/sdk-guide.md |
| API リファレンス (エンドポイント、フィルター、オブジェクトスキーマ) | references/api-reference.md |
| アーキテクチャ (パイプライン、ライフサイクル、スコーピング、パフォーマンス) | references/architecture.md |
| Platform 機能 (検索、グラフ、カテゴリー、MCP など) | references/features.md |
| フレームワーク統合 (LangChain、CrewAI、OpenAI Agents など) | references/integration-patterns.md |
| ユースケースと例 (実際のパターンとコード) | references/use-cases.md |
関連する Mem0 スキル
| スキル | 使用するタイミング | リンク |
|---|---|---|
| mem0-cli | ターミナルコマンド、スクリプティング、CI/CD、エージェントツールループ | GitHub |
| mem0-vercel-ai-sdk | 自動メモリ機能付き Vercel AI SDK プロバイダー | GitHub |
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- mem0ai
- リポジトリ
- mem0ai/mem0
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/mem0ai/mem0 / ライセンス: Apache-2.0
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。