# openclaw-mem0-python OpenClaw plugin that exposes the mem0 HTTP API as tools for conversational memory and a tool-driven knowledge base (RAG). Conversational memory can be injected by the hook; knowledge retrieval stays explicit via tool calls. ## Features - Conversational memory: write/search/read recent. - Knowledge base tools: list books, describe a book, search within one book or across multiple books. ## Install (local dev) ```bash # link plugin into OpenClaw extensions openclaw plugins install -l /home/lucky/.openclaw/extensions/openclaw-mem0-python # enable if not already openclaw plugins enable openclaw-mem0-python # reload gateway openclaw gateway restart ``` ## Configure You can set defaults via environment or config: - `MEM0_BASE_URL` (default: `http://192.168.0.200:8420`) - `MEM0_KNOWLEDGE_USER_ID` (default: `knowledge_base`) ## Tool surface - `write({ text, userId? })` - `search({ query, userId?, limit? })` - `read({ userId?, limit? })` Knowledge tools: - `listKnowledgeSources({ userId? })` - `describeKnowledgeBook({ sourceFile, userId? })` - `searchKnowledgeBook({ query, sourceFile, userId?, limit? })` - `searchKnowledgeBooks({ query, sourceFiles, userId?, limit? })` - `searchKnowledge({ query, userId?, limit? })` - `writeKnowledge({ text, userId? })` ## Test (local) ```bash node /home/lucky/.openclaw/extensions/openclaw-mem0-python/test_memories.mjs ``` This test writes/reads conversational memory, then lists knowledge sources and (if present) describes & searches the first book. ## Notes - `describeKnowledgeBook` uses `/knowledge/search` plus metadata filtering (`metadata.source_file`) to safely scope results to one book. - If your knowledge source names are PDFs, the tool also exposes a `hintQuery` derived from `source_file` (same approach as the dashboard).