MemoryMesh

Memória persistente de IA sem dependências usando SQLite. Armazenamento duplo, embeddings plugáveis, 10 ferramentas MCP.

Documentação

MemoryMesh - O SQLite da Memória de IA

PyPI version License: MIT Python Versions CI Smithery

Dê memória persistente a qualquer LLM em 3 linhas de Python. Zero dependências. Totalmente local.


O Problema

Ferramentas de IA começam cada sessão com amnésia. Suas preferências, decisões, erros passados -- tudo desaparece. Você se repete. A IA redescobre coisas que você já contou. Janelas de contexto são redefinidas, e semanas de conhecimento acumulado se perdem.

O MemoryMesh resolve isso. Instale uma vez, e sua IA lembra de tudo -- entre sessões, entre ferramentas, entre projetos.


Por que MemoryMesh?

SoluçãoAbordagemTrade-off
Mem0SaaS / serviço gerenciadoRequer conta na nuvem, dados saem da sua máquina, custos contínuos
Letta / MemGPTFramework completo de agentesForte acoplamento ao framework, configuração complexa, arquitetura opinativa
ZepServidor de memóriaRequer PostgreSQL, Docker, infraestrutura de servidor
MemoryMeshBiblioteca incorporávelZero dependências. Apenas SQLite. Funciona em qualquer lugar.

Assim como o SQLite revolucionou os bancos de dados embarcados, o MemoryMesh traz a mesma filosofia para a memória de IA: simples, confiável, incorporável. Sem infraestrutura. Sem acoplamento. Sem surpresas.


Início Rápido com MCP

Opção 1: Experimente instantaneamente (sem instalação)

Conecte-se ao servidor MemoryMesh hospedado -- sem necessidade de instalação local:

Via Smithery:

npx -y @smithery/cli install @sparkvibe-io/memorymesh --client claude

Ou navegue e conecte-se em smithery.ai/servers/sparkvibe-io/memorymesh. Suporta mais de 20 clientes MCP, incluindo Claude Code, Cursor, Windsurf e Cline.

Opção 2: Instale localmente (recomendado para produção)

Instale uma vez e adicione a configuração à ferramenta de sua escolha:

pip install memorymesh

Claude Code (~/.claude/settings.json):

{
  "mcpServers": {
    "memorymesh": {
      "command": "memorymesh-mcp"
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "memorymesh": {
      "command": "memorymesh-mcp"
    }
  }
}

Gemini CLI (~/.gemini/settings.json):

{
  "mcpServers": {
    "memorymesh": {
      "command": "memorymesh-mcp"
    }
  }
}

Sua IA agora tem memória persistente entre sessões. Preferências, decisões e padrões sobrevivem à redefinição da janela de contexto.


Início Rápido com Python

from memorymesh import MemoryMesh

memory = MemoryMesh()
memory.remember("User prefers Python and dark mode")
results = memory.recall("What does the user prefer?")

É isso. Três linhas para dar à sua aplicação de IA memória persistente e semântica.

# Works with any LLM -- inject recalled context into your prompts
context = memory.recall("What do I know about this user?")

# Claude
response = claude_client.messages.create(
    model="claude-sonnet-4-20250514",
    system=f"User context: {context}",
    messages=[{"role": "user", "content": "Help me design an API"}],
)

# GPT
response = openai_client.chat.completions.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": f"User context: {context}"},
        {"role": "user", "content": "Help me design an API"},
    ],
)

# Or Ollama, Gemini, Mistral, Llama, or literally anything else

Como Funciona

  1. Armazenar -- Após cada interação, remember() os fatos-chave, decisões e padrões (não a conversa completa).
  2. Recuperar -- No início da próxima sessão, recall() recupera apenas as memórias mais relevantes, classificadas por similaridade semântica, recência e importância.
  3. Persistir -- As memórias vivem no SQLite da sua máquina. Elas sobrevivem a reinicializações de sessão, trocas de ferramentas e redefinições de janela de contexto.

O valor real

  • Persistência entre sessões -- Decisões tomadas na segunda-feira ainda são conhecidas na sexta-feira.
  • Memória entre ferramentas -- O que você ensina ao Claude permanece disponível no Gemini, Codex e Cursor.
  • Recuperação estruturada -- Categorias, pontuação de importância, decaimento temporal e busca semântica em vez de repetição bruta do histórico.
  • Privacidade -- Tudo local. Sem nuvem, sem telemetria, nenhum dado sai da sua máquina.

Instalação

# Base installation (no external dependencies, uses built-in keyword matching)
pip install memorymesh

# With local embeddings (sentence-transformers, runs entirely on your machine)
pip install "memorymesh[local]"

# With Ollama embeddings (connect to a local Ollama instance)
pip install "memorymesh[ollama]"

# With OpenAI embeddings
pip install "memorymesh[openai]"

# Everything
pip install "memorymesh[all]"

Recursos

  • API Simples -- remember(), recall(), forget(). Essa é a interface principal. Sem código repetitivo, sem cerimônia de configuração.
  • Baseado em SQLite -- Toda a memória é armazenada em arquivos SQLite. Sem servidores de banco de dados, sem infraestrutura. Migrações automáticas de esquema.
  • Independente de Framework -- Funciona com qualquer LLM, qualquer framework, qualquer arquitetura. Use com LangChain, LlamaIndex, chamadas de API diretas ou sua própria configuração.
  • Embeddings Plugáveis -- Escolha entre modelos locais, Ollama, OpenAI ou correspondência simples de palavras-chave com zero dependências.
  • Suporte a MCP -- Servidor MCP integrado para integração perfeita com Claude Code, Cursor, Gemini CLI e outras ferramentas compatíveis com MCP.
  • Categorias de Memória -- Categorização automática com roteamento de escopo. Preferências vão para o global; decisões permanecem no projeto. O MemoryMesh decide onde as memórias pertencem.
  • Armazenamento Criptografado -- Opcionalmente, criptografe o texto da memória e os metadados em repouso com zero dependências externas.
  • Privacidade em Primeiro Lugar -- Todos os dados permanecem na sua máquina. Sem telemetria, sem chamadas na nuvem, sem coleta de dados. Você é dono dos seus dados.
  • Compactação Automática -- Deduplicação transparente que roda automaticamente durante o uso normal. Como o auto-vacuum do SQLite, você nunca precisa pensar nisso.
  • Multiplataforma -- Roda em Linux, macOS e Windows. Em qualquer lugar onde o Python roda, o MemoryMesh roda.

Novidades

v4.3 -- Performance (Mais recente)

  • Atualizações de Acesso em Lote -- recall() agrupa N atualizações de tempo de acesso em 1-2 chamadas SQL em vez de N.
  • Listagem Leve -- session_start e smart_sync pulam o carregamento de blobs de embeddings, reduzindo I/O.
  • Correção de Recência -- update_access() não define mais updated_at, corrigindo um ciclo de feedback de recência.

v4.1 -- Endurecimento

  • Verificação de Contradições -- Limite de candidatos de 10K→500 para detecção de contradições (maior ganho de performance).
  • Segurança -- CORS de mesma origem, limite de corpo de 1MB, expansão da lista de bloqueio SSRF, MCP assert→if/raise.
  • Correção -- Migração atômica de escopo (salvar-primeiro-depois-excluir), validação de on_conflict.
  • Infraestrutura -- PRAGMA busy_timeout=5000, PEP 561 py.typed, padrões expandidos de regex para segredos.

v4.0 -- Memória Invisível

  • Sincronização Inteligente -- Exporte as N memórias mais relevantes para arquivos .md, classificadas por importância e recência.
  • Pesos de Relevância Configuráveis -- Ajuste os pesos de recência, importância e similaridade via variáveis de ambiente ou parâmetros de construtor.
  • Completude do EncryptedStore -- EncryptedMemoryStore agora suporta search_filtered e update_fields, correspondendo à interface completa de MemoryStore.
  • Endurecimento de Segurança -- Correção de injeção SQL em search_filtered (allowlist estrita para chaves de metadados) e permissões explícitas de arquivo nos arquivos de banco de dados.

Roadmap

v4.3.0 é a versão mais recente. Disponível no PyPI.

v5.0 -- Performance e Escala é a próxima. Indexação ANN sqlite-vec, busca por palavras-chave FTS5, operações em lote e similaridade de cosseno acelerada por NumPy para armazenamentos de 5K+ memórias.

Veja o roadmap completo para detalhes, contexto estratégico e marcos concluídos.


Documentação

Documentação completa: sparkvibe-io.github.io/memorymesh

GuiaDescrição
ConfiguraçãoProvedores de embeddings, configuração do Ollama, todas as opções do construtor
Servidor MCPConfiguração para Claude Code, Cursor, Windsurf + ensinar sua IA a usar memória
Sincronização Multi-FerramentaSincronize memórias entre Claude, Codex e Gemini CLI
Referência CLIComandos de terminal para inspecionar e gerenciar memórias
Referência da APIAPI Python completa com todos os métodos e parâmetros
ArquiteturaDesign do sistema, padrão de armazenamento duplo e migrações de esquema
FAQPerguntas frequentes respondidas
BenchmarksNúmeros de performance e como executar benchmarks

Disponível Em

PlataformaLink
PyPIpypi.org/project/memorymesh
Smitherysmithery.ai/servers/sparkvibe-io/memorymesh
GitHubgithub.com/sparkvibe-io/memorymesh

Contribuindo

Aceitamos contribuições de todos. Veja CONTRIBUTING.md para diretrizes sobre como começar.


Licença

Licença MIT. Veja LICENSE para o texto completo.


Gratuito. Para Sempre. Para Todos.

O MemoryMesh faz parte da iniciativa de IA open-source SparkVibe. Acreditamos que ferramentas fundamentais de IA devem ser gratuitas, abertas e acessíveis a todos -- não trancadas atrás de paywalls, assinaturas de nuvem ou plataformas proprietárias.

Nossa missão é reduzir o custo e a complexidade de construir aplicações de IA, para que desenvolvedores em todo lugar -- seja em uma startup, um laboratório de pesquisa, uma organização sem fins lucrativos ou aprendendo por conta própria -- possam construir sistemas inteligentes sem barreiras.

Se a IA vai moldar o futuro, as ferramentas que a alimentam devem pertencer a todos nós.