feat: add Mem0 OSS memory provider plugin with setup wizard, docs, and tests#5565
Closed
kartik-mem0 wants to merge 1 commit intoNousResearch:mainfrom
Closed
feat: add Mem0 OSS memory provider plugin with setup wizard, docs, and tests#5565kartik-mem0 wants to merge 1 commit intoNousResearch:mainfrom
kartik-mem0 wants to merge 1 commit intoNousResearch:mainfrom
Conversation
Author
|
@teknium1 can you please review this pr? |
|
+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. |
|
+1 this |
Author
|
this pr gets superseded by this #15624 closing this pr. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
Changes Made
plugins/memory/mem0_oss/__init__.py— NewMem0OSSMemoryProviderwith full lifecycle (initialize, prefetch, sync_turn, handle_tool_call, shutdown), circuit breaker, custom fact extractionprompt 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 withmem0aias base dependencyplugins/memory/mem0_oss/README.md— Setup, config, supported providers, and tool documentationhermes_cli/memory_setup.py— Unified Mem0 picker (groupsmem0+mem0_ossinto single entry with Platform/Self-hosted sub-picker), added_install_extra_dependencies()to auto-installprovider-specific packages during onboarding
plugins/memory/mem0/README.md— Updated wizard command to reflect new grouped pickerwebsite/docs/user-guide/features/memory-providers.md— Added Mem0 Self-hosted (OSS) section, updated comparison table and provider liststests/plugins/memory/test_mem0_oss.py— 33 unit tests covering config loading, availability checks (including missing dependency detection), tool calls, circuit breaker, kwargs, responseunwrapping, config schema, and system prompt
How to Test
hermes memory setup, select "Mem0", then "Self-hosted (OSS)"ollama)mem0_oss_conclude— store a factmem0_oss_search— search for itmem0_oss_profile— list all memoriespytest tests/plugins/memory/test_mem0_oss.py -v— all 33 tests should passChecklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passDocumentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/Aor N/A