hermes-agent/plugins/memory/mem0
Livia Ellen 5e3303b3d8 fix(mem0): merge env vars with mem0.json instead of either/or
When mem0.json exists but is missing the api_key (e.g. after running
`hermes memory setup`), the plugin reports "not available" even though
MEM0_API_KEY is set in .env.  This happens because _load_config()
returns the JSON file contents verbatim, never falling back to env vars.

Use env vars as the base config and let mem0.json override individual
keys on top, so both config sources work together.

Fixes: mem0 plugin shows "not available" despite valid MEM0_API_KEY in .env
2026-04-03 20:42:48 -07:00
..
__init__.py fix(mem0): merge env vars with mem0.json instead of either/or 2026-04-03 20:42:48 -07:00
plugin.yaml feat(memory): pluggable memory provider interface with profile isolation, review fixes, and honcho CLI restoration (#4623) 2026-04-02 15:33:51 -07:00
README.md feat(memory): pluggable memory provider interface with profile isolation, review fixes, and honcho CLI restoration (#4623) 2026-04-02 15:33:51 -07:00

Mem0 Memory Provider

Server-side LLM fact extraction with semantic search, reranking, and automatic deduplication.

Requirements

Setup

hermes memory setup    # select "mem0"

Or manually:

hermes config set memory.provider mem0
echo "MEM0_API_KEY=your-key" >> ~/.hermes/.env

Config

Config file: $HERMES_HOME/mem0.json

Key Default Description
user_id hermes-user User identifier on Mem0
agent_id hermes Agent identifier
rerank true Enable reranking for recall

Tools

Tool Description
mem0_profile All stored memories about the user
mem0_search Semantic search with optional reranking
mem0_conclude Store a fact verbatim (no LLM extraction)