Features
Comprehensive guide to AutoMem's capabilities
Memory Types
AutoMem categorizes memories into semantic types for better organization and intelligent retrieval. Each type serves a specific purpose in building your AI's knowledge base.
Architectural choices, technology selections, and strategic decisions
Example: "Chose PostgreSQL over MongoDB for ACID compliance"
Recurring solutions, code patterns, and established practices
Example: "Always use factory pattern for object creation in services/"
Lessons learned, debugging discoveries, and important realizations
Example: "React re-renders trigger when parent state changes, even with memo"
User or team preferences for tools, styles, and approaches
Example: "Prefers Tailwind CSS over styled-components"
Coding style, formatting preferences, and conventions
Example: "Uses 2-space indentation, semicolons required"
Regular workflows, routines, and behavioral patterns
Example: "Always runs tests before committing code"
Project background, team information, and situational details
Example: "Working on e-commerce platform for 50k+ daily users"
Knowledge Graphs
AutoMem creates rich relationships between memories using graph database technology. These connections enable intelligent traversal and context-aware recall.
11 Relationship Types
RELATES_TO
General connection between related memories
LEADS_TO
Sequential causation or progression
EVOLVED_INTO
Updated decision or changed approach
DERIVED_FROM
Based on or inspired by
EXEMPLIFIES
Concrete example of a pattern
CONTRADICTS
Conflicts with another memory
REINFORCES
Strengthens or supports
INVALIDATED_BY
Made obsolete by new information
OCCURRED_BEFORE
Temporal ordering of events
PART_OF
Hierarchical membership
PREFERS_OVER
Preference ranking between options
# Example: Associate two memories
POST /associate
{
"memory1_id": "decision-postgres",
"memory2_id": "insight-acid-needed",
"type": "DERIVED_FROM",
"strength": 0.9
}
Hybrid Search
AutoMem combines multiple search strategies to find the most relevant memories:
🔍 Semantic Search
Vector embeddings via OpenAI enable meaning-based search. Finds memories conceptually related to your query, not just keyword matches.
GET /recall?query="how to handle errors"
→ Returns memories about error handling, try/catch, exceptions, etc.
🏷️ Tag Filtering
Filter by tags with "any" or "all" matching modes. Narrow down results to specific topics or projects.
GET /recall?tags=typescript,backend&tag_mode=all
→ Only memories with BOTH tags
📅 Time Queries
Natural language time filters: "today", "last week", "last 30 days"
GET /recall?time_query="last 7 days"
→ Recent memories only
Automatic Memory Management
AutoMem mimics human memory with automatic importance decay and consolidation. Runs in the background without user intervention.
⏰ Importance Decay (Hourly)
Memories naturally lose importance over time unless accessed or reinforced. Mimics forgetting in biological memory.
Configurable via CONSOLIDATION_DECAY_INTERVAL_SECONDS
🎨 Creative Clustering (6 hours)
Groups semantically related memories together. Creates implicit connections without explicit association.
Configurable via CONSOLIDATION_CREATIVE_INTERVAL_SECONDS
🗑️ Forgetting (Daily)
Removes very low-importance memories to prevent clutter. Keeps your knowledge base focused and relevant.
Configurable via CONSOLIDATION_FORGET_INTERVAL_SECONDS
📊 Status Check
Monitor consolidation scheduler via API endpoint
GET /consolidate/status
Performance Metrics
20-50ms
Single memory queries
<200ms
Complex graph traversals
Unlimited
Memory storage capacity
Note: Performance metrics measured on Railway deployment with standard tier resources. Local Docker deployments may vary based on hardware.