Skip to content

feat: add Mem0 OSS memory provider plugin with setup wizard, docs, and tests#5565

Closed
kartik-mem0 wants to merge 1 commit intoNousResearch:mainfrom
kartik-mem0:feat/mem0-oss
Closed

feat: add Mem0 OSS memory provider plugin with setup wizard, docs, and tests#5565
kartik-mem0 wants to merge 1 commit intoNousResearch:mainfrom
kartik-mem0:feat/mem0-oss

Conversation

@kartik-mem0
Copy link
Copy Markdown

What does this PR do?

Adds a self-hosted Mem0 OSS memory provider plugin alongside the existing cloud platform version. Users can now run memory entirely on their own infrastructure with configurable LLM (OpenAI/Ollama), embedder (OpenAI/Ollama), and vector store (Qdrant/PGVector/Milvus). The setup wizard merges both Mem0 variants into a single picker entry with a sub-selection for Platform vs
Self-hosted.

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 🔒 Security fix
  • 📝 Documentation update
  • ✅ Tests (adding or improving test coverage)
  • ♻️ Refactor (no behavior change)
  • 🎯 New skill (bundled or hub)

Changes Made

  • plugins/memory/mem0_oss/__init__.py — New Mem0OSSMemoryProvider with full lifecycle (initialize, prefetch, sync_turn, handle_tool_call, shutdown), circuit breaker, custom fact extraction
    prompt to filter conversational noise, auto-detection of embedding dimensions, and dependency checking for provider-specific packages (ollama, psycopg2-binary, pymilvus)
  • plugins/memory/mem0_oss/plugin.yaml — Plugin metadata with mem0ai as base dependency
  • plugins/memory/mem0_oss/README.md — Setup, config, supported providers, and tool documentation
  • hermes_cli/memory_setup.py — Unified Mem0 picker (groups mem0 + mem0_oss into single entry with Platform/Self-hosted sub-picker), added _install_extra_dependencies() to auto-install
    provider-specific packages during onboarding
  • plugins/memory/mem0/README.md — Updated wizard command to reflect new grouped picker
  • website/docs/user-guide/features/memory-providers.md — Added Mem0 Self-hosted (OSS) section, updated comparison table and provider lists
  • tests/plugins/memory/test_mem0_oss.py — 33 unit tests covering config loading, availability checks (including missing dependency detection), tool calls, circuit breaker, kwargs, response
    unwrapping, config schema, and system prompt

How to Test

  1. Run hermes memory setup, select "Mem0", then "Self-hosted (OSS)"
  2. Pick Ollama for LLM and embedder (or OpenAI), Qdrant for vector store — the wizard should auto-install any missing packages (e.g. ollama)
  3. Start a Hermes session and verify all three tools work:
    • mem0_oss_conclude — store a fact
    • mem0_oss_search — search for it
    • mem0_oss_profile — list all memories
  4. Run pytest tests/plugins/memory/test_mem0_oss.py -v — all 33 tests should pass

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)
  • I've run pytest tests/ -q and all tests pass
  • I've added tests for my changes (required for bug fixes, strongly encouraged for features)
  • I've tested on my platform: macOS 15 (Darwin 25.3.0)

Documentation & Housekeeping

  • I've updated relevant documentation (README, docs/, docstrings) — or N/A
  • I've updated cli-config.yaml.example if I added/changed config keys — or N/A
  • I've updated CONTRIBUTING.md or AGENTS.md if I changed architecture or workflows — or N/A
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide
    or N/A
  • I've updated tool descriptions/schemas if I changed tool behavior — or N/A

@kartik-mem0
Copy link
Copy Markdown
Author

@teknium1 can you please review this pr?

@alienos
Copy link
Copy Markdown

alienos commented Apr 15, 2026

+1 for this! Self-hosted Mem0 OSS would be fantastic for users who want persistent memory for their AI agents without sending sensitive conversation data to external cloud services.

Many users prefer to keep all agent memory on their own infrastructure. Having Mem0 OSS as an official plugin would be a game-changer for the self-hosted community.

Would love to see this merged. Happy to help test if needed.

@ellenlivia-mem0
Copy link
Copy Markdown

+1 this

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/plugins Plugin system and bundled plugins tool/memory Memory tool and memory providers labels Apr 23, 2026
@kartik-mem0
Copy link
Copy Markdown
Author

this pr gets superseded by this #15624

closing this pr.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have tool/memory Memory tool and memory providers type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants