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