piia-engram

Memória persistente de IA entre ferramentas — lembre suas preferências, padrões de código e decisões no Claude Code, Cursor, Codex e qualquer ferramenta MCP. Local-first, sem nuvem.

Documentação

piia-engram — user-owned AI work identity layer

Piia Engram

Identidade de trabalho de IA local-first que você pode ver, editar e substituir — portátil entre suas ferramentas de codificação MCP.

Diga à IA uma única vez quem você é, como você trabalha e o que significa "bom". Claude Code, Codex, Cursor, Windsurf e outras ferramentas compatíveis com MCP podem partir da mesma camada de identidade de trabalho de IA — arquivos locais que você possui, sem conta na nuvem, sem memória oculta que você não possa inspecionar.

Instalar · Veja em Ação · Ferramentas Suportadas · Ferramentas MCP · FAQ

ENGLISH | 中文

PyPI Downloads Python 3.10+ MCP Compatible License: AGPL v3 CI Guard strategic files

Listado em: Official MCP Registry awesome-mcp-servers Glama

Também listado em: awesome-agents · Awesome-MCP-ZH · mcpservers.org · Cursor Directory · ModelScope · PulseMCP


Resumo: piia-engram é uma camada de identidade de IA pessoal local-first. Ela ajuda vários agentes de codificação a partirem do mesmo entendimento sobre você: suas preferências, padrão de qualidade, lições aprendidas, decisões e contexto de projeto. Não é um banco de dados de memória de agente; é a camada de propriedade do usuário acima de suas ferramentas.

Por que não usar apenas a memória nativa? Claude Code, Codex, Cursor e Windsurf estão adicionando suas próprias memórias e regras. Elas são úteis, mas limitadas a uma ferramenta ou espaço de trabalho. piia-engram oferece uma camada de identidade portátil acima delas: arquivos locais que você possui, conhecimento proposto por IA que você revisa e contexto que pode acompanhá-lo entre ferramentas.

Modelo de confiança em quatro linhas:

  • Sem conta na nuvem: instale com pip, mantenha o armazenamento principal na sua máquina.
  • Arquivos locais: identidade e conhecimento vivem sob ~/.engram/ como JSON/Markdown.
  • Aprovação do usuário: a IA escreve localmente; itens de alto risco (credenciais, comandos de shell, configuração MCP, regras de permissão) aguardam sua revisão, enquanto gravações de baixo/médio risco são absorvidas automaticamente, mas totalmente auditáveis e reversíveis. Defina ENGRAM_APPROVAL=strict para bloquear cada gravação. "Verificado" significa aceito por você ou por essa política, não revalidado contra seu código atual.
  • Continuidade de sessão: a saída de retomada também pode incluir registros de sessões anteriores (checkpoints e snapshots) que não são revisados e não autorizam ações. As alegações de aprovação e revisão se aplicam à identidade e ao conhecimento de longo prazo sob a política configurada.
  • Limites documentados: veja Modelo de confiança, Privacidade e Segurança.

Quer prova? Veja a prova de continuidade entre ferramentas ao vivo — uma memória escrita por Claude Code, lida de volta por Codex através de um armazenamento local — ou a demonstração de código reproduzível com um comando.

Veja em Ação

You  → "Help me refactor this auth module"

# WITHOUT piia-engram: AI starts from scratch
AI   → "What language? What framework? What's your testing preference?"

# WITH piia-engram: AI can load your approved identity and long-term knowledge
AI   → "Based on your preference for pytest + 90% coverage, and your
        lesson about always separating auth middleware from business
        logic (from the March incident), here's my approach..."

E você nunca precisa aceitar isso por fé — Memory Lens (engram preview --html) mostra exatamente o que qualquer chamada de IA receberia e o que a governança reteve, antes de qualquer envio:

Memory Lens — read-only preview of exactly what an AI caller receives: knowledge exposed vs withheld, redaction hits, and budget effects

Acima: um relatório real de um armazenamento de demonstração — 4 itens expostos; uma nota de staging não revisada e uma lição contendo uma credencial são retidas, com o segredo mostrado como [REDACTED].


Instalar

pip install piia-engram && engram setup

O assistente detecta automaticamente suas ferramentas de IA — Claude Code, Cursor, Codex, Claude Desktop — lista os arquivos de configuração exatos que tocará e grava a conexão MCP após uma confirmação de uma tecla (cada gravação é copiada primeiro; recuse e nada muda). Ele pré-visualiza seu cartão de identidade, então você reinicia a ferramenta configurada; a primeira conversa pode carregar sua identidade aprovada e conhecimento de longo prazo através de ferramentas de inicialização ou busca. (passo a passo completo ↓)


Deixe seu agente de IA instalar

Peça ao seu agente de codificação para instalar o Engram e inspecionar o plano antes de aplicar:

pip install piia-engram
engram setup --non-interactive --json
engram setup --non-interactive --apply
engram doctor --json

A configuração não faz perguntas. Use --clients cursor,codex para limitar clientes e --lang zh|en para o idioma de saída (padrão en). Sem --apply, o modo de planejamento não grava nada no armazenamento do Engram, diretório inicial ou configurações do cliente. O Python em si pode usar o diretório temporário do sistema. Aplicar configura conexões MCP com backups, preserva modos de ferramenta existentes e nunca importa memórias, grava identidade/conhecimento ou aprova propostas. Reinicie os clientes configurados; código de saída 1 significa que uma etapa manual permanece. Veja llms.txt para instruções do agente e o contrato CLI e JSON para detalhes.

Ferramentas Suportadas

Os níveis de evidência seguem o runbook de validação de clientes de agente: L0 = descoberta, L1 = acesso ao protocolo, L2 = comportamento de leitura/busca, L3 = ganho de comportamento A/B, L4 = continuidade entre clientes, L5 = evidência pública reproduzível.

FerramentaIntegraçãoStatus de evidência
Claude CodeMCP via stdioL4 prova parcial de continuidade (Claude Code -> Codex)
CodexMCP via stdioL4 prova parcial de continuidade (Claude Code -> Codex)
CursorMCP via stdioL2 caminho de evidência de configuração/leitura-busca
Claude DesktopMCP via stdioCaminho de configuração L1/L2; evidência específica do cliente pendente
HermesMCP via stdioL4 continuidade de marcador CLI controlado; alegações de desktop e benchmark amplo não verificadas
OpenClawImportação e exportação SOUL.md / MEMORY.md / USER.mdL3 evidência de ponte de arquivo estático (somente snapshot estático A/B; comportamento de agente ao vivo não verificado)
ChatGPT / Gemini / KimiFallback de cartão de identidade MarkdownUtilizável
WindsurfMCP via stdioEsperado funcionar
GitHub CopilotMCP via stdioEsperado funcionar
ClineMCP via stdioEsperado funcionar
Roo CodeMCP via stdioEsperado funcionar
Amazon QMCP via stdioEsperado funcionar
AugmentMCP via stdioEsperado funcionar
ZedMCP via stdioEsperado funcionar
TraeMCP via stdioEsperado funcionar
Tencent CodeBuddyMCP via stdioEsperado funcionar

Pelos números

Estes são fatos atuais do repositório de docs/public-facts.json. Registros públicos e selos de pacotes são atualizados apenas durante lançamento/publicação.

Fatos atuais do repositório / desenvolvimento
Estrutura de versãov4.24.0 (verificado em 2026-10-11; verifique PyPI e GitHub Releases para o pacote publicado mais recente)
Ferramentas de IA suportadas16 (nível de evidência varia por cliente; veja Ferramentas Suportadas e o runbook de validação)
Ferramentas MCP19 Core (carregadas por padrão) + 40 Avançadas (opt-in via ENGRAM_TOOLS=all)
Tipos de conhecimento3 (lições, decisões, playbooks)
Suíte de testesUnitária + integração; execute pytest tests/ para verificar
Linhas em core.py1770 (fachada; a lógica de domínio agora vive em mixins focados — veja architecture.md)
Iterações PBKDF2600.000 (piso OWASP 2023+; 100k legado ainda descriptografa)
CriptografiaAES-256-GCM opcional em nível de campo para campos de perfil suportados; arquivos locais são JSON/Markdown em texto simples por padrão
Tempo de inicialização a frio< 100 ms típico (JSON local, sem rede)
Chamadas de rede por padrãoUm ping anônimo de uso por dia (engram telemetry off ou DO_NOT_TRACK=1 desativa); o comando engram também verifica PyPI para uma versão mais recente no máximo uma vez por dia em terminais interativos, e engram doctor verifica a cada execução (ENGRAM_NO_UPDATE_CHECK=1 desativa); ferramentas de identidade e conhecimento não fazem nenhuma, exceto o opcional read_web_content; telemetria remota e feedback exigem opt-in explícito separado e enviam apenas contagens (veja detalhes de privacidade)

Sua IA esquece você toda vez que você troca de ferramenta ou inicia um novo chat. piia-engram corrige a transferência.

Toda vez que você abre uma nova janela de chat, troca de Claude Code para Codex, atualiza sua ferramenta de IA ou muda para um projeto diferente, você volta ao zero:

  • suas preferências de comunicação — perdidas
  • seus padrões de código e padrão de qualidade — esquecidos
  • quais erros você já aprendeu — perdidos
  • por que você tomou aquela decisão de arquitetura no mês passado — apagado

Isso acontece porque a memória de IA hoje está bloqueada dentro de cada plataforma. Ela pertence à ferramenta, não a você. A ferramenta atualiza, redefine ou é substituída — e seu contexto desaparece com ela.

piia-engram oferece uma camada de identidade pessoal que vive na sua máquina, independente de qualquer ferramenta de IA. Você diz uma vez quem é, como trabalha e o que aprendeu. Ferramentas compatíveis com MCP podem ler a mesma identidade aprovada e conhecimento de longo prazo. Novo chat, nova ferramenta, nova versão — sua identidade permanece portátil.

piia-engram não é um banco de dados de memória de agente. Ferramentas como Mem0, Zep e Letta armazenam contexto de tarefa e histórico de sessão para agentes de IA. piia-engram armazena quem você é como pessoa — sua identidade, preferências, lições difíceis e decisões-chave. É uma camada diferente: não o que aconteceu em uma tarefa, mas quem está por trás de cada tarefa.

Por que piia-engram?

Sem piia-engramCom piia-engram
Nova janela de chat = começar do zeroConversas configuradas podem carregar sua identidade aprovada e conhecimento de longo prazo
Atualizações de ferramenta de IA e suas preferências desaparecemSua identidade vive na sua máquina, sobrevive a qualquer atualização
Trocar de ferramenta perde contexto acumuladoClaude Code, Codex e Cursor leem a mesma memória
Erros passados são repetidosLições aprendidas seguem você entre ferramentas e sessões
Memória está bloqueada dentro de um produtoDados permanecem locais, editáveis e portáteis

Quem Usa piia-engram

piia-engram é feito para desenvolvedores que usam múltiplas ferramentas de codificação de IA e estão cansados de se reexplicar.

Se você alterna entre Claude Code, Codex e Cursor — seus padrões de código, decisões de arquitetura e lições difíceis são redefinidos toda vez. piia-engram faz cada ferramenta partir do mesmo entendimento de quem você é.

Se você abre 10+ janelas de chat de IA por semana — cada uma começa do zero. piia-engram permite que cada conversa comece do mesmo contexto de identidade e conhecimento aprovado.

Se você perdeu preferências após uma atualização de ferramenta — sua identidade vive na sua máquina, não dentro de nenhuma plataforma. Atualizações, redefinições e migrações não tocam sua memória.

Outros casos de uso

Analistas de investimento Decisões são tomadas, mas o raciocínio se perde. piia-engram armazena a cadeia completa de raciocínio para que seis meses depois, "por que eu passei nisso?" tenha uma resposta real — e sua estrutura analítica viaja com você em cada nova análise.

Arquitetos de sistemas Decisões de arquitetura precisam de contexto: o que você escolheu, o que descartou e por quê. piia-engram mantém Registros de Decisão de Arquitetura vivos que viajam com você entre empresas e projetos, consultáveis por qualquer ferramenta de IA.

Desenvolvedores backend Peculiaridades de API, pegadinhas de integração, trade-offs de desempenho — conhecimento tácito que normalmente vive na sua cabeça e é redefinido quando você muda de emprego. piia-engram transforma isso em uma biblioteca pesquisável que persiste em tudo.

Frontend e design A filosofia de design raramente é documentada de uma forma que ferramentas de IA possam usar. piia-engram armazena seus padrões reais, lições de UX de usuários reais e o raciocínio por trás de decisões de componentes — para que cada projeto comece onde o último terminou.

Codificadores por vibração Você constrói com IA e se move rápido. O problema: a cada nova sessão sua IA começa do zero — escolhas de estilo diferentes, padrões inconsistentes, reexplicando as mesmas preferências. piia-engram torna cada ferramenta consistente desde a primeira sessão: sua stack, seus padrões, sua voz, já lá.

O que piia-engram Armazena

Todos os dados ficam sob ~/.engram/ como arquivos JSON e Markdown simples que você pode abrir, editar, fazer backup ou migrar por conta própria.

  • Identidade: quem você é, como você se comunica, quais idiomas prefere
  • Padrões de qualidade: seu critério de revisão de código, expectativas de cobertura de testes, o que você se recusa a entregar
  • Preferências: estilo de codificação, comportamento de IA, como você gosta de explicações
  • Limites de confiança: quais campos manter privados, quais ferramentas podem acessar
  • Instantâneos de projeto: contexto para trabalho em andamento, capturado e recarregável
  • Lições aprendidas: erros, surpresas, coisas que funcionaram e que não funcionaram
  • Decisões importantes: o que você escolheu, o que descartou e por quê
  • Conhecimento de domínio: insights reutilizáveis entre projetos e ferramentas

O que o piia-engram Faz (Além do Armazenamento)

A maioria das ferramentas de memória é passiva — você coloca coisas nelas, elas devolvem. O piia-engram também é ativo.

Herança de conhecimento entre projetos
Descreva um novo projeto em texto simples. get_knowledge_inheritance retorna um pacote inicial selecionado com as lições e decisões mais relevantes de tudo que você já trabalhou. Seu décimo projeto se beneficia de todos os nove anteriores — a uma chamada de ferramenta de distância.

Captura passiva de conhecimento
Cole um resumo de sessão em extract_session_insights e o piia-engram extrai e armazena as lições e decisões. Sem anotações manuais. O conhecimento se acumula por meio de conversas normais com IA.

Funciona com ferramentas que não suportam MCP
ChatGPT, Gemini, Kimi — get_identity_card exporta um cartão de identidade Markdown pronto para colar. Seu contexto viaja até para ferramentas que não conseguem se conectar diretamente.

Extração automática de playbooks
Termine um fluxo de trabalho de várias etapas — publicação no PyPI, deploy no Cloudflare, publicação no MCP Registry — e o piia-engram detecta isso no final da sessão. Ele gera um rascunho estruturado de playbook (etapas, armadilhas, palavras-chave de gatilho) e o salva em uma área de preparação. Na próxima vez que você fizer a mesma tarefa, a IA pode recuperar o playbook confirmado como referência passiva, percorrer as etapas com você e registrar o resultado. Sem registro manual necessário — o Engram inicia o rascunho, você confirma, a IA do host permanece responsável. Veja Extração Automática de Playbook abaixo.

Registro local de ferramentas
Ferramentas de IA buscam constantemente por programas locais, runtimes e CLIs. register_tool registra o que está instalado e onde; find_tool recupera isso instantaneamente. Chega de which python a cada sessão — o mapa do ambiente persiste entre ferramentas e conversas.

Saúde e descoberta de conhecimento
get_knowledge_overview expõe lições desatualizadas (não revisadas há mais de 30 dias), calcula uma pontuação de saúde de 0 a 100 em quatro dimensões (atualidade, qualidade, cobertura, clareza) e sinaliza lacunas que valem a pena revisitar. explore_knowledge examina sua base de conhecimento em busca de quase duplicatas (e percorre itens relacionados/semelhantes) com comandos de mesclagem acionáveis. manage_relation conecta lições e decisões relacionadas em um grafo de conhecimento navegável.

Busca híbrida (opcional, desativada por padrão)
A busca por palavras-chave padrão permanece inalterada. Opte pela recuperação híbrida — texto completo FTS5 mais uma camada vetorial semântica — para recuperação entre idiomas, por exemplo, uma consulta em inglês encontrando uma nota em chinês: pip install "piia-engram[vector]" e defina ENGRAM_SEARCH=hybrid, ou deixe engram setup ativá-la com um toque de tecla. O índice é um arquivo SQLite reconstruível; seu armazenamento JSON permanece como a fonte única da verdade. Veja docs/hybrid-search.md.

Início Rápido

pip install piia-engram
engram setup

Novo no piia-engram? Veja o início rápido de primeiro valor mais completo para o caminho instalação -> primeira memória -> recuperação em nova sessão usando apenas as 19 ferramentas principais padrão, ou o Guia do Usuário completo cobrindo instalação -> primeiro valor -> continuidade entre ferramentas -> governança -> privacidade -> FAQ. Cartões de configuração específicos por host estão disponíveis para Claude Code, Codex e Cursor. Para rascunhos de contexto seguro somente para proposta, reprodução, atualidade/conflito e evidências, veja Governança de contexto.

O assistente de configuração irá:

  1. Detectar seu ambiente Python
  2. Deixar você escolher a pasta de dados do Engram (~/.engram, outro drive ou um caminho personalizado)
  3. Detectar suas ferramentas de IA, listar os arquivos de configuração exatos que tocará e escrever a conexão MCP após uma confirmação de um toque de tecla (com backup primeiro; recusar deixa tudo intocado)
  4. Orientar você pelo conhecimento inicial (função, stack tecnológico, idioma)
  5. Oferecer importação de regras e memórias de suas outras ferramentas de IA — CLAUDE.md, .cursorrules, arquivos de memória (padrão não; lista primeiro, depois a fila de revisão, aprove com engram review)
  6. Mostrar um breve aviso de uso diário; nenhum modo de configuração pergunta sobre telemetria ou altera suas escolhas
  7. Pré-visualizar seu cartão de identidade de IA — prova imediata de valor

Após a configuração escrever a conexão MCP (você confirma no prompt primeiro), reinicie sua ferramenta de IA. Muitos clientes podem chamar get_user_context na inicialização; quando um host não faz isso proativamente, uma chamada explícita de search_knowledge ou get_resume_brief ainda é o caminho L2 esperado.

Para execuções não interativas ou CI, pule o prompt de confirmação e escreva diretamente:

engram setup --apply-external-config

De qualquer forma, toda escrita de configuração externa recebe backup na pasta de dados do Engram selecionada, e recusar o prompt deixa toda configuração externa intocada.

Para revisão local por clique, abra piia-engram-review (clique duas vezes no launcher Windows instalado). Revise propostas completas e escolha aprovar, rejeitar ou depois, com prompts opcionais sem corpo enquanto a janela está em execução. Python com suporte a Tk é necessário; permissões de aprovação MCP permanecem inalteradas. Veja o guia da janela de revisão local.

Verifique a saúde a qualquer momento:

engram status        # redacted install + memory health summary
engram status --html # write a local redacted status page
engram preview --as automation  # see exactly what a given AI caller would receive (read-only)
engram continuity    # metadata-only proof that cross-tool handoff is ready
engram management    # metadata-only review/playbook management view
engram doctor        # diagnose all tools
engram doctor --fix  # auto-repair issues + inject missing instructions
engram doctor --days 7 --json  # which AI clients are configured and called Engram lately (read-only)
engram repair-encoding        # dry-run scan for garbled / mojibake text
engram repair-encoding --apply  # repair reversible cases with a backup

engram continuity é somente metadados: relata contagens de sessões salvas, ferramentas contribuintes, prontidão de resumo de retomada e sinais agregados de carregamento de contexto / encerramento sem imprimir corpos de memória, eventos brutos de telemetria, IDs de sessão ou caminhos locais.

Para uma prova de loop sintético legível por máquina, execute:

python demos/cross_tool_continuity_demo.py --json

engram continuity relata metadados de prontidão. O JSON de demonstração prova um loop isolado de escrita -> retomada -> busca -> proveniência usando apenas dados sintéticos.

Modo de experiência de reprodução

Reproduções offline e avaliações que realimentam material histórico em ordem cronológica podem inicializar um armazenamento isolado com "mode": "replay_experience" em sua configuração de launcher. O modo raiz é imutável. A admissão requer parâmetros admitted_before e now com ciência de fuso horário; a recuperação também requer now. A admissão histórica usa o horário fornecido enquanto os recibos mantêm carimbos de tempo reais, e a exclusão automática de mesma família é desativada. As evidências ainda param no as_of do ponto de decisão. A admissão de reprodução mantém resumos normalizados não idênticos verificados mesmo quando a similaridade de modelo é alta; duplicatas exatas e regras existentes de lápide, aposentado e arquivado gêmeo ainda se aplicam. O tratamento de duplicatas de produção e todos os limites de capacidade permanecem inalterados. Raízes de reprodução podem fixar hard_cap até 10.000 (por exemplo, 1.400); raízes de produção mantêm o padrão de 1.000. Backups nativos e entradas retornadas carregam store_mode: replay_experience, e raízes comuns recusam raízes de reprodução e importações marcadas.

A separação evita misturas acidentais, como usar a configuração errada, anexar outra raiz ou importar uma exportação não marcada. Novos recibos de inicialização são vinculados à identidade do diretório, e o texto de contexto retém seu marcador de reprodução. Isso não é um limite à prova de adulteração contra alguém que possa editar ambas as raízes e seus registros. Raízes de produção existentes criadas antes do modo de reprodução mantêm anexação direta sem configuração de launcher.

Para evidências de lançamento mais amplas, execute o benchmark sintético MCIC:

python demos/mcic_benchmark.py --json

O MCIC v1 contém 10 cenários de continuidade com rótulos de propósito cobrindo recuperação explícita, sinais implícitos de personalização, sinais de proteção contra premissas falsas, limites de ação pública, seleção de HEAD em cadeia de versões, controle negativo e proveniência. Sua afirmação é restrita: o Engram disponibiliza o sinal certo ao próximo cliente; a conformidade do modelo ao vivo ainda precisa de testes A/B separados.

Confiança e Evidências

O piia-engram trata afirmações de confiança como artefatos de lançamento, não como texto de marketing:

AfirmaçãoEvidência públicaO que provaLimite
A recuperação de memória permanece mensuráveldocs/trust-evidence.md, docs/benchmarks/memory-eval-suite-v1.md, python scripts/run_memory_evals.pyTestes de recuperação/admissão passam em verificações determinísticas pontuadas por ID de conhecimento sem juiz LLMPiso de regressão sintética, não um benchmark amplo de agente ao vivo
Números públicos não mudam silenciosamentepython scripts/check_public_fact_sync.py e python scripts/check_public_claim_drift.pyFatos de README / registro / arquitetura correspondem a docs/public-facts.jsonCHANGELOG histórico mantém fatos antigos de lançamento
Limites do produto permanecem explícitosdocs/product-boundary.md, python scripts/check_product_boundary.pyMódulos/importações do pacote, fatos públicos/superfície de ferramentas, documentação pública, exportações, superfície de lançamento e lista de permissões permanecem dentro do contrato públicoProteção somente de metadados, não uma revisão de repositórios privados ou branches não rastreados
Redação de segurança e privacidade permanece consistentepython scripts/check_public_trust_claims.pyDeclarações de rede, telemetria, endpoint, texto simples e criptografia opcional permanecem alinhadas entre documentos públicosProteção de consistência de prosa, não uma auditoria de segurança de terceiros
Lançamentos não podem pular evidênciaspython scripts/check_release_gate.pyCada lançamento carrega evidências estruturadas de que as verificações exigidas passaramRegistros de evidências são internos ao mantenedor

Verifique você mesmo (5 minutos)

Não aceite a tabela acima por fé — execute as verificações em sua própria máquina:

  1. Verifique sua configuração — engram doctor relata ferramentas detectadas, saúde do armazenamento e o modo de capacidade ativo.
  2. Veja o que a IA vê — engram preview --as automation renderiza exatamente o contexto que um chamador receberia (somente leitura, nada é enviado).
  3. Controle a superfície — defina ENGRAM_TOOLS=core (ou componha grupos) e execute novamente engram doctor para confirmar que relata a superfície principal esperada. Veja modos de capacidade.
  4. Audite seus dados — siga o runbook de auditoria de soberania de dados para confirmar que dados de identidade e conhecimento permanecem sob sua raiz do Engram, com escritas externas explícitas e auditadas.
  5. Verifique as afirmações — cada afirmação de confiança em evidências de confiança mapeia para uma verificação determinística ou caminho de inspeção que você pode executar localmente.

Configure para Sua Ferramenta de IA

Os trechos usam o nome de servidor engram, o nome que engram setup escreve. Uma entrada chamada piia-engram (de instruções anteriores) ainda é reconhecida, e a configuração a move para engram após fazer backup do arquivo em vez de adicionar um segundo servidor.

Claude Code
# Guided setup; confirms before writing external client configs (backed up first)
engram setup
# Skip the confirmation prompt for non-interactive/CI runs
engram setup --apply-external-config
# Or manual (user scope, available in all your projects):
claude mcp add --scope user engram -- piia-engram-mcp

A configuração registra o Engram por meio do comando claude na configuração de usuário do Claude Code (~/.claude.json, ou $CLAUDE_CONFIG_DIR/.claude.json); ela nunca edita esse arquivo por conta própria. Se claude não estiver no seu PATH, a configuração imprime o comando exato a ser executado. Os valores passados com -e aparecem na linha de comando do processo claude enquanto ele está em execução. O Engram também reconhece uma entrada chamada piia-engram de instruções anteriores. Versões de configuração anteriores a esta correção escreviam em ~/.claude/.mcp.json, que o Claude Code não lê: execute engram setup novamente para registrar no lugar certo (ele oferece remover a entrada antiga).

Cursor

Adicione a ~/.cursor/mcp.json:

{
  "mcpServers": {
    "engram": {
      "command": "piia-engram-mcp",
      "args": ["--transport", "stdio"]
    }
  }
}

Fallback compatível se scripts de console não estiverem no PATH:

{
  "command": "python",
  "args": ["-m", "piia_engram.mcp_server"]
}
Codex (OpenAI)

Adicione a ~/.codex/config.toml (o arquivo que engram setup escreve para Codex):

[mcp_servers.engram]
command = "python"
args = ["-m", "piia_engram.mcp_server"]

Nota do manifesto do plugin (Codex CLI 0.130.0+): o piia-engram inclui um .claude-plugin/plugin.json cujo esquema também é reconhecido pelo Codex CLI. A instalação nativa do plugin com um único comando via fluxo de marketplace do Codex ainda não é suportada (o Codex espera um manifesto de marketplace com múltiplos plugins na raiz do repositório, o que entraria em conflito com o manifesto de plugin único usado por outras ferramentas). Por enquanto, configure o Codex por meio do snippet ~/.codex/config.toml acima — é o caminho suportado e funciona em todas as versões do Codex.

Claude Desktop

Adicione ao claude_desktop_config.json (Windows: %APPDATA%\Claude\; macOS: ~/Library/Application Support/Claude/):

{
  "mcpServers": {
    "engram": {
      "command": "python",
      "args": ["-m", "piia_engram.mcp_server"]
    }
  }
}
Windsurf / Copilot / Cline / Outros clientes MCP

Qualquer ferramenta que suporte MCP via stdio funciona. Use esta configuração:

{
  "mcpServers": {
    "engram": {
      "command": "python",
      "args": ["-m", "piia_engram.mcp_server"]
    }
  }
}

Para ferramentas sem suporte a MCP (ChatGPT, Gemini, Kimi): execute get_identity_card em qualquer ferramenta MCP e cole o cartão Markdown exportado no seu chat.

IDEs de IA domésticas — Trae / CodeBuddy / Tongyi Lingma / Comate / Qoder

O engram setup detecta Trae (~/.trae/mcp.json) e Tencent CodeBuddy (~/.codebuddy/mcp.json) sem alterar esses arquivos por padrão. Para permitir que o Engram grave esses arquivos padrão mcpServers para você, execute engram setup --apply-external-config; o arquivo anterior é copiado como backup na pasta de dados do Engram selecionada primeiro.

Tongyi Lingma (通义灵码), Baidu Comate (文心快码) e Qoder gerenciam servidores MCP por meio do painel MCP do aplicativo (ou de uma configuração no nível do projeto), então o assistente não pode gravá-los para você. Abra as configurações de MCP da ferramenta e cole:

{
  "mcpServers": {
    "engram": {
      "command": "python",
      "args": ["-m", "piia_engram.mcp_server"]
    }
  }
}

Alternativa sem instalação (sem necessidade de pip install prévio) — defina "command": "uvx" e "args": ["--from", "piia-engram", "piia-engram-mcp"]. Todos falam o mesmo protocolo padrão MCP-over-stdio.

Verifique sua configuração

Após a configuração, execute engram doctor para verificar se tudo está conectado:

$ engram doctor

  Detected 3 AI tool(s):
    [ok] Claude Code — Engram configured
    [ok] Cursor — Engram configured
    [ok] Codex — Engram configured

  [ok] All configured tools look healthy.

  ── Functional Checks ──
    [ok] piia_engram.core importable
    [ok] Engram initialized (~/.engram)
    [ok] Identity loaded (role: Senior Backend Developer)
    [ok] quick_context.md ready (4096 bytes)
    [ok] MCP server: 19 tools registered

  -- Terminal encoding --

    [ok] stdout/stderr: utf-8 / utf-8
    [ok] PYTHONIOENCODING not set (stdout/stderr already UTF-8)
    [ok] Runtime encodings: preferred=UTF-8, filesystem=utf-8

  -- Config Integrity --

    [ok] MCP configs: 3/13 files found, 3 configured
    [ok] Instruction files: 3/4 found, 3 fresh
    [ok] Project rule files: 1 found
    [ok] Shared instructions: 1 found
    [ok] Claude hooks: 4/4 registered
    [ok] Report is metadata-only (hashes + counts; no rule bodies)

  -- Continuity --

    [--] No saved agent sessions yet
         Run an AI session, then wrap up or stop the tool to create one.
    [ok] Resume brief builds (2 section(s))

Para verificações de compatibilidade legíveis por máquina, execute engram capabilities --json. Ele relata códigos de capacidade estáveis e versões de contrato sem ler a memória do usuário ou o conteúdo do projeto; o MCP doctor(output_format="json") inclui a mesma impressão digital.

Atualização

pip install --upgrade piia-engram

Após a atualização, o piia-engram migra automaticamente quaisquer configurações MCP desatualizadas na próxima vez que o servidor iniciar (modo stdio). Se sua ferramenta de IA ainda mostrar um erro de "MCP desconectado" após reiniciar, execute:

piia-engram doctor        # show what's wrong
piia-engram doctor --fix  # auto-repair and fix in one step

Em seguida, reinicie a ferramenta de IA afetada. O comando doctor verifica Claude Code, Cursor, Codex, Windsurf, Claude Desktop e locais de configuração MCP com suporte da comunidade, remove entradas de servidor obsoletas e imprime um resumo de integridade da configuração apenas com metadados.

Implantação Remota

Execute o piia-engram no seu próprio servidor e conecte-se de qualquer lugar.

Configuração do Servidor

# Install with remote support
pip install piia-engram[remote]

# Generate an auth token
python -c "import secrets; print(secrets.token_urlsafe(32))"
# Save the output, e.g. "abc123..."

# Start in SSE mode
ENGRAM_AUTH_TOKEN=abc123... python -m piia_engram.mcp_server --transport sse --host 0.0.0.0 --port 8767

Configuração do Cliente (Claude Code)

{
  "mcpServers": {
    "engram": {
      "url": "http://your-server:8767/sse",
      "headers": {
        "Authorization": "Bearer abc123..."
      }
    }
  }
}

Configuração do Cliente (Cursor)

{
  "mcpServers": {
    "engram": {
      "url": "http://your-server:8767/sse",
      "headers": {
        "Authorization": "Bearer abc123..."
      }
    }
  }
}

Notas de segurança:

  • Sempre use HTTPS em produção, atrás de nginx ou caddy com TLS.
  • O token de autenticação protege seus dados de identidade. Mantenha-o em segredo.
  • O bind padrão é 127.0.0.1 apenas para localhost. Use 0.0.0.0 somente atrás de um proxy reverso.
  • Defina ENGRAM_CORS_ORIGINS para restringir o acesso entre origens (por exemplo, https://your-domain.com).
  • Os dados permanecem no seu servidor e nunca tocam nuvens de terceiros.

Ferramentas MCP

O piia-engram inclui 59 ferramentas MCP. Por padrão, apenas as 19 ferramentas Tier-1 Core são carregadas para manter o contexto da IA limpo. "Core" significa "usadas na maioria das sessões", não "somente leitura": algumas ferramentas core gravam memória local ou arquivos de exportação controlados pelo proprietário, e a camada de governança ainda controla esses efeitos colaterais. Cada ferramenta também carrega dicas MCP padrão (somente leitura, destrutiva, idempotente, mundo aberto) para o cliente; elas são conselhos, não controle de acesso, que permanece com o modo estrito e a governança. Para a visão curta do operador, consulte a folha de referência MCP. Para desbloquear todas as 59 ferramentas, adicione ENGRAM_TOOLS=all à sua configuração MCP:

Você também pode expor modos de capacidade compostos, como gerenciamento de conhecimento, governança, administração ou integrações; consulte o guia de modos de capacidade.

{
  "mcpServers": {
    "engram": {
      "command": "python",
      "args": ["-m", "piia_engram.mcp_server"],
      "env": { "ENGRAM_TOOLS": "all" }
    }
  }
}

Importação de outras ferramentas de IA: o Engram nunca lê a memória ou os arquivos de regras de outras ferramentas de IA por conta própria: nem na inicialização do servidor, nem na inicialização a frio, nem no final da sessão. Execute engram import-memories para trazê-los; ele lista o que encontrou primeiro (--dry-run para por aí), depois os adiciona à fila de revisão após sua confirmação e grava um recibo em import_receipts/ no armazenamento. ENGRAM_MCP_STARTUP_SYNC ainda é aceito, mas não faz mais nada; ENGRAM_RECONCILE=0 desativa completamente a leitura dos arquivos de outras ferramentas de IA. ENGRAM_EPHEMERAL=1 pula a verificação de configuração na inicialização em clientes de contêiner/efêmeros.

A inicialização do MCP nunca importa memórias de outras ferramentas nem altera o conteúdo de conhecimento ou identidade. As ferramentas de inicialização e leitura ainda podem gravar checkpoints de sessão, registros de uso, registros de auditoria e metadados de acesso; elas não são operações de zero gravação.

Tier-1 Core (19 ferramentas — fluxo de trabalho diário)

FerramentaFinalidade
get_user_contextInicialização — Carrega identidade + conhecimento no início da sessão (suporta token_budget para controle de tamanho de contexto)
wrap_up_sessionFim da sessão — Salva insights + sincroniza no final da sessão
memory_storeWriteback — Endpoint de gravação unificado: roteia para add_lesson / add_decision / add_playbook por kind
add_lessonArmazena uma lição aprendida reutilizável
add_decisionRegistra uma decisão importante com justificativa
add_playbookRegistra um playbook operacional (procedimento de várias etapas com palavras-chave de gatilho)
search_knowledgeRecuperação — Pesquisa lições, decisões e playbooks (suporta filters_json para filtragem por domínio/nível/data)
get_relevant_knowledgeEncontra conhecimento relevante para o projeto atual
get_recallRetorna um payload de recall com identidade estruturada + atividade recente + conhecimento relevante
get_knowledge_historyLê o histórico de revisões de um item (snapshots substituídos; consulta exata por versão)
get_identity_cardExportação controlada pelo proprietário: grava e retorna um cartão de identidade Markdown para ferramentas não MCP
update_identityPropõe mudanças de identidade, preferência ou padrão de qualidade para revisão local (todos os modos)
get_project_contextLê um snapshot de projeto salvo
save_project_snapshotPersiste o estado do projeto para sessões futuras
get_recent_contextRecupera o contexto de sessão perdido após reiniciar
get_daily_logLê uma linha do tempo do projeto legível por humanos para um dia
get_resume_briefCria um resumo de retomada entre sessões/ferramentas
get_wrap_up_session_statusConsulta uma operação de encerramento pela sua chave de idempotência antes de tentar novamente
doctorExecuta o autodiagnóstico do sistema de memória

Tier-2 Avançado (40 ferramentas — gerenciamento de conhecimento, revisão, governança, importação/exportação)

As ferramentas avançadas incluem integrações locais opcionais, superfícies de proprietário/admin e utilitários de manutenção. Ferramentas que exportam arquivos, importam armazenamentos inteiros, geram páginas de revisão ou alteram a confiança do chamador são superfícies de proprietário/admin/exportação, mesmo quando são capacidades de produto amplamente úteis. Operações relacionadas são consolidadas em ferramentas únicas com um seletor mode/action (v4.0).

Clique para expandir a lista completa de ferramentas
FerramentaFinalidade
register_toolIntegração local opcional com gravação governada: registra uma ferramenta local, runtime ou CLI no mapa de ambiente
find_toolIntegração local opcional: consulta uma ferramenta local registrada pelo nome
list_toolsIntegração local opcional: lista ferramentas locais registradas (opcionalmente filtra por categoria)
save_agent_contextSalva o checkpoint da sessão de IA (também é executado automaticamente)
list_agent_sessionsNavega pelos registros de sessão salvos entre ferramentas
refresh_quick_contextAtualiza o snapshot local quick_context.md para uso offline/entre ferramentas
get_identity_facetsLê facetas de identidade via facet: perfil, preferências, trust_boundaries, work_style, quality_standards, domínios ou todos
user_portraitaction: obter / salvar / comparar o retrato do usuário mantido pela IA
preview_context_governanceVisualização avançada controlada pelo proprietário: cria propostas de contexto seguro, frescor/conflito, replay ou evidência sem aplicar mudanças
get_playbooksLeituras de playbook via mode: listar, obter (conteúdo completo), recentes, gerenciamento (incl. metadados arquivados/excluídos)
manage_playbookCiclo de vida do playbook via action: atualizar, arquivar, excluir, restaurar (mutações permanecem com confirmação e precisam de expected_version)
playbook_executionExecução guiada via action: preparar um plano de etapas, update_step, resumo de status (referência passiva; sem execução automática)
get_lessonsLista lições aprendidas reutilizáveis
get_decisionsLista decisões importantes; thread_seed_id / history_question reconstroem threads de decisão e histórico de revisões
get_knowledge_inheritanceCria um pacote inicial de conhecimento entre projetos
list_projectsLista snapshots de projeto salvos
extract_session_insightsExtrai lições e decisões do texto da sessão
ingest_notesAnalisa notas de formato livre em conhecimento estruturado
update_knowledgeAtualiza uma lição, decisão ou playbook por ID (precisa de expected_version)
archive_knowledgeArquivar uma lição, decisão ou playbook por ID (precisa de expected_version)
confirm_knowledgeCarimbo de confirmação exclusivo do proprietário via proveniência humana, de teste ou âncora
onboard_repoVarredura de repositório exclusiva do proprietário: cria candidatos de fatos de repositório em estágio a partir de âncoras
onboard_acceptSomente local: aceitar um candidato de onboarding é engram onboard-accept <id>; via MCP responde local_review_only e não grava nada
check_anchorsRevalidação exclusiva do proprietário para fatos existentes baseados em âncoras
merge_knowledgeMescla um duplicado no item primário (precisa das versões de ambos os itens)
manage_relationaction: vincular / desvincular — gerencia relações tipadas entre itens de conhecimento (threads de decisão)
explore_knowledgeExploração do grafo de conhecimento via mode: related, similar, merge_candidates
get_knowledge_overviewResumo de conhecimento, relatório de saúde, verificações de desatualização
get_stale_knowledgeLista itens que precisam de revisão
review_stagingRevisão em estágio via action: listar pendentes, visualização em lote (dry_run=true), review_item. Aprovar, rejeitar ou arquivar itens pendentes é somente local (engram review); via MCP responde local_review_only
export_knowledge_reportExportação controlada pelo proprietário: grava um relatório de conhecimento Markdown legível
request_outline_reviewExportação controlada pelo proprietário: gera uma página HTML de revisão local interativa
export_engramExportação controlada pelo proprietário: grava um backup completo (format="openclaw" para arquivos compatíveis com OpenClaw)
import_engramVisualização de importação exclusiva do proprietário/admin (dry_run=True): um plano de mesclagem/conflito apenas com metadados (format="openclaw" suportado). Aplicar uma importação é local: engram import <backup.json> --apply --yes (OpenClaw: engram import --format openclaw ... --apply --yes)
read_web_contentBusca uma URL fornecida pelo usuário: prefere um sidecar local se estiver em execução, caso contrário usa o leitor integrado autocontido (pip install "piia-engram[reader]")
get_audit_logObtém entradas recentes do log de auditoria
start_projectInicia um projeto com conhecimento herdado
get_permission_profileVisualiza os níveis de confiança e limites de acesso de todos os chamadores
manage_caller_trustProprietário/admin action: conceder / revogar o nível de confiança de um chamador
export_feedback_reportFeedback do mantenedor: gera um relatório de feedback agregado anônimo

A migração de escopo do Playbook legado (classificar / aplicar / reverter / fila de revisão) saiu da superfície MCP para a CLI local exclusiva do proprietário: engram playbook scope classify|apply|rollback|queue|resolve (visualiza por padrão; gravações exigem --apply --yes).

Extração Automática de Playbook

piia-engram pode detectar fluxos de trabalho de várias etapas que você conclui durante uma sessão e redigir automaticamente playbooks estruturados — sem necessidade de registro manual.

Como Funciona

  1. Detecção — Quando você chama wrap_up_session ou save_agent_context, o piia-engram verifica sinais de fluxo de trabalho processual: etapas de checkpoint, verbos de ação e palavras-chave de gatilho.
  2. Geração de rascunho — Se um fluxo de trabalho for detectado, um rascunho de playbook é criado com etapas, armadilhas, palavras-chave de gatilho e pré-condições. Informações sensíveis (chaves de API, tokens, caminhos absolutos) são automaticamente ocultadas antes do armazenamento.
  3. Preparação — O rascunho é salvo em uma área de preparação, nunca promovido automaticamente para verificado. Você revisa e confirma antes que ele se torne um playbook confiável.
  4. Contrato de esquema — Os playbooks armazenados são normalizados em um contrato versionado: palavras-chave de gatilho, pré-condições, armadilhas, etapas estruturadas e declarações opcionais de required_tools. Rascunhos simples permanecem revisáveis, mas carregam avisos de qualidade legíveis por máquina.
  5. Resolução de ferramentas — Os playbooks declaram necessidades de ferramentas por nome ou propósito, enquanto os caminhos locais permanecem no registro de ferramentas. playbook_execution (ação prepare) retorna resolved_tools, tools_ready e missing_tools em tempo de execução para que a IA do host possa ver quais ferramentas locais estão disponíveis sem armazenar caminhos resolvidos no Playbook.
  6. Reutilização e resultado — Na próxima vez que uma ferramenta de IA encontrar uma tarefa semelhante, search_knowledge corresponde às palavras-chave de gatilho e retorna o playbook como referência passiva. A IA do host percorre as etapas com você e playbook_execution (ação status) relata um resumo de resultado (pending, partial, succeeded ou failed) em vez de tratar etapas ignoradas como sucesso silencioso.

Filosofia de Design: Engram Inicia, Você Confirma, IA Aplica

A extração automática de playbooks não é totalmente automática. O piia-engram detecta o fluxo de trabalho e gera um rascunho preliminar — mas o rascunho permanece em preparação até que você o confirme explicitamente. Uma vez confirmado, as ferramentas de IA podem usar o playbook como uma referência passiva e governada e registrar os resultados das etapas; o Engram não executa silenciosamente o fluxo de trabalho por elas. Isso mantém os humanos no controle para o controle de qualidade, eliminando o trabalho manual de escrever procedimentos operacionais.

Níveis de Confiança

NívelSinalComportamento da IA
alto3+ etapas de checkpoint de save_agent_contextA IA notifica você: "Fluxo de trabalho reutilizável detectado, rascunho de playbook gerado."
médioDetecção baseada em texto (palavras-chave de gatilho + verbos de ação)A IA salva silenciosamente em preparação, sem notificação.

Ocultação de Informações Sensíveis

Antes que qualquer rascunho seja armazenado, o piia-engram oculta automaticamente:

  • Chaves de API e tokens (Bearer, sk-, ghp_, etc.)
  • Caminhos de arquivo absolutos (Windows e Unix)
  • Endereços de e-mail
  • Segredos de variáveis de ambiente

Interruptor de Desativação

Os usuários podem desativar ou reativar a extração automática de playbooks a qualquer momento:

  • Desativar: Diga à sua IA "关闭 playbook" / "stop playbook" / "disable playbook auto-extraction"
  • Ativar: Diga à sua IA "开启 playbook" / "start playbook" / "enable playbook auto-extraction"

A IA pode propor uma alteração de playbook_auto_extract com update_identity(field="preferences", ...); ela só entra em vigor após você aprová-la localmente com engram review. O padrão é ativado.

Criação Manual de Playbooks

Você sempre pode criar playbooks manualmente com add_playbook, independentemente da configuração de extração automática. O interruptor de desativação afeta apenas a detecção automática durante wrap_up_session.

Layout de Dados

~/.engram/
|-- schema_version.json
|-- identity/
|   |-- profile.json
|   |-- preferences.json
|   |-- quality_standards.json
|   `-- trust_boundaries.json
|-- knowledge/
|   |-- lessons.json
|   |-- decisions.json
|   `-- domains.json
|-- playbooks/
|   |-- _index.json
|   `-- {playbook_id}.json
|-- tools/
|   `-- registry.json
|-- projects/
|   `-- {project_id}.json
|-- contexts/
|   `-- {tool_name}/
|       `-- {session_id}.md
|-- exports/
`-- compat/
    `-- openclaw/

Possua e exporte seus dados

Tudo vive em JSON local que você possui — inspecione, edite, faça backup ou exclua diretamente. Três caminhos de exportação explícitos, cada um com um limite diferente:

DesejoFerramentaO que inclui
Um cartão portátil para colar no ChatGPT/Gemini/Kimiget_identity_cardMarkdown selecionado: quem você é, como você trabalha, lições/decisões verificadas recentes. Exclui conhecimento bruto de arquivos de configuração e limita itens recentes.
Um relatório de conhecimento legívelexport_knowledge_reportLições/decisões ativas agrupadas por domínio/mês (Markdown).
Um backup local completoexport_engram / import_engram(dry_run=True) / engram import <backup.json>Todo o armazenamento como JSON. Trate o arquivo como sensível — é um backup completo, incluindo itens em preparação e rotulados. Visualize as importações primeiro para ver contagens de adição/ignoração/conflito sem gravar dados.
Arquivos OpenClawexport_engram (format="openclaw")SOUL.md / MEMORY.md / USER.md.
Um resumo AGENTS.md/CLAUDE.md passível de commitengram export-agents-mdSomente lições/decisões verificadas e não sensíveis, como um bloco de resumo. Itens em preparação e sensíveis são excluídos por construção; recusa sobrescrever um arquivo existente.

As exportações são controladas pelo proprietário quando ENGRAM_GOVERNANCE=1 (veja docs/governance.md). Não há cópia em nuvem e nenhuma memória oculta: o que você exporta é exatamente o que está no seu disco.

Limites de armazenamento. Memórias revisadas nunca são movidas para fora porque o armazenamento está cheio; as não revisadas aguardam em uma fila de revisão por pelo menos 7 dias, e qualquer coisa movida para fora vai para um arquivo de estouro somente anexação do qual você pode restaurar (engram retention plan mostra as contagens, engram retention restore <id> traz uma entrada de volta).

Soberania de dados local. Backup e restauração cobrem apenas o diretório Engram — engram backup-plan imprime uma lista somente de metadados do que copiar antes de uma atualização (não lê corpos de conhecimento armazenados e nunca alcança fora da raiz do Engram). Para backups JSON, import_engram(..., dry_run=True) ou engram import <backup.json> retorna um plano de mesclagem somente de metadados com contagens de adição/ignoração/conflito antes de qualquer gravação; aplicá-lo é apenas local: engram import <backup.json> --apply --yes (via MCP, import_engram apenas visualiza). Lições com o mesmo resumo e decisões com a mesma pergunta com campos semânticos divergentes são visualizadas como candidatas a cadeia de versões; elas são materializadas somente quando o proprietário executa explicitamente engram import <backup.json> --apply --yes --materialize-version-chain. O Engram nunca faz backup, modifica ou exclui arquivos em suas pastas de projeto. Veja docs/runbooks/setup-upgrade-safety.md.

Comparação

Recursopiia-engramClaude MemoryManual CLAUDE.mdMem0Letta (MemGPT)
Propósito principalIdentidade do usuário entre ferramentasMemória por conversaNotas por projetoMemória vetorial de agenteMemória de autoedição de agente
Entre ferramentas por design✅ Nativo MCP (19 ferramentas principais)❌ Somente Claude❌ específico de ferramenta⚠ requer configuração por ferramenta⚠ requer configuração por ferramenta
ArmazenamentoJSON local em ~/.engram/NuvemLocalBanco vetorial + Mem0 CloudPostgres ou Letta Cloud
Local-first por padrão✅❌✅⚠ Nuvem é o padrão⚠ Nuvem é o padrão
Criptografia em repouso✅ AES-256-GCM, PBKDF2 600k (opt-in)depende da Nuvem❌ Markdown simplesdepende da configuração do armazenamentodepende da configuração do Postgres
Camadas de conhecimento✅ alto risco em preparação; modo estrito bloqueia tudo❌❌❌❌
Detecção de conflitos✅❌❌❌❌
Nativo MCP✅n/an/a⚠ terceiros⚠ terceiros
PreçoGratuito, AGPL-3.0Incluído na assinaturaGratuitoGratuito / camadas de NuvemGratuito / camadas de Nuvem

📊 Para a comparação completa lado a lado, incluindo quando escolher um concorrente em vez do piia-engram, veja docs/comparison.md.

Construído Com

O piia-engram é um projeto de código aberto dirigido por humanos e assistido por IA.

ColaboradorPapel
@PatdolitseCriador, direção de produto, estratégia, propriedade
Claude CodeArquitetura, planejamento de tarefas, assistência de revisão de código
CodexImplementação, testes, assistência de documentação

FAQ

Qual servidor MCP me permite compartilhar memória entre Claude Code e Cursor? O piia-engram. Instale com pip install piia-engram && engram setup, e ambas as ferramentas leem a mesma identidade, preferências e lições de ~/.engram/. Sem nuvem, sem serviço de sincronização — ambas leem arquivos JSON locais via MCP.

O que é o piia-engram? O piia-engram é uma camada de identidade de trabalho de IA local-first para ferramentas de codificação compatíveis com MCP. Ele armazena sua identidade, preferências, padrões de código, lições aprendidas e decisões-chave como arquivos JSON locais na sua máquina. Ferramentas configuradas (Claude Code, Codex, Cursor, Windsurf, Claude Desktop) podem ler o mesmo contexto de propriedade do usuário, para que novos chats e trocas de ferramentas possam começar a partir da mesma base de memória e identidade governada.

Como o piia-engram é diferente do servidor de memória MCP oficial? O @modelcontextprotocol/server-memory oficial armazena um grafo de conhecimento genérico de entidades e relações. O piia-engram é especializado em identidade de desenvolvedor: ele tem campos estruturados para seu perfil, padrões de código, barra de qualidade, lições aprendidas e decisões-chave — além de 59 ferramentas para gerenciamento do ciclo de vida do conhecimento (busca, revisão, mesclagem, herança entre projetos). Se você precisa de memória de entidade de propósito geral, use o servidor oficial. Se você quer que ferramentas de codificação compatíveis com MCP comecem a partir da mesma compreensão aprovada de suas preferências e erros passados, use o piia-engram.

Como o piia-engram é diferente de ferramentas de memória de agente como Mem0, Zep ou Letta? Essas ferramentas armazenam contexto de tarefa e histórico de sessão para agentes de IA — o que aconteceu durante um fluxo de trabalho. O piia-engram armazena quem você é como pessoa — sua identidade, preferências, lições difíceis e decisões-chave. É uma camada diferente: a identidade persiste entre ferramentas, sessões e projetos, enquanto a memória de tarefa é limitada a uma única execução de agente. Seus dados são arquivos JSON locais que você possui e pode editar diretamente.

Por que não usar apenas AGENTS.md / CLAUDE.md / .cursorrules? Esses arquivos de configuração são ótimos para regras específicas de repositório (etapas de build, convenções de codificação). O piia-engram é para você — suas preferências, lições e decisões que podem acompanhá-lo entre repositórios e ferramentas compatíveis com MCP configuradas. Eles se complementam: use AGENTS.md para o projeto, piia-engram para a pessoa. Veja a comparação completa em docs/comparison.md.

Posso usar o piia-engram com várias ferramentas de IA ao mesmo tempo? Sim. Esse é o caso de uso principal. O piia-engram usa armazenamento de arquivos local (~/.engram/) com gravações atômicas e bloqueio de arquivos. Claude Code, Cursor, Codex e qualquer outro cliente MCP podem se conectar simultaneamente. Uma lição registrada no Claude Code está imediatamente disponível no Cursor.

Quais ferramentas de IA o piia-engram suporta? Qualquer ferramenta compatível com MCP: Claude Code, OpenAI Codex, Cursor, Claude Desktop, Windsurf, GitHub Copilot, Cline, Roo Code, Amazon Q, Augment, Zed e mais. Para ferramentas sem suporte MCP (ChatGPT, Gemini, Kimi), exporte um cartão de identidade Markdown com get_identity_card e cole-o.

Onde meus dados são armazenados? Todos os dados vivem em ~/.engram/ na sua máquina local como arquivos JSON e Markdown simples. Sem nuvem, sem conta, sem assinatura. Você pode abrir, editar, fazer backup ou migrar os arquivos você mesmo. Criptografia opcional AES-256-GCM está disponível via pip install piia-engram[secure].

Como instalo o piia-engram?

pip install piia-engram
engram setup

O assistente de configuração detecta suas ferramentas de IA sem alterar seus arquivos de configuração por padrão. Para configurar automaticamente entradas MCP com backups, execute engram setup --apply-external-config e reinicie sua ferramenta de IA. A IA chamará get_user_context no início de cada sessão.

Após a atualização, minha ferramenta de IA mostra "MCP server disconnected". Como corrijo? Execute engram doctor --fix em um terminal e reinicie sua ferramenta de IA. Este comando verifica todos os arquivos de configuração MCP conhecidos, remove entradas de servidor desatualizadas e repara caminhos quebrados em uma única etapa. O piia-engram envia dados para a nuvem? Suas memórias nunca saem da sua máquina. O Engram envia um ping anônimo de uso por dia por padrão (ID de instalação aleatório, versão, SO, versão do Python, nome do cliente de IA, data). Nenhum conteúdo, prompt ou caminho de arquivo é enviado; endereços IP não são armazenados. Desative com engram telemetry off, ENGRAM_TELEMETRY=0 ou DO_NOT_TRACK=1 (está desativado em CI e em contêineres); engram telemetry preview mostra o payload exato. A configuração exibe um aviso informativo sem perguntar sobre telemetria. Estatísticas detalhadas permanecem desativadas, a menos que sejam explicitamente habilitadas com engram telemetry on; envio remoto (engram telemetry remote on) e feedback semanal (engram telemetry feedback on) exigem aceites separados. A configuração preserva as escolhas existentes. Consulte PRIVACY.md.

Quantas ferramentas MCP o piia-engram fornece? Dois níveis, projetados para que a maioria dos usuários veja apenas 19 ferramentas:

NívelFerramentasO que fazemCarregado por
Núcleo19Identidade, leitura/escrita de conhecimento, contexto de projeto, recuperação de sessão, diagnósticosPadrão
Avançado40Revisão de conhecimento, mesclagem, threads de decisão, gerenciamento de permissões, registro de ferramentas, importação/exportação, auditoriaENGRAM_TOOLS=all

A maioria dos usuários nunca precisa habilitar as ferramentas Avançadas — o Núcleo cobre o uso diário.

O piia-engram é gratuito? Sim. O núcleo de código aberto é software livre sob AGPL-3.0. O uso pessoal/local não tem assinatura, nível de nuvem ou bloqueio de fornecedor. Se você planeja incorporação de código fechado, redistribuição hospedada ou empacotamento empresarial, revise as obrigações da AGPL primeiro; o piia-engram atualmente não oferece uma licença comercial separada.

Limitações

O piia-engram é funcional e ativamente usado, mas algumas coisas que ele intencionalmente ainda não faz:

ÁreaEstado AtualPlanejado
Segurança de arquivosGravações JSON atômicas com bloqueio de arquivo portalocker compartilhadoTestes de estresse mais amplos
Controle de acessorestricted_fields filtra a saída do perfil. Governança opcional de agentes (ENGRAM_GOVERNANCE=1) adiciona portões de leitura/escrita por nível de confiança, controles de exportação/importação somente do proprietário e um livro-razão de divulgação encadeado por hash. Consulte docs/governance.md.Vinculação mais forte de identidade do chamador requer suporte MCP/cliente
CriptografiaCriptografia opcional AES-256-GCM em nível de campo via variável de ambiente ENGRAM_SECRET. Instale pip install piia-engram[secure].Criptografia de disco completo para todos os arquivos (v4.0)
Registro de auditoriaRegistro de auditoria de acesso local ativado por padrão em ~/.engram/audit.log; opte por sair com ENGRAM_AUDIT=0. Apenas arquivo local — nunca enviado a lugar algum.Auditoria por chamador (bloqueada pela especificação MCP)
Identidade do chamadorO protocolo MCP não transmite identidade da ferramentaBloqueado pela especificação MCP
Gravações concorrentesProtegido por bloqueio de arquivo + substituição atômica para gravações JSON do piia-engramCasos extremos de sistema de arquivos de rede não garantidos

O que isso significa na prática:

  • Não armazene senhas, chaves de API ou PII de clientes no piia-engram
  • Qualquer processo com acesso de leitura a ~/.engram/ pode ler seus dados
  • restricted_fields reduz o que o piia-engram emite no contexto de inicialização a frio, mas não é criptografia nem uma ACL verdadeira

Isso não é um aviso para evitar o piia-engram — é uma descrição honesta do que ele é: uma camada de memória local para contexto pessoal de IA. Para uso pessoal, funciona bem hoje.

Configuração de Segurança

Criptografia em nível de campo (opcional)

Criptografe campos sensíveis do perfil (e-mail, telefone, localização, etc.) em repouso:

pip install piia-engram[secure]
export ENGRAM_SECRET="your-strong-passphrase"

Campos criptografados são armazenados como enc:v2:... em arquivos JSON; valores legados enc:v1:... ainda são descriptografados. Sem ENGRAM_SECRET, o piia-engram funciona normalmente com texto simples (compatível com versões anteriores).

Registro de auditoria (ativado por padrão)

Um registro de auditoria local registra todas as operações de leitura/escrita em ~/.engram/audit.log no formato JSON-lines. É um arquivo local apenas — nunca enviado a lugar algum. Consulte com a ferramenta get_audit_log ou grep.

Para optar por sair:

export ENGRAM_AUDIT=0

Governança de agentes (avançado, opcional)

Habilite níveis de confiança por chamador e recibos de divulgação:

export ENGRAM_GOVERNANCE=1
export ENGRAM_CLIENT_TYPE=claude_code

A governança está desativada por padrão. Quando habilitada, agentes de codificação locais conhecidos são filtrados para conhecimento público/de trabalho, chamadores desconhecidos falham fechados para somente público, e exportações/importações/alterações de concessão somente do proprietário exigem private-self. Consulte docs/governance.md para os níveis exatos de confiança, portões, limites honestos e comandos do livro-razão.

Roteiro recomendado: mantenha o padrão global compatível, mas habilite a governança em cada ambiente de cliente MCP quando usar o Engram em várias ferramentas de IA, automação ou qualquer ponte voltada para remoto. engram status e engram doctor relatam se esta camada está ativa. A identidade do chamador ainda é fornecida por variáveis de ambiente MCP, não por autenticação criptográfica, então a governança é um limite prático de política local, não um sandbox endurecido.

Comandos CLI

engram setup            # Interactive install wizard (confirms before writing client configs)
engram setup --apply-external-config  # Skip the confirm prompt (non-interactive/CI); writes with backups
piia-engram doctor           # Check config health + governance state
piia-engram status           # Redacted install + memory/governance summary
piia-engram status --html    # Write a local redacted status page
piia-engram preview          # Show what a simulated AI caller would receive (--as ROLE, --level, --html)
piia-engram continuity       # Prove cross-tool handoff readiness (metadata only)
piia-engram management       # Show a metadata-only review/playbook management view
piia-engram doctor --fix     # Auto-repair any issues found
piia-engram sessions         # List saved cross-tool agent sessions
piia-engram sessions show <id>  # Print one saved session
piia-engram review           # List staging knowledge awaiting review
piia-engram review interactive  # Decide pending proposals one at a time (a/r/s/k/v/q, confirm with y)
piia-engram review show <id> # Inspect one review item
piia-engram review approve <id> --yes  # Promote a staging item
piia-engram review archive <id> --yes  # Archive a review item
piia-engram management action review approve <id> --yes --json  # Structured metadata-only action receipt
piia-engram management action playbook delete <id> --yes --json # Soft-delete a Playbook without body echo
piia-engram management action playbook_scope accept_project <id> --project . --yes --json # Resolve ambiguous Playbook scope
piia-engram management action playbook_scope accept_shared <id> --project ./app-a --project ./app-b --yes --json # Share one Playbook with selected projects
piia-engram dock-status      # Zero-write Dock owner-console status (--json)
piia-engram repair-encoding  # Dry-run scan for garbled / mojibake text
piia-engram repair-encoding --apply  # Repair reversible cases with a backup
piia-engram backup-plan      # Metadata-only plan of what to copy before upgrading (local-only)
piia-engram retention plan   # Read-only: memory counts per pool and what the next write would archive
piia-engram export-agents-md # Export verified, non-sensitive knowledge as an AGENTS.md/CLAUDE.md block
piia-engram stats            # Show project growth metrics (GitHub + PyPI)
piia-engram stats --log      # Append stats snapshot to local log
engram telemetry        # Manage the daily usage ping and opt-in detailed statistics
engram privacy          # Show what data piia-engram stores and where

Contribuindo

Contribuições, problemas e feedback são bem-vindos.

Consulte CONTRIBUTING.md.

Licença

AGPL-3.0. O piia-engram é software livre. Sua identidade de trabalho de IA e memória pertencem a você.