Original Reddit post

What it is: EcoDB is a shared memory system for multi-agent teams. Multiple agents store, search, connect, and govern knowledge across workspaces and projects. PostgreSQL + pgvector + Apache AGE (knowledge graph in SQL). 22+ tools via MCP (Model Context Protocol) — works with Claude Code, Cursor, Windsurf, or any MCP host. Also a full REST API. The retrieval engine (GAMR — Graph-Augmented Multimodal Retrieval): 10-stage scoring pipeline — query classification → embedding → vector retrieval → BM25 lexical → graph expansion → source resolution → temporal freshness → contradiction detection → composite scoring → optional cross-encoder reranking. Each stage adds a signal that pure vector search doesn’t have. Multimodal: text queries find images, image queries find text — same vector space (Jina v4). Benchmarks (LoCoMo, Maharana et al., ACL 2024): 10 conversations, 1,982 queries, no exclusions. Latency: p50=44ms, p95=48ms — full 10-stage pipeline including graph traversal (RTX 2080 Ti, localhost) Key finding: structured 5-turn chunking improved R@5 from 76.9% to 92.2% at K=20 (+19.9%). Ingestion granularity mattered more than ranking sophistication. The 10-stage scoring pipeline contributed less than we expected. Why Recall@K instead of LLM-as-Judge accuracy? We’re measuring the retrieval system, not the downstream LLM. LLM-as-Judge conflates retrieval quality with the model’s reasoning ability — a powerful model can infer correct answers from poor retrieval, positively reinforcing hallucination as a metric signal. R@5 isolates what the memory system actually found. No confound. To our knowledge, no other AI memory system has published retrieval Recall@K on LoCoMo — others report end-to-end QA accuracy, which measures a different capability. Eval scripts and results are in eval/ . Clone, deploy, reproduce. Stack: PostgreSQL 16, pgvector, Apache AGE (Cypher queries inside PostgreSQL), Jina v4 embeddings (multimodal, local), GLiNER NER (local), FastAPI + JWT auth, Docker Compose. Fully self-hosted — no external API calls. Requirements: NVIDIA GPU with ≥11 GB VRAM (tested on RTX 2080 Ti). GPU required — embedding model needs CUDA. ~8 GB system RAM ~35 GB disk (first boot downloads embedding + NER models — expect 20-30 min on first docker compose up ) Docker Compose v2 Linux tested. Docker on Mac/Windows should work but not validated. Setup: ./scripts/setup.sh → docker compose up -d → wait for models → bootstrap_first_apikey.py → ready License: PolyForm Noncommercial 1.0.0. Free for personal, educational, and noncommercial use. Commercial deployment requires a separate license. Repo: https://github.com/josortmel/ecodb Happy to answer questions about architecture, benchmarks, or the GAMR pipeline. submitted by /u/Jhosser

Originally posted by u/Jhosser on r/ClaudeCode