memo
Memória de longo prazo local-first para agentes de codificação — embeddings em processo (MLX/CPU), busca híbrida vetorial+BM25, markdown como fonte da verdade. Sem nuvem, sem chaves.
Documentação
memo
Seu agente de codificação começa toda sessão com amnésia. O memo resolve isso — 100% na sua própria máquina.
Memória persistente e pesquisável para Claude Code, Codex, Cursor, Cline, Devin e OpenCode. Sem nuvem, sem chaves de API, sem Ollama, sem banco de vetores para rodar. E gasta menos tokens, não mais.

Instalação
curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.11.3/install.sh | bash
Prefere um gerenciador de pacotes? uv tool install mlx-memo · pipx install mlx-memo · brew tap jagoff/memo && brew install mlx-memo
Em seguida:
memo doctor # self-check
memo save 'we use Postgres, not Mongo' # save a decision
memo search 'what database did we pick?' # search by meaning
É isso. Seus agentes o detectam automaticamente via MCP — o instalador conecta todos os clientes que encontrar.
Instalando em outro Mac ou delegando a configuração a um agente?
Mac novo:
curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.11.3/install.sh | bash
memo sync bootstrap git@github.com:yourname/memo-sync.git
Configuração gerenciada por agente:
curl -fsSL https://raw.githubusercontent.com/jagoff/memo/v4.11.3/install.sh | bash
memo doctor --strict-runtime
No Linux ou só quer dar uma olhada antes?
docker run --rm ghcr.io/jagoff/memo:latest memo doctor
Por que isso economiza seu dinheiro
A maioria dos servidores de memória adiciona contexto. O memo foi feito para removê-lo.
| Profile | Tools | Schema tokens |
|---|---|---|
agent (default) | 41 | ~9.4k |
core / slim | 58 | ~12.9k |
full / default | 164 | ~30.4k |
A superfície MCP padrão é de 41 ferramentas, não 164 — 75% menos ferramentas e cerca de 69% menos contexto de schema: 41 ferramentas / ~9.4k tokens de schema versus 164 ferramentas / ~30.4k tokens na superfície completa — custo pago em toda sessão, em todos os clientes.
A recordação ambiente injeta uma memória relevante antes de o modelo responder. O hook do Claude Code incluído limita essa injeção a ~160 tokens. memo roi lê os registros reais de fundamentação e de novas perguntas e estima a economia acumulada com padrões divulgados (350 tokens por recordação fundamentada e 900 por nova pergunta evitada).
memo roi # value from grounded recalls and avoided re-asks
memo tokens # usage-savings ledger
Três coisas que nenhum outro faz
🕰️ Máquina do tempo — consulte seu conhecimento como ele era
memo as-of ask "what was the deploy strategy?" --date 2026-02-01
memo diff --from 2026-01-01 --to 2026-03-01
Reconstrução histórica completa por reprodução reversa de history.db. Útil quando você precisa saber por que o você do passado tomou uma decisão, não apenas o que o você do passado decidiu.
⚡ Radar de contradições — memória que percebe quando você muda de ideia
memo contradict scan # find conflicting facts corpus-wide
memo contradict triage # resolve: fuse / newer-wins / dismiss
Mude uma decisão e o memo sinaliza a versão agora obsoleta, para que o agente pare de reintroduzir o que você já descartou.
🔮 Dream — ele se otimiza enquanto você dorme
memo dream run
Um pipeline noturno de 7 fases: inventário → mineração de sinais → resolução de conflitos → poda de dados obsoletos → síntese de insights entre clusters → otimização → pré-aquecimento dos 100 principais embeddings de consulta para que a recordação de amanhã permaneça abaixo de 200 ms. Cada execução gera um recibo que você pode auditar. Zero intervenção.
Como funciona
Recuperação híbrida. Uma perna vetorial (MLX em Apple Silicon, sentence-transformers em CPU) e uma perna BM25 (FTS5, com dobramento de diacríticos para espanhol) rodam em paralelo, fundem-se via Reciprocal Rank Fusion e passam por um re-ranking opcional com cross-encoder MLX.
Markdown é a fonte da verdade. Cada memória é um arquivo .md simples que você pode ler, buscar com grep e versionar. SQLite é um índice derivado que se reconstrói a partir dos arquivos a qualquer momento — edite manualmente no Obsidian e sua edição prevalece no próximo memo reindex. Nada fica preso em um banco de dados que você não consegue abrir.
Prompts e memórias permanecem na sua máquina. Embedder, re-ranker e LLM rodam todos em processo. Sem telemetria. A memória só viaja se você apontar memo sync para um repositório git remoto que você possui. A inicialização normal é totalmente offline; verificações de atualização remota e atualização automática exigem aceite explícito. → Política de privacidade e rede
Também incluso: memo resume entre agentes (reabra qualquer sessão de qualquer agente), sincronização git entre Macs, um grafo de conhecimento com arestas opcionais de símbolos do codegraph, armazenamento criptografado de segredos, ingestão de OCR/áudio, pacotes de evidência, aprendizado de resultados, federação assinada e uma interface de chat local sobre sua memória (memo chat serve). → Referência completa de recursos
Como se compara
Verificado em julho de 2026 com base na documentação de cada projeto. Correções são bem-vindas — abra uma issue e eu corrigirei a tabela.
| memo | mem0 | letta | cognee | basic-memory | cipher | |
|---|---|---|---|---|---|---|
| 100% local, sem API em nuvem | ✅ | ⚠️ | ⚠️ | ⚠️ | ✅ | ⚠️ |
| Máquina do tempo (voltar a qualquer data) | ✅ | ❌ | ⚠️ | ❌ | ⚠️ | ⚠️ |
| Detecção e resolução de contradições | ✅ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ |
| Manutenção noturna autônoma | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Perfis MCP econômicos em tokens | ✅ | ❌ | ❌ | ⚠️ | ✅ | ❌ |
| Markdown / Obsidian como fonte da verdade | ✅ | ❌ | ⚠️ | ❌ | ✅ | ❌ |
✅ primeira classe · ⚠️ parcial, limitado por configuração ou complemento · ❌ ausente
Os comparadores mais próximos são basic-memory (local-first + Obsidian + MCP — mesma tese) e cipher (memória para agentes de codificação).
Requisitos
| Suporte | |
|---|---|
| macOS, Apple Silicon (M1–M4) | Completo — embedder MLX + re-ranker + ask/synthesize/dream |
| Linux / Ubuntu | Backend de CPU autônomo — busca, recordação, salvamento. pipx install "mlx-memo[cpu]" · docs/ubuntu.md |
| Intel Mac | Sem suporte — as versões atuais do PyTorch não fornecem wheels de Python 3.13 para esta plataforma |
| Docker | Multiplataforma, backend de CPU · docs/docker.md |
Python ≥ 3.13 (o instalador cuida disso via uv se você não tiver). A primeira instalação baixa ~8 GB de modelos, 5–15 min. Opcional: um vault do Obsidian — sem um, o memo usa ~/Documents/memo/.
Documentação
| Detalhes de instalação, opções do instalador, migração de Mac novo | reference.md › Install |
| Configuração MCP por cliente (Claude Desktop, Cursor, Cline, Continue) | reference.md › MCP setup |
| Recordação ambiente, captura e ajustes | reference.md › Ambient memory |
Referência completa da CLI (144 comandos) + memo tui | reference.md › CLI |
Todas as flags de MEMO_* e perfis de modelo | reference.md › Configuration |
| Notas de arquitetura e design | reference.md › Design |
| Política de privacidade e rede | PRIVACY.md |
Todos os 144 comandos CLI de nível superior
Inventário completo de comandos (mantido aqui para que a CI detecte divergências entre CLI e documentação)
Núcleo: save search ask get edit rename delete list
Recordação e Hooks: recall recall-hook context briefing continuity prewarm capture-tick capture-stop interject ask-gaps guard digest
Sessão e Histórico: history as-of diff record-history session chat-session resume reflect mine-history episodes chronicle
Manutenção: reindex maintain review dream consolidate synthesize dedupe cross-dedup retier contradict coordinate terminal invalidate temporal compress-context ops
Análise e Qualidade: health stats doctor journey-check lint drift analytics eval roi tokens token-savings usefulness gaps outcome profile confidence graduation hype definitive evidence
Grafo de Conhecimento: graph entities entity extract-entities links version related
Busca Avançada: embed rerank contextual retrieve context-pack chat chat-ask repo
Importação / Exportação / Sincronização: import export backup restore sync ingest federation
Visualização: tui dashboard map logs hook-log
Configuração e Ajustes: init setup config install-mcp install-watcher uninstall-watcher install-slash install-statusline install-recall-hook install-shell-wrapper install-shims startup-banner migrate migrate-vault migrate-independence update upgrade self-update watch release onboard
Daemons: daemons recall-daemon ingest-daemon maint-daemon embed-daemon idle-daemon
Outros: backend-native collaborative events feedback query mandate drift sleep-cycle operational ocr-image provenance secret verbatim mcp-command codex-badge debug-recall http-api mine-git token-gate fix undo code-facts code-nudge code-health
Contribuindo
git clone https://github.com/jagoff/memo && cd memo
uv pip install -e '.[dev]'
Issues e PRs são bem-vindos — veja CONTRIBUTING.md. Se o memo for útil para você, uma ⭐ realmente ajuda outras pessoas a encontrá-lo.
Licenciado sob MIT. Construído com Apple MLX, sqlite-vec e codegraph.
