Memoria features
Everything below is implemented in the repository. Quotas and model names come from the README.
Core features
Persistent and cross-session memory
Facts are stored in PostgreSQL with pgvector and retrieved across separate chats.
Personal Intelligence
Toggle global memory access. When off, recall is limited to the current session plus core facts.
MemoryLess incognito sessions
Private chats that never read or write long-term memory. Media slash commands are disabled.
SSE streaming chat
Replies stream through POST /chat/stream, rendered with Markdown and KaTeX.
Forgetting and consolidation
Daily decay and weekly Qwen-Max consolidation.
Conflict detection
Contradicting facts are flagged and superseded during ingestion.
Reflective insights
Periodic Qwen reflection adds patterns about you to the system prompt.
Thumbs up and down feedback
Rate replies to strengthen or weaken the memories that informed them (POST /api/feedback).
Structured output
Qwen JSON responses drive consolidation, reflection and conflict resolution, with schema fallbacks.
Tasks and media library
Create tasks in chat. Browse generated images and videos, download them, or delete them permanently.
Persona
Set response length, tone and behaviour traits. They are added to the system prompt.
Product knowledge base
The AI carries a built-in reference of Memoria's own architecture and features.
Six memory types
| Type | Behaviour |
|---|---|
core | Never decays and is always packed into context first. Manual /memorize facts are stored as core. |
episodic | Decay rate 0.02. |
semantic | Decay rate 0.01. Consolidation summaries are stored as semantic memories. |
procedural | Decay rate 0.005. |
goal | Decay rate 0.01. |
preference | Decay rate 0.01. |
Slash commands
Type / in chat for this table in the app. In MemoryLess sessions the media commands are disabled.
| Command | What it does | Cost |
|---|---|---|
/ | Show the command help table | Free |
/imagine <prompt> | Generate an image (wan2.1-t2i-plus) | AI quota |
/gen_video <prompt> | Generate a video (wan2.1-t2v-turbo) | AI quota |
/gen_voice <prompt> | Voice overview of the session (Qwen summary + qwen3-tts-flash) | AI quota |
/memorize <fact> | Store a core memory manually | Free |
/create_task <title> | Create a pending task | Free |
/tasks_list | List pending tasks | Free |
/task_complete <ID> | Mark a task complete | Free |
/list_memory | List memories (all when Personal Intelligence is on, current chat only when off) | Free |
/forget_memory <ID|ALL> | Delete one memory by list ID, or the whole scoped set | Free |

Model switcher
Pick a chat model per session from the composer dropdown. The list comes from GET /api/models.
qwen-plusqwen-maxqwq-plusqwen-turbo
Per-user quotas
Quotas reset on upgrade. Going over a limit returns HTTP 429. Media uses DashScope default settings, with no per-user size or duration controls.
| Resource | Limit |
|---|---|
| Chat messages | 20 |
| Images | 5 |
| Videos | 5 |
| Voice generations | 5 |
MCP memory skills
External agents discover four tools at GET /mcp/memory-skills. Source: backend/app/mcp/memory_skill.py.
| Tool | Purpose |
|---|---|
get_core_memories | Retrieve important memories for a user (importance of 7 or more). |
get_user_preferences | Extract user preferences from memories. |
forget_memory | Soft-delete a memory, with a reason. |
strengthen_memory | Increase the importance of a memory (capped at 10). |
Dashboard views
Chat, Memories, Persona, Tasks, Media, Settings, Help, Feedback and About.
