← Back to Documentation

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.

Decision

Architectural choices, technology selections, and strategic decisions

Example: "Chose PostgreSQL over MongoDB for ACID compliance"

Pattern

Recurring solutions, code patterns, and established practices

Example: "Always use factory pattern for object creation in services/"

Insight

Lessons learned, debugging discoveries, and important realizations

Example: "React re-renders trigger when parent state changes, even with memo"

Preference

User or team preferences for tools, styles, and approaches

Example: "Prefers Tailwind CSS over styled-components"

Style

Coding style, formatting preferences, and conventions

Example: "Uses 2-space indentation, semicolons required"

Habit

Regular workflows, routines, and behavioral patterns

Example: "Always runs tests before committing code"

Context

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.