Sobre el proyecto
abmind es un sistema de memoria persistente diseñado para agentes de IA que se ejecutan de forma continua, en particular los que manejan conversaciones multilingües. No es un envoltorio de base de datos vectorial, sino un motor completo de gestión de memoria construido sobre SQLite.
**Arquitectura central**
- **Ingesta**: Los mensajes se registran y luego la extracción en línea crea memorias tipadas, clasificadas y puntuadas.
- **Recuerdo**: Las consultas activan una búsqueda de 4 capas: texto completo FTS5 (inglés), texto completo FTS5 (idioma original), coincidencia difusa por trigramas y embeddings semánticos (similitud coseno). Los resultados se clasifican, se deduplican y se filtran por clasificación.
- **Sueño**: Un proceso de mantenimiento nocturno realiza resúmenes diarios, extracción, análisis retrospectivo, asignación de temas, darwinismo de memoria (promover/degradar/fusionar), traducción, seguimiento de arcos emocionales, consolidación y recolección de basura. Ejecuta de 10 a 14 llamadas al LLM por ciclo de forma autónoma.
**Características clave**
- **Compatibilidad con lenguajes aglutinantes**: Usa búsqueda difusa por trigramas junto con FTS5 para manejar idiomas como japonés, turco y húngaro, donde los límites de palabras no son claros. Esto permite almacenar y recordar en cualquier idioma.
- **Caja fuerte de credenciales**: Los secretos se cifran en reposo (AES-256-GCM), se redactan del historial de conversación y solo el propietario puede recuperarlos mediante un recuerdo filtrado por clasificación. Las copias de seguridad nunca contienen credenciales sin cifrar.
- **Contexto multirresolución**: Ofrece tres niveles de zoom: turnos recientes textuales, átomos comprimidos por turno (formato ABM-L con reducción de tokens de 3x) y resúmenes temáticos a largo plazo, lo que brinda 3x más cobertura dentro del mismo presupuesto de tokens.
- **Clasificación**: Usa códigos de almirantazgo de la OTAN (0 público a 3 secreto/cifrado) con puntuaciones de confianza, integridad y credibilidad. El recuerdo se filtra por autorización del usuario, y el aislamiento multiusuario evita fugas entre usuarios.
- **Detección de inyección**: 14 categorías de detección (inyección de prompt, jailbreak, secuestro de rol, etc.) bloquean la entrada maliciosa antes de que entre en la memoria, con sensibilidad configurable.
**Rutas de integración**
- **Biblioteca**: Importa `MemoryManager` en cualquier agente de Node.js.
- **CLI**: Comandos como `abmind store`, `abmind recall`, `abmind sleep` y `abmind mcp`.
- **Servidor MCP**: Inicia un servidor MCP por stdio para editores y hosts como kiro-cli, Claude Code, Codex CLI, Gemini CLI, Cursor y OpenCode.
- **Hooks de agente**: Compatible con Kiro CLI, Claude Code, Gemini CLI y Codex.
- **Frameworks**: Funciona como plugin para Hermes Agent, ranura de memoria nativa para OpenClaw y memoria en proceso para abTARS.
**Almacenamiento de datos**
La ubicación predeterminada es `~/.abmind/` (se puede sobrescribir con `ABMIND_HOME`). Contiene una base de datos SQLite (`memory.db`) para mensajes, memorias extraídas y embeddings, además de resúmenes narrativos diarios y registros de auditoría de sueño. Los prompts de sueño se pueden sobrescribir.
**Configuración del LLM**
El mantenimiento del sueño requiere configurar `ABMIND_LLM_CMD` con un marcador de posición `{PROMPT_FILE}`, y admite comandos como `kiro-cli chat --no-tool-use < {PROMPT_FILE}` o `cat {PROMPT_FILE} | claude -p`.
**Versión**: 0.2.7 | **Licencia**: Apache 2.0
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.