About this project
abmind is a persistent memory system designed for AI agents that run continuously, particularly those handling multilingual conversations. It is not a vector database wrapper but a complete memory management engine built on SQLite.
**Core Architecture**
- **Ingest**: Messages are recorded, then inline extraction creates typed, classified, and scored memories.
- **Recall**: Queries trigger a 4-layer search: FTS5 full-text (English), FTS5 full-text (original language), trigram fuzzy matching, and semantic embeddings (cosine similarity). Results are ranked, deduplicated, and gated by classification.
- **Sleep**: A nightly maintenance pipeline performs daily summaries, extraction, retrospective analysis, topic assignment, memory Darwinism (promote/demote/merge), translation, emotion arc tracking, consolidation, and garbage collection. It runs 10-14 LLM calls per cycle autonomously.
**Key Features**
- **Agglutinating Language Support**: Uses trigram fuzzy search alongside FTS5 to handle languages like Japanese, Turkish, and Hungarian where word boundaries are not clear. This enables storing and recalling in any language.
- **Credential Vault**: Secrets are encrypted at rest (AES-256-GCM), redacted from conversation history, and only retrievable by the owner via classification-gated recall. Backups never contain raw credentials.
- **Multi-Resolution Context**: Provides three zoom levels—recent verbatim turns, compressed per-turn atoms (ABM-L format with 3x token reduction), and long-term thematic summaries—giving 3x more coverage within the same token budget.
- **Classification**: Uses NATO Admiralty Codes (0 public to 3 secret/encrypted) with trust, integrity, and credibility scores. Recall filters by user clearance, and multi-user isolation prevents cross-user leakage.
- **Injection Detection**: 14 detection categories (prompt injection, jailbreak, role hijack, etc.) block malicious input before it enters memory, with configurable sensitivity.
**Integration Paths**
- **Library**: Import `MemoryManager` in any Node.js agent.
- **CLI**: Commands like `abmind store`, `abmind recall`, `abmind sleep`, and `abmind mcp`.
- **MCP Server**: Starts a stdio MCP server for editors and hosts like kiro-cli, Claude Code, Codex CLI, Gemini CLI, Cursor, and OpenCode.
- **Agent Hooks**: Compatible with Kiro CLI, Claude Code, Gemini CLI, and Codex.
- **Frameworks**: Works as a plugin for Hermes Agent, native memory slot for OpenClaw, and in-process memory for abTARS.
**Data Storage**
Default location is `~/.abmind/` (override with `ABMIND_HOME`). It contains a SQLite database (`memory.db`) for messages, extracted memories, and embeddings, plus daily narrative summaries and sleep audit logs. Sleep prompts can be overridden.
**LLM Configuration**
Sleep maintenance requires setting `ABMIND_LLM_CMD` with a `{PROMPT_FILE}` placeholder, supporting commands like `kiro-cli chat --no-tool-use < {PROMPT_FILE}` or `cat {PROMPT_FILE} | claude -p`.
**Version**: 0.2.7 | **License**: Apache 2.0
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.