Overview
(Memory Unit) is ArgentOS’s built-in persistent memory system. It supports two backends:- PostgreSQL 17 + pgvector (recommended) — concurrent access, shared knowledge, HNSW vector indexes, tsvector full-text search with GIN indexes
- SQLite (fallback) — single-process, local-only, FTS5 full-text search, stored at
~/.argentos/memory.db
Database Schema
The core memory table contains:Full-Text Search
MemU uses different full-text search engines depending on the backend: PostgreSQL (default):tsvector with GIN indexes — supports ranked search, stemming, language-aware tokenization, and phrase matching.
SQLite (fallback): FTS5 extension — boolean queries, phrase matching, prefix matching.
Both backends support:
- Boolean queries:
preference AND open-source - Phrase matching:
"infrastructure specs" - Prefix matching:
config* - OR queries:
telegram OR discord
Search Tips
Significance Scoring
Every memory has a significance score from 1-10:Higher significance memories are prioritized in search results and bootstrap injection.
Auto-Capture
The agent is trained to automatically store important information without being explicitly asked. When it detects a new fact, preference, event, or relationship in conversation, it callsmemory_store proactively.
Embeddings
MemU supports vector embeddings for semantic similarity search. Embeddings are generated when memories are stored and used alongside full-text search for hybrid ranking. PostgreSQL: pgvector with HNSW indexes for fast approximate nearest neighbor search. SQLite: sqlite-vec extension for local vector search.Storage
PostgreSQL (default):getMemuStore() in src/memory/memu-store.ts.