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)

System One judgments (#1812) ​

VariableDefaultDescription
SYSTEM1layaJudgment backend: laya (local sidecar, silent fallback), jev (SaaS, explicit egress opt-in), or off
SYSTEM1_RECALLonoff disables the recall rerank; default on since #1813, explicit off stays authoritative
SYSTEM1_FASTPATHoffon enables fast-path decisions with passing profiles only (repeat/attribution; lookup bypass has none) — never SaaS permission
SYSTEM1_JEV_EGRESS``Comma-separated per-operation Jev egress grants (rerank,lookup,repeat,attribution); empty means no SaaS payloads
SYSTEM1_TIMEOUT_MS1500Per-request timeout in ms (100–10000)
SYSTEM1_MAX_CANDIDATES20Max recall candidates judged per batch (2–20)
JEV_URLhttps://api.typesafe.aiJev base URL (must stay bare https)
JEV_API_KEY(empty)Jev API key — required for SYSTEM1=jev, never logged
JEV_MODELjev-1.13.0Pinned Jev model (never a latest alias)
LAYA_URLhttp://127.0.0.1:8765Local Laya sidecar endpoint (must stay bare loopback)

See System One judgments for setup, the sidecar, and privacy semantics.

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.