Basic Memory

Construa uma base de conhecimento local e persistente em arquivos Markdown por meio de conversas com LLMs.

Documentação

MCP Toplist

License: AGPL v3 PyPI version Python 3.12+ Tests Ruff Ask DeepWiki

Pule a instalação — experimente o Basic Memory na nuvem

Claude, Codex ou Cursor conectados em 30 segundos. Sem Python, sem JSON, sem terminal. US$ 15,00/mês garantido para sempre (US$ 12,50/mês no plano anual). Teste grátis de 7 dias — cancele a qualquer momento antes do dia 7 se não for para você. Preço beta — cadastre-se agora e sua tarifa nunca aumenta. Usuários de OSS: use o código BMFOSS para ganhar mais 20% de desconto por 3 meses.

Iniciar teste grátis →

Basic Memory Teams já está disponível!

Dê à sua equipe um espaço de trabalho em nuvem único e compartilhado. O conhecimento não fica confinado a uma pessoa — qualquer coisa que um colega escreve fica imediatamente disponível para todos os outros e para seus assistentes de IA. Edite uma nota juntos em tempo real, passe o trabalho entre humanos e agentes e construa uma base de conhecimento conectada em vez de cópias espalhadas. Mesmo preço — comece com um usuário e adicione mais conforme necessário.


Basic Memory

Sua IA nunca mais esquece.

Continue exatamente de onde parou — no Claude, Codex, Cursor, ChatGPT ou qualquer coisa que fale MCP. Seu conhecimento vive como arquivos Markdown que tanto você quanto sua IA podem ler, escrever e pesquisar.

  • Local-first. Texto simples no seu disco. Para sempre.
  • Bidirecional. IA e humanos escrevem nos mesmos arquivos; a sincronização os mantém alinhados.
  • Um grafo de conhecimento real. Observações e wikilinks se combinam em contexto.
  • Busca semântica. Encontre notas pelo significado, não apenas por palavras-chave, com reordenação opcional por cross-encoder para resultados vetoriais e híbridos de maior qualidade.
  • Nativo para MCP. Funciona com todos os principais clientes de IA e IDEs.
  • Descoberta progressiva de ferramentas. Cada ferramenta é marcada com dicas de comportamento (somente leitura, destrutiva, idempotente) para que os agentes escolham a ferramenta certa sob demanda — sem desperdiçar contexto tentando descobrir o que elas fazem.
  • Nuvem, opcional. Sincronize entre dispositivos quando quiser — nunca obrigatório.

Comece agora

Escolha o caminho que combina com você. Ambos executam o mesmo produto nos mesmos Markdown.

☁️   Nuvem💻   Instalação local

30 segundos. Cadastre-se, conecte seu cliente de IA, pronto.

  • Funciona em qualquer navegador
  • Mobile, web, desktop
  • Sincronização entre dispositivos integrada
  • Nós cuidamos de hospedagem, backups e snapshots

US$ 15,00/mês garantido para sempre · teste grátis de 7 dias · cancele quando quiser

Iniciar teste grátis →

2 minutos. Instale, configure seu cliente de IA, execute.

  • Grátis para sempre (AGPL-3.0)
  • Todos os dados no seu disco
  • Compatível com ambientes isolados
  • Requer Python via uv
uv tool install basic-memory --prerelease=allow

--prerelease=allow é obrigatório: o Basic Memory 0.23 depende de um pré-lançamento do FastMCP 4, e o uv só aceita pré-lançamentos de dependências transitivas quando instruído — sem a flag, ele instala silenciosamente uma versão mais antiga. A mesma flag se aplica a todos os comandos uvx / uv tool upgrade abaixo.

Para implantações Postgres que armazenam vetores semânticos no Milvus, instale o pacote opcional de primeira parte:

uv tool install "basic-memory[milvus]" --prerelease=allow

Configure seu cliente ↓

O que as pessoas estão dizendo

O Basic Memory mudou completamente minha relação com LLMs. Mudei do GPT e do Gemini para usar exclusivamente Claude e Claude Code por causa dessa integração e estou reformulando todos os processos da nossa empresa em torno de um fluxo de trabalho com Basic Memory.

Alex, TrainerDay

O Basic Memory é o fator 'uau' que faltava nos chatbots de IA. Agora não consigo imaginar o Claude ou o Claude Code sem ele.

Caleb, Caleb Picker Consulting

Não codifico mais sem o Basic Memory. É uma economia de tempo enorme poder consultar projetos que não estão ativos no momento e manter um registro contínuo de tudo que aprendo e das dicas de especialista.

@groksrc, Desenvolvedor

Mais em basicmemory.com.

Basic Memory Cloud

A versão hospedada do Basic Memory. Mesmo produto, mesmos arquivos Markdown, mesmas ferramentas MCP — nós apenas hospedamos o banco de dados, executamos a sincronização e colocamos tudo no seu celular.

O que você recebe

  • Todo dispositivo, o mesmo cérebro. Seu grafo de conhecimento na web, no mobile e no desktop. Sem copiar e colar entre máquinas.
  • Conecte qualquer cliente MCP. Claude Desktop, Claude Code, Codex, Cursor, ChatGPT (Custom GPTs), VS Code — conexão com um clique pelo aplicativo web.
  • Sincronização bidirecional com o local. Edite no celular, veja no Obsidian no seu notebook. Baseado em rclone com resolução de conflitos.
  • Snapshots e backups. Restauração em um ponto no tempo. Navegue pelo histórico. Nunca perca uma nota.
  • Sem aprisionamento. Suas notas são Markdown simples. Exporte para Markdown local a qualquer momento — mesmos arquivos, mesmo formato, mesmos wikilinks. Cancele quando quiser; seus dados continuam sendo seus.

Construído com WorkOS AuthKit, Neon Postgres e Tigris S3.

Preços

US$ 15,00/mês, garantido pela vida da sua assinatura (preço normal US$ 19). Cadastre-se durante o beta e a tarifa nunca aumenta — enquanto você mantiver a assinatura, você mantém o preço. Um plano, sem níveis, sem upgrades surpresa. Notas ilimitadas, projetos ilimitados, todos os recursos.

  • Teste grátis de 7 dias. Cancele a qualquer momento antes do dia 7 se não for para você.
  • Cancele quando quiser depois também — exporte suas notas sempre que desejar.
  • Usuários de OSS: use o código BMFOSS para mais 20% de desconto por 3 meses (~US$ 11,40/mês).

Inicie seu teste grátis de 7 dias →

Nuvem vs. local

NuvemLocal
Tempo de configuração30 segundos2 minutos (requer Python)
CustoUS$ 15,00/mês, garantido para sempre (teste de 7 dias)Grátis
ArmazenamentoNós hospedamos (Tigris S3)Seu disco
Sincronização entre dispositivosIntegradaManual (Git, Syncthing, etc.)
Acesso mobileSim (web + app)Não
Ambiente isoladoNãoSim
Seus dados continuam seusSim — exporte quando quiserSim — já estão lá
Código-fonteAGPL-3.0AGPL-3.0
Snapshots e backupsIntegradosConfigure você mesmo

Ambos os caminhos usam o mesmo mecanismo OSS e os mesmos arquivos Markdown. Não há aprisionamento em nenhum dos dois — alterne entre eles quando suas necessidades mudarem.

Funciona com as ferramentas que você já usa

ClienteTransporteNotas
Aplicativo web na nuvemhttpsEntre em basicmemory.com — sem instalação
Claude Desktopstdio/httpsmacOS / Windows / Linux
Claude Codestdio/httpsclaude mcp add
Codexstdio/httpsAgente de codificação da OpenAI
Cursorstdio/https.cursor/mcp.json
VS Codestdio/httpsSuporte nativo a MCP
ChatGPThttpsAções de Custom GPT (search / fetch)
ObsidianLê/escreve os mesmos Markdown diretamente
Qualquer coisa MCPstdio/httpsSe fala MCP, funciona

Pacotes oficiais de agentes

Este repositório também é a casa canônica dos pacotes de agentes nativos do host do Basic Memory. O pacote Python principal, o plugin do Claude Code, as habilidades compartilhadas, o plugin Hermes e o plugin OpenClaw são todos publicados a partir da mesma árvore de código-fonte.

Os mantenedores podem verificar toda a superfície consolidada a partir da raiz do repositório:

just package-check

Justfiles locais dos pacotes também estão disponíveis ao trabalhar dentro de um host:

just package-check-claude-code
just package-check-skills
just package-check-hermes
just package-check-openclaw

Plugin do Claude Code

O plugin do Claude Code é a ponte entre a memória de trabalho do Claude e o Basic Memory — briefings no início da sessão, checkpoints antes da compactação, um estilo de saída de captura opcional e /basic-memory:bm-setup · :remember · :share · :status.

Conecte o servidor MCP do Basic Memory primeiro — veja Conecte seu cliente de IA. Os hooks e habilidades do plugin o chamam, então é um pré-requisito obrigatório. Depois, instale o plugin:

bm install claude-code

Isso registra o marketplace e instala o plugin pelo Claude Code. Adicione --scope project para declarar ambos nas configurações do repositório para uma equipe, ou --dry-run para ver os comandos claude plugin subjacentes sem executá-los.

Fonte: plugins/claude-code.

Habilidades compartilhadas

Arquivos SKILL.md independentes de framework ficam em skills/. Se a sua CLI de Skills suporta fontes de subdiretórios do repositório:

npx skills add basicmachines-co/basic-memory/skills

Se a CLI de Skills instalada não conseguir carregar essa fonte, atualize a CLI ou copie os diretórios memory-* de skills/ para o diretório de habilidades do seu agente.

Hermes

O Hermes mantém seu formato de plugin nativo em integrations/hermes:

hermes plugins install basicmachines-co/basic-memory/integrations/hermes

O Hermes não instala as dependências Python de um plugin, então adicione também o pacote mcp ao venv do Hermes — veja o README do plugin para esse passo e as versões do Hermes suportadas.

OpenClaw

O OpenClaw permanece nativo de pacote e publica a partir de integrations/openclaw:

openclaw plugins install @basicmemory/openclaw-basic-memory

Continue de onde parou

https://github.com/user-attachments/assets/a55d8238-8dd0-454a-be4c-8860dbbd0ddc

Conecte seu cliente de IA

Se você escolheu o caminho da Nuvem, o aplicativo web guia você pela conexão do cliente. Os trechos abaixo são para instalações locais.

Claude Desktop

Edite ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "basic-memory": {
      "command": "uvx",
      "args": ["--prerelease=allow", "basic-memory", "mcp"]
    }
  }
}

Reinicie o Claude Desktop. As notas ficam em ~/basic-memory por padrão.

Claude Code, Codex CLI, Cursor, VS Code, ChatGPT, Obsidian

Claude Code

claude mcp add basic-memory -- uvx --prerelease=allow basic-memory mcp

Para a ponte de memória completa — briefings de sessão, checkpoints antes da compactação e os comandos /basic-memory:* — instale também o plugin do Claude Code além disso.

Codex CLI

Adicione a ~/.codex/config.toml:

[mcp_servers.basic-memory]
command = "uvx"
args = ["--prerelease=allow", "basic-memory", "mcp"]

O Codex pode manter o comportamento padrão de aprovação de MCP, ou você pode pré-aprovar ferramentas elegíveis do Basic Memory adicionando esta configuração com escopo de servidor à mesma tabela:

[mcp_servers.basic-memory]
command = "uvx"
args = ["--prerelease=allow", "basic-memory", "mcp"]
default_tools_approval_mode = "approve"

Isso não desativa as aprovações do Codex globalmente nem expande quais projetos do Basic Memory o servidor pode acessar. O Codex ainda exige aprovação para ferramentas que anunciam uma anotação destrutiva, incluindo gravações, edições e exclusões do Basic Memory. Se você instalou o plugin do Basic Memory para Codex, use a configuração com escopo de plugin dele.

Cursor

Adicione a .cursor/mcp.json (projeto) ou ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "basic-memory": {
      "command": "uvx",
      "args": ["--prerelease=allow", "basic-memory", "mcp"]
    }
  }
}

VS Code

Adicione às suas Configurações de Usuário (JSON):

{
  "mcp": {
    "servers": {
      "basic-memory": {
        "command": "uvx",
        "args": ["--prerelease=allow", "basic-memory", "mcp"]
      }
    }
  }
}

ChatGPT

O Basic Memory expõe ferramentas search e fetch compatíveis com OpenAI para ações de Custom GPT. Veja o guia de integração com ChatGPT.

Obsidian

Sem configuração. Aponte o Obsidian para ~/basic-memory (ou sua pasta de projeto) e os mesmos wikilinks, frontmatter e Markdown que sua IA escreve aparecem na sua visualização de grafo. Edite de qualquer lado — a sincronização cuida do resto.

Experimente um prompt:

"Create a note about our project architecture decisions."
"Find information about JWT auth in my notes."
"What have I been working on this week?"

Novidades

  • Atualizações automáticas. O Basic Memory se mantém atualizado para uv tool e instalações via Homebrew; bm update aciona uma verificação manual.
  • Busca semântica por vetores. Encontre notas pelo significado, não apenas por palavras-chave. Classificação híbrida de texto completo + vetores com embeddings FastEmbed, em SQLite ou Postgres.
  • Reclassificação opcional de busca. Reavalie os candidatos mais fortes de vetores e híbridos com um cross-encoder local FastEmbed ou um provedor baseado em LiteLLM.
  • Sistema de esquema. Infira, valide e compare a estrutura da sua base de conhecimento com schema_infer, schema_validate, schema_diff.
  • Roteamento em nuvem por projeto. Roteie projetos individuais pela nuvem enquanto outros permanecem locais, via chave de API (bm project set-cloud).
  • Edição mais inteligente. edit_note append/prepend cria notas automaticamente quando ausentes; write_note protege contra sobrescritas acidentais.
  • Resultados de busca mais ricos. O texto do trecho correspondente é incluído para que o LLM receba contexto, não apenas correspondências.
  • FastMCP 3.0 + anotações de ferramentas. Cada ferramenta vem com dicas de comportamento MCP (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) para que agentes descubram capacidades progressivamente em tempo de execução, em vez de adivinhar ou gastar tokens.
  • Reformulação da CLI. Saída --json para scripts, comandos cientes de workspace, e um painel de projetos inspirado no htop.

CHANGELOG completo para v0.18 → v0.20.

Reclassificação opcional com cross-encoder

A reclassificação adiciona uma segunda passada de relevância após a recuperação por vetores ou híbrida. Ela está desativada por padrão porque adiciona latência de inferência e, para o provedor local, um download do modelo na primeira execução. Buscas por texto, título e link permanente mantêm sua classificação existente.

Ative o reclassificador local padrão FastEmbed:

export BASIC_MEMORY_SEMANTIC_SEARCH_ENABLED=true
export BASIC_MEMORY_RERANKER_ENABLED=true

O modelo padrão é jinaai/jina-reranker-v1-tiny-en. Para usar um reclassificador hospedado via LiteLLM:

export BASIC_MEMORY_SEMANTIC_SEARCH_ENABLED=true
export BASIC_MEMORY_RERANKER_ENABLED=true
export BASIC_MEMORY_RERANKER_PROVIDER=litellm
export BASIC_MEMORY_RERANKER_MODEL=cohere/rerank-v3.5
export COHERE_API_KEY=...

O recurso falha rapidamente em configuração inválida e não cai silenciosamente na ordem de recuperação quando um provedor ativado falha. Consulte o guia de busca semântica para configuração de provedores, todas as configurações, ajustes, paginação e comportamento em caso de falha.

Por que Basic Memory

A maioria das conversas com LLMs é efêmera. Você faz uma pergunta, obtém uma resposta, e então tudo é esquecido. Soluções alternativas têm limites:

  • Histórico de chat captura conversas, mas não é conhecimento estruturado.
  • RAG permite que o LLM consulte seus documentos, mas não escreva neles.
  • Bancos de vetores precisam de infraestrutura complexa e geralmente vivem na nuvem de outra pessoa.
  • Grafos de conhecimento precisam de ferramentas especializadas para manutenção.

O Basic Memory segue um caminho mais simples: arquivos Markdown estruturados que humanos e LLMs leem e escrevem.

  • Todo o conhecimento permanece em arquivos simples que você controla.
  • Ambos os lados leem e escrevem nos mesmos arquivos.
  • Markdown familiar com padrões semânticos — sem novo formato para aprender.
  • Um grafo navegável que o LLM pode seguir link por link.
  • Funciona com os editores que você já usa (Obsidian, VS Code, qualquer um).
  • Apenas arquivos mais um índice SQLite local. Sem servidores necessários.

Como funciona

Você está conversando normalmente sobre café:

Tenho experimentado métodos de preparo. O pour over dá mais clareza do que a prensa francesa, água a 205°F parece ser o ideal, e grãos recém-moídos fazem uma enorme diferença.

Peça ao LLM para capturar:

"Faça uma nota sobre métodos de preparo de café."

Um arquivo Markdown aparece no seu diretório de projeto em tempo real:

---
title: Coffee Brewing Methods
permalink: coffee-brewing-methods
tags: [coffee, brewing]
---

# Coffee Brewing Methods

## Observations
- [method] Pour over highlights subtle flavors over body
- [technique] Water at 205°F (96°C) extracts optimal compounds
- [principle] Freshly ground beans preserve aromatics

## Relations
- relates_to [[Coffee Bean Origins]]
- requires [[Proper Grinding Technique]]
- affects [[Flavor Extraction]]

Na próxima sessão, o LLM retoma o fio. Ele segue as relações para superficializar o que você já sabe sobre grãos etíopes e moedores de rebarba, e constrói em cima disso em vez de recomeçar. Você vê os mesmos arquivos no Obsidian ou no seu editor. Edite-os manualmente — a IA também vê suas mudanças.

Fluxo real de mão dupla: humanos editam Markdown, LLMs leem/escrevem via MCP, a sincronização mantém tudo consistente, e a fonte da verdade é sempre seus arquivos.

O formato Markdown

Cada arquivo é um Entity. Entidades têm Observations (fatos sobre elas) e Relations (links para outras entidades). Essa é toda a gramática.

Frontmatter

---
title: <Entity title>
type: note
permalink: <uri-slug>
tags: [optional, list]
---

Observações

Fatos sobre a entidade. Categorias em [brackets], tags com #, contexto opcional entre parênteses.

- [method] Pour over highlights subtle flavors
- [tip] Grind medium-fine for V60 #brewing
- [fact] Lighter roasts contain more caffeine than dark
- [resource] James Hoffmann's V60 technique on YouTube
- [question] How does temperature affect compound extraction?

Relações

Links estilo wiki que formam o grafo. Tipos de relação de token único, ou com várias palavras entre aspas.

- pairs_well_with [[Chocolate Desserts]]
- grown_in [[Ethiopia]]
- requires [[Burr Grinder]]
- "pairs well with" [[Dark Chocolate]]

- [[Target]] simples e prosa - Worth checking out [[Target]] indexam como links_to. Referência completa na documentação.

Ferramentas MCP

O Basic Memory expõe estas ferramentas a qualquer cliente MCP. Cada ferramenta é anotada com dicas de comportamento MCP (somente leitura, destrutiva, idempotente, mundo aberto) para que agentes escolham a certa sem tentativa e erro:

  • Conteúdo: write_note, read_note, edit_note, move_note, delete_note, read_content, view_note
  • Busca e descoberta: search_notes, recent_activity, list_directory
  • Grafo de conhecimento: build_context (navega URLs memory://)
  • Projetos: list_memory_projects, list_workspaces, create_memory_project, delete_project
  • Esquema: schema_infer, schema_validate, schema_diff
  • Compatibilidade e diagnósticos: search, fetch, basic_memory_diagnostics

Todas as ferramentas MCP usam saída de texto por padrão; passe output_format="json" para respostas estruturadas. Referência completa de ferramentas na documentação.

Essenciais da CLI

# Projects
basic-memory project list
basic-memory project add research ~/research
basic-memory project set-cloud research   # route through cloud
basic-memory project set-local research   # revert

# Config
basic-memory config list                        # all settings, effective values, env overrides
basic-memory config set cli_output_style plain  # validated through the config model
basic-memory config unset cli_output_style      # revert to default

# Health & maintenance
basic-memory status
basic-memory doctor              # file <-> DB consistency check
basic-memory tool edit-note ...  # CLI access to MCP tools
basic-memory update              # check for and install updates

# Imports
basic-memory import claude conversations
basic-memory import chatgpt
basic-memory import memory-json

Flags de roteamento (--local / --cloud) forçam um destino quando você está em modo misto. Referência completa da CLI na documentação.

Atualizações automáticas

Instalações via CLI verificam atualizações a cada 24 horas por padrão e as aplicam silenciosamente (para que o servidor MCP continue respondendo).

  • Fontes de instalação suportadas: uv tool, Homebrew
  • Ignorado para uvx (runtime efêmero gerenciado por uv)
  • Manual: bm update (verificar + aplicar) ou bm update --check (apenas verificar)

Desative em ~/.basic-memory/config.json:

{ "auto_update": false }

Telemetria

Eventos mínimos e anônimos para entender o funil de conversão CLI-para-nuvem.

O que coletamos: impressões de promoção da nuvem, tentativas e resultados de login na nuvem, eventos de desativação de promoções.

O que não coletamos: conteúdo de arquivos, títulos de notas, dados da base de conhecimento, PII, endereços IP, rastreamento por comando ou por ferramenta.

Os eventos vão para nossa instância Umami Cloud (open-source, focada em privacidade) em uma thread em segundo plano — nunca bloqueia a CLI.

Desative:

export BASIC_MEMORY_NO_PROMOS=1

Isso desativa promoções e toda a telemetria.

Registros (logging)

O Basic Memory usa Loguru. Os padrões variam por ponto de entrada:

Ponto de entradaPadrãoPor quê
Comandos CLISomente arquivoNão interfere na saída de comandos
Servidor MCPSomente arquivoStdout corromperia JSON-RPC
Servidor de APIArquivo (local) ou stdout (nuvem)Docker/nuvem usa stdout

Arquivo de log: ~/.basic-memory/basic-memory.log (rotação de 10MB, retenção de 10 dias).

Variáveis de ambiente

VariávelPadrãoDescrição
BASIC_MEMORY_LOG_LEVELINFODEBUG / INFO / WARNING / ERROR
BASIC_MEMORY_CLOUD_MODEfalseLogs da API para stdout com contexto estruturado
BASIC_MEMORY_FORCE_LOCALfalseForça roteamento local da API
BASIC_MEMORY_FORCE_CLOUDfalseForça roteamento da API na nuvem
BASIC_MEMORY_EXPLICIT_ROUTINGfalseMarca a seleção de rota como explícita
BASIC_MEMORY_ENVdevDefina como test para modo de teste (somente stderr)
BASIC_MEMORY_NO_PROMOSfalseDesativa promoções e telemetria da nuvem
BASIC_MEMORY_IMPORT_UPLOAD_MAX_BYTES104857600Tamanho máximo de importação enviada
BASIC_MEMORY_LOG_LEVEL=DEBUG basic-memory reindex
tail -f ~/.basic-memory/basic-memory.log

Desenvolvimento

O Basic Memory suporta SQLite (padrão, rápido, sem Docker) e Postgres (via testcontainers — Docker necessário).

just install          # Install with dev dependencies
just test-sqlite      # All tests, SQLite
just test-postgres    # All tests, Postgres (testcontainers)
just test             # Both backends
just fast-check       # fix/format/typecheck + impacted tests
just doctor           # File <-> DB consistency check (temp config)
just package-check    # Claude Code, skills, Hermes, OpenClaw package checks
just lint
just typecheck        # Pyright (primary)
just typecheck-ty     # ty (supplemental)
just format
just check            # All quality checks
just migration "msg"  # New Alembic migration

Testes usam marcadores pytest: windows, benchmark, smoke. Veja o justfile para a lista completa.

Contribuições são bem-vindas — veja CONTRIBUTING.md.

Licença

AGPL-3.0.

Feito com ♥️ por Basic Machines