fix(memory): support Mem0 OSS mode in doctor + setup wizard - #57932
Closed
lunalunaa wants to merge 2 commits into
Closed
fix(memory): support Mem0 OSS mode in doctor + setup wizard#57932lunalunaa wants to merge 2 commits into
lunalunaa wants to merge 2 commits into
Conversation
doctor.py: The Mem0 health check only looked for a top-level api_key, which doesn't exist in OSS mode — credentials are nested in oss.llm.config.api_key and oss.embedder.config.api_key. Branch on mode to validate the correct fields per mode. memory_setup.py: The provider picker hardcoded its default cursor to 'Built-in only' even when a provider was already active. Read the current config and default to the active provider instead.
Author
|
Closing because an accidental merge. See the new PR #59865. |
lunalunaa
added a commit
to lunalunaa/hermes-agent
that referenced
this pull request
Jul 8, 2026
- doctor.py: branch Mem0 health check on mode — OSS validates oss.llm.config.api_key, oss.embedder.config.api_key, and oss.vector_store.provider; Platform mode unchanged (checks top-level api_key). Reports full config for both modes. - memory_setup.py: pass provider instance to status display so is_available() reflects OSS mode correctly. - _setup.py: default mode picker cursor to the currently configured mode (from mem0.json) instead of always defaulting to Platform. Adds '← current' label to the active mode option so users can see their existing setup at a glance. Closes NousResearch#57931 Supersedes NousResearch#57932
This was referenced Aug 3, 2026
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.
Summary
Fixes #57931
Two bugs in the Mem0 memory provider integration:
1.
hermes doctor— Mem0 OSS mode falsely reports "API key not set"doctor.py:2308only looked for a top-levelapi_keyfrom_load_config(). In OSS mode there is no top-levelapi_key— credentials are nested inoss.llm.config.api_keyandoss.embedder.config.api_keyinmem0.json. The check now branches onmode:oss.llm.config.api_key,oss.embedder.config.api_key, andoss.vector_store.providerare present. Reports mode, user_id, agent_id, llm model, embedder model, and vector store.api_key.2.
hermes memory setup— picker defaults to "Built-in only" even when a provider is activememory_setup.py:271hardcoded the picker default tobuiltin_idx(the last item, "Built-in only"). If the user pressed Enter without moving the cursor, it silently overwrotememory.provider: mem0→"". The fix reads the current config and defaults the cursor to the active provider.Changes
hermes_cli/doctor.pymode— OSS path validates nested config fieldshermes_cli/memory_setup.pyTesting
Platform mode behavior is unchanged (same code path, just wrapped in
else).