{"skill":{"slug":"memvault","displayName":"MemVault","summary":"Production-ready long-term memory server for AI agents with Ebbinghaus decay and strength-weighted retrieval. Use when you need persistent memory across agen...","description":"---\nname: memvault\ndescription: \"Production-ready long-term memory server for AI agents with Ebbinghaus decay and strength-weighted retrieval. Use when you need persistent memory across agent sessions, memory decay (forgetting curve), memory statistics, or multi-agent memory tracking. Triggers: long-term memory, remember, recall, memory decay, Ebbinghaus, agent memory, memvault. Requires Docker.\"\n---\n\n# MemVault — Long-term Memory for AI Agents\n\n## Quick Start\n\n```bash\n# Install (one command — Docker handles everything)\nbash scripts/install.sh\n\n# Verify\nmemvault health\n```\n\n## Usage\n\n```bash\n# Store a memory\nmemvault memorize-text <user_id> \"<message>\" \"[reply]\"\n\n# Retrieve memories (strength-weighted)\nmemvault retrieve <user_id> \"<query>\"\n\n# Run daily decay (memories fade like human memory)\nmemvault decay <user_id>\n\n# Check stats\nmemvault stats <user_id>\n```\n\n## API Endpoints\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| POST | `/memorize` | Store conversation → extract facts/events/knowledge |\n| POST | `/retrieve` | Strength-weighted vector search (`similarity × strength`) |\n| POST | `/decay` | Ebbinghaus forgetting curve (run daily via cron) |\n| GET | `/stats` | Memory distribution, access patterns, agent breakdown |\n| GET | `/health` | Service health |\n\n## How It Works\n\n1. **Store**: Conversations → LLM extracts facts → embedded → stored in pgvector\n2. **Retrieve**: Query embedded → cosine similarity × memory strength → ranked results\n3. **Decay**: `strength = exp(-rate × days / (1 + damping × ln(1 + access_count)))`\n4. **Access boost**: Each retrieval increments `access_count`, slowing decay\n\nFading memories (strength < 0.1) are excluded from search.\n\n## Configuration\n\nAll via environment variables in `.env` (created by install script):\n\n- `MEMVAULT_LLM_BASE_URL` — Default: Ollama local. Set to OpenAI/Groq/etc URL if preferred\n- `MEMVAULT_LLM_MODEL` — Default: `qwen2.5:3b`\n- `MEMVAULT_TRANSLATION` — Set `true` + `MEMVAULT_TRANSLATION_LANG` for auto-translation\n- `MEMVAULT_PORT` — Default: `8002`\n\n## Daily Cron Setup\n\nAdd Ebbinghaus decay to your agent's cron:\n\n```\n0 3 * * *  curl -s -X POST 'http://127.0.0.1:8002/decay?user_id=YOUR_USER_ID'\n```\n\n## TOOLS.md Snippet\n\n```markdown\n## MemVault 🧠\nmemvault memorize-text \"<user_id>\" \"<content>\" \"<context>\"\nmemvault retrieve \"<user_id>\" \"<query>\"\nmemvault decay <user_id>\nmemvault stats <user_id>\n- API: 127.0.0.1:8002\n```\n\n## Multi-Agent Memory\n\nTag memories by source agent:\n\n```bash\ncurl -X POST http://localhost:8002/memorize -H \"Content-Type: application/json\" \\\n  -d '{\"conversation\": [\n    {\"role\": \"metadata\", \"content\": \"{\\\"source_agent\\\": \\\"research-bot\\\"}\"},\n    {\"role\": \"user\", \"content\": \"Found new papers on transformers\"}\n  ], \"user_id\": \"team\"}'\n```\n\n## Troubleshooting\n\n- **\"Connection refused\"** → Run `docker compose -f ~/.openclaw/workspace/skills/memvault/docker-compose.yml up -d`\n- **Slow memorize** → Normal, LLM extraction takes 5-15s per conversation\n- **No results from retrieve** → Check `memvault stats` — if total=0, nothing stored yet\n- **All memories fading** → Reduce decay_rate: `curl -X POST 'http://localhost:8002/decay?decay_rate=0.05'`\n","topics":["Agent Memory","Docker","Long Term Memory","Multi Agent"],"tags":{"latest":"1.0.3","ai-agents":"1.0.1","memory":"1.0.1"},"stats":{"comments":0,"downloads":830,"installsAllTime":31,"installsCurrent":0,"stars":0,"versions":4},"createdAt":1772422546656,"updatedAt":1779077543988},"latestVersion":{"version":"1.0.3","createdAt":1772422737633,"changelog":"Fix: rename extensionless files (Dockerfile.txt, memvault.sh, env.example.txt) for clawhub packaging","license":null},"metadata":null,"owner":{"handle":"wjy9902","userId":"s170c8d136ngzy4rwzy9a89tx9885m2r","displayName":"wjy9902","image":"https://avatars.githubusercontent.com/u/49051666?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780089735599}}