Skip to content

Configuration

All configuration is via environment variables. Set them in ~/.abmind/config/.env.memory or export them before running abmind commands.

Paths

VariableDefaultDescription
ABMIND_HOME~/.abmindRoot directory for all abmind data
MEMORY_DIR$ABMIND_HOME/memoryDirectory containing memory.db and consolidation files
ABMIND_KEY_FILE$ABMIND_HOME/secret/abmind.keyEncryption key for class-3 secrets

Memory

VariableDefaultDescription
MEMORY_SEARCH_MODEhybridSearch mode: hybrid, fts, signature
MEMORY_MAX_DB_SIZE_MB4096DB size threshold — triggers aging acceleration warning
MEMORY_ORIGINAL_TTL_DAYS90Days before original-language content expires
MEMORY_ENGLISH_TTL_DAYS14Days before English translation expires (if original preserved)
MEMORY_AGING_ENABLEDtrueEnable/disable automatic memory aging
MEMORY_IPC1Enable IPC notifications between processes (set 0 to disable)
MEMORY_BACKENDsqliteStorage backend (only sqlite currently supported)

Embeddings

VariableDefaultDescription
EMBEDDING_ENABLEDfalseEnable vector embeddings (requires Ollama or OpenAI)
EMBEDDING_PROVIDERollamaProvider: ollama or openai
EMBEDDING_MODELnomic-embed-textModel name for embedding generation
EMBEDDING_URLhttp://localhost:11434Ollama API endpoint
EMBEDDING_API_KEY(empty)API key (required for openai provider)
EMBEDDING_DIMENSIONS768Vector dimensions (must match model output)
EMBEDDING_SIMILARITY_THRESHOLD0.5Minimum cosine similarity for Se stage results (0.0–1.0)

Recall tuning

VariableDefaultDescription
RECALL_DECAY_DAYS365Days until recency factor reaches floor
RECALL_DECAY_FLOOR0.3Minimum recency multiplier (0.0–1.0)
RECALL_EMOTION_BOOST0.1Emotion score multiplier for recency boost
SIGNATURE_BITS256Bit width for locality-sensitive hash signatures
RECALL_CONTEXT_HOUR_BOOST0.02Score boost for same time-of-day bucket
RECALL_CONTEXT_DOW_BOOST0.015Score boost for same day-of-week
RECALL_CONTEXT_TOPIC_BOOST0.03Score boost for matching conversation topic

ABM-L compression

VariableDefaultDescription
ABML_VERSIONplainCompression version: plain, v0, v1, v2
ABML_MIN_CHARS100Minimum content length to apply compression

Context tiers (#348)

VariableDefaultDescription
CONTEXT_TIER_ENABLEDtrueEnable three-tier context assembly
CONTEXT_TIER_TAIL20Number of recent messages in tail tier
CONTEXT_TIER_MIDDLE50Number of messages in middle tier
COMPACTION_LLM_ENABLEDfalseUse LLM for context compaction (expensive)

Sleep cycle

VariableDefaultDescription
SLEEP_QUALITY(unset)Sleep depth: basic, budget, normal, ultimate
SLEEP_TIMEOUT_MIN55Wall-clock timeout in minutes
SLEEP_MAX_LLM_CALLS18Maximum LLM calls per sleep cycle (hard cap: 50)
SLEEP_CURATION_DAYsundayDay of week for weekly curation tasks
SLEEP_MODEL_NAMEunknownModel identifier for audit logging
AGENT_SLEEP_CTX_WINDOW128000Context window size for sleep LLM calls

Security

VariableDefaultDescription
ABTARS_PASS(unset)Passphrase for secret encryption/decryption
ABMIND_USER(unset)Current user identity for multi-user isolation

File locations

~/.abmind/
├── config/
│   ├── .env.memory          ← env vars go here
│   └── users.json           ← multi-user config
├── memory/
│   ├── memory.db            ← SQLite database
│   ├── consolidation/
│   │   ├── daily/
│   │   ├── weekly/
│   │   └── quarterly/
│   ├── working/             ← daily transcript scratch
│   ├── sleep/               ← sleep audit logs
│   ├── core/                ← core identity templates
│   └── todo.md              ← persistent todo list
├── secret/
│   └── abmind.key           ← encryption key (chmod 600)
├── backups/                  ← encrypted backups
└── topics/                   ← topic knowledge files

Overriding for development

For testing or development, override paths:

bash
export ABMIND_HOME=/tmp/abmind-test
export MEMORY_DIR=/tmp/abmind-test/memory
abmind install    # creates structure in /tmp

All env vars are parsed once at startup via getAbmindEnv(). Changes require process restart.