Track 1 · MemoryAgent · Apache 2.0
Memoria, a personal AI that remembers, forgets and reflects
Memoria keeps long-term memory of what you tell it. It ranks that memory when you chat, lets stale facts fade, merges related ones, and flags facts that contradict each other.
- FastAPI
- PostgreSQL + pgvector
- Redis
- Celery
- Qwen Cloud (DashScope)
- React

What it does
Persistent memory
Facts from conversations are embedded with text-embedding-v3 (1024 dimensions) and stored in PostgreSQL with pgvector. Six memory types: core, episodic, semantic, procedural, goal, preference.
Cross-session recall
Retrieval ranks memories by vector similarity × importance × recency, so the agent can use what you said in earlier, separate chats.
Personal Intelligence and MemoryLess
Turn global memory access on or off. MemoryLess incognito chats never read or write long-term memory.
Forgetting and consolidation
Daily exponential decay archives stale memories. A weekly Qwen-Max job merges related facts into short summaries.
Conflict detection
A new fact that contradicts a stored one is flagged and supersedes it during ingestion.
Reflection
Qwen periodically reflects on stored memories and adds higher-level patterns about you to the system prompt.
Slash commands and streaming chat
Type / for nine commands. Replies stream token by token over SSE with Markdown and KaTeX.
MCP memory skills
Four memory tools are published at GET /mcp/memory-skills so external agents can read and curate memory.
How the pieces fit
1. Chat
FastAPI loads the Redis session, retrieves memories from pgvector, and asks Qwen for a reply.
2. Ingest
A Celery worker extracts facts, embeds them and stores them with conflict checks.
3. Maintain
Celery Beat runs daily decay and weekly consolidation.
4. Reflect
Reflection runs in the background on every 10th user message.
Benchmark result
+77.6%
average improvement across 12 scenarios
0.58 → 0.90
average accuracy without and with memory
0.64 → 0.92
average composite of accuracy, safety and coherence
Two scenarios scored slightly lower with memory (-3.7%) and three were unchanged. See method and all 12 results.
Screenshots




Run it yourself
Clone the repo, add a DashScope API key, and start the stack with Docker Compose.