Sobre o projeto
abmind é um sistema de memória persistente projetado para agentes de IA que operam continuamente, particularmente aqueles que lidam com conversas multilíngues. Não é um wrapper de banco de dados vetorial, mas um motor completo de gerenciamento de memória construído sobre SQLite.
**Arquitetura Central**
- **Ingest**: As mensagens são registradas, então a extração inline cria memórias tipadas, classificadas e pontuadas.
- **Recall**: As consultas acionam uma busca em 4 camadas: FTS5 full-text (inglês), FTS5 full-text (idioma original), correspondência difusa por trigramas e embeddings semânticos (similaridade de cosseno). Os resultados são classificados, deduplicados e filtrados por classificação.
- **Sleep**: Um pipeline de manutenção noturno realiza resumos diários, extração, análise retrospectiva, atribuição de tópicos, darwinismo de memória (promover/rebaixar/mesclar), tradução, rastreamento de arco emocional, consolidação e coleta de lixo. Ele executa de 10 a 14 chamadas de LLM por ciclo de forma autônoma.
**Principais Recursos**
- **Suporte a Idiomas Aglutinantes**: Usa busca difusa por trigramas junto com FTS5 para lidar com idiomas como japonês, turco e húngaro, onde os limites das palavras não são claros. Isso permite armazenar e recuperar em qualquer idioma.
- **Cofre de Credenciais**: Os segredos são criptografados em repouso (AES-256-GCM), redigidos do histórico de conversas e só podem ser recuperados pelo proprietário por meio de recall filtrado por classificação. Os backups nunca contêm credenciais brutas.
- **Contexto Multi-Resolução**: Fornece três níveis de zoom — turnos recentes verbatim, átomos comprimidos por turno (formato ABM-L com redução de 3x em tokens) e resumos temáticos de longo prazo — oferecendo 3x mais cobertura dentro do mesmo orçamento de tokens.
- **Classificação**: Usa Códigos de Almirantado da NATO (0 público a 3 secreto/criptografado) com pontuações de confiança, integridade e credibilidade. O recall filtra pela autorização do usuário, e o isolamento multiusuário evita vazamento entre usuários.
- **Detecção de Injeção**: 14 categorias de detecção (injeção de prompt, jailbreak, sequestro de papel, etc.) bloqueiam entrada maliciosa antes que ela entre na memória, com sensibilidade configurável.
**Caminhos de Integração**
- **Biblioteca**: Importe `MemoryManager` em qualquer agente Node.js.
- **CLI**: Comandos como `abmind store`, `abmind recall`, `abmind sleep` e `abmind mcp`.
- **Servidor MCP**: Inicia um servidor MCP stdio para editores e hosts como kiro-cli, Claude Code, Codex CLI, Gemini CLI, Cursor e OpenCode.
- **Hooks de Agente**: Compatível com Kiro CLI, Claude Code, Gemini CLI e Codex.
- **Frameworks**: Funciona como plugin para Hermes Agent, slot de memória nativo para OpenClaw e memória em processo para abTARS.
**Armazenamento de Dados**
O local padrão é `~/.abmind/` (substituível com `ABMIND_HOME`). Contém um banco de dados SQLite (`memory.db`) para mensagens, memórias extraídas e embeddings, além de resumos narrativos diários e logs de auditoria do sleep. Os prompts de sleep podem ser substituídos.
**Configuração de LLM**
A manutenção do sleep requer definir `ABMIND_LLM_CMD` com um placeholder `{PROMPT_FILE}`, suportando comandos como `kiro-cli chat --no-tool-use < {PROMPT_FILE}` ou `cat {PROMPT_FILE} | claude -p`.
**Versão**: 0.2.7 | **Licença**: Apache 2.0
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.