Como Trocar Entre Claude Code e Codex Sem Perder o Contexto
Situação familiar: você está no terminal com o Claude Code, depurando um bug complicado em uma fila distribuída por uma hora e meia, tentou cinco hipóteses que não funcionaram, e finalmente encontrou a solução certa. Então a sessão cresce, o contexto comprime, ou os limites são atingidos. Você muda para o Codex ou OpenCode na mesma pasta, e o caos começa. O novo assistente precisa ser informado do zero: por que você não pode mexer no config do NGINX, quais testes já falharam, e qual estrutura de banco de dados escolhemos há vinte minutos.
O projeto ai-memory visa resolver esse problema de uma vez por todas. Foi criado por Fabio Akita (conhecido na comunidade como AkitaOnRails). A ideia é dar aos agentes de IA no console memória compartilhada de longo prazo e transferência automática de contexto entre sessões e diferentes modelos.
Qual é o conceito
Normalmente, "memória de IA" significa um banco de dados vetorial onde logs brutos de diálogo são despejados como embeddings. Na prática, esses logs estão cheios de lixo: chamadas de ferramentas intermediárias, execuções de testes repetidas, erros de sintaxe.
O autor do ai-memory seguiu um caminho diferente, inspirado no conceito de Wiki LLM do Karpathy. Aqui, a memória é estruturada como uma wiki comum feita de arquivos Markdown em um repositório Git. O servidor intercepta eventos de ciclo de vida do agente, limpa-os de ruído desnecessário e compila um resumo comprimido no final da sessão: o que foi feito, quais conclusões foram alcançadas, quais tarefas permanecem abertas.
Quando você abre um novo terminal com um agente diferente, a ferramenta alimenta automaticamente um resumo estruturado logo antes do primeiro prompt. Sem copiar manualmente para a área de transferência.
Por baixo dos panos e no terminal
O servidor é escrito em Rust. Ele inicia um serviço local com suporte a MCP (Model Context Protocol), ganchos de ciclo de vida e uma interface web integrada.
Suporta praticamente todos os CLIs de agentes atuais:
- Claude Code
- OpenAI Codex
- Command Code
- Devin CLI
- OpenCode, Cursor, Zed
- Gemini CLI, Grok Build CLI, Kimi Code, Kiro CLI, Pi / OMP
Os dados são armazenados localmente em um único diretório:
<data_dir>/
├── wiki/ # Markdown-страницы под версионным контролем Git
├── raw/ # очищенные сегменты сессий
├── db/ # SQLite с индексами FTS5, сущностями и эмбеддингами
└── logs/ # логи работы
Cada projeto é isolado pelo caminho do repositório ou via um arquivo marcador .ai-memory.toml. Se você trabalha com um monorepo ou múltiplos worktrees Git, eles são vinculados em um contexto unificado.
Principais funcionalidades na prática
Troca perfeita entre agentes
O ai-memory tem modo de sessão gerenciada ai-memory run. Funciona simplesmente assim:
cd /path/to/project
ai-memory run claude
# Закончили работу в Claude Code, продолжаем задачу в Codex:
ai-memory run codex --yolo
# А потом возвращаемся к сессии через Command Code:
ai-memory run command-code
O agente lê o bloco "onde paramos" na inicialização. Ele contém decisões arquiteturais recentes, perguntas em aberto e resultados de testes. Se você não especificar um nome de agente, o comando ai-memory run seleciona automaticamente a sessão ativa mais recente na pasta atual.
O comando ai-memory continue vai ainda mais longe: você pode chamá-lo de qualquer pasta, e ele vai levá-lo de volta ao projeto em que estava trabalhando por último.
Wiki em vez de despejo de logs
Toda a base de conhecimento é armazenada como texto simples. Você pode abri-la no Obsidian, ler com grep, ou navegar no navegador integrado na porta 127.0.0.1:49374/web.
Se você quiser registrar uma regra importante do projeto, basta dizer ao agente: "salve na memória permanente que usamos NATS JetStream para filas." O agente chama a ferramenta MCP memory_write_page, e um arquivo Markdown versionado aparece no repositório.
A busca na base de conhecimento é híbrida. A busca de texto completo SQLite FTS5 é executada primeiro, depois correspondência de entidades e conexões de grafo entre páginas. Se você conectar um modelo de embeddings, a busca vetorial também é adicionada.
Ao mesmo tempo, o ai-memory pode distinguir entre regras arquiteturais estáveis e notas temporárias de sessão, priorizando páginas estáveis das pastas _rules/ e decisions/.
Funcionando sem LLMs externos
Um detalhe interessante: o ai-memory inicia sem nenhuma chave de API de rede neural. No modo "zero-LLM", a busca funciona através de FTS5 e entidades, e os resumos de sessão são montados usando regras determinísticas.
Se você configurar as chaves (Anthropic, OpenAI, Gemini ou Ollama local via endpoint compatível), a ferramenta habilita consolidação inteligente de páginas, detecção de conflitos na base de conhecimento e autoaprendizado em segundo plano para o projeto.
Início rápido via Docker
A forma mais rápida de implantar o servidor na sua estação de trabalho:
# 1. Запускаем локальный сервер
docker run -d --name ai-memory \
--restart unless-stopped \
-p 127.0.0.1:49374:49374 \
-v ai-memory-data:/data \
-e AI_MEMORY_LLM_PROVIDER=anthropic \
-e ANTHROPIC_API_KEY=sk-ant-... \
akitaonrails/ai-memory:latest
# 2. Подключаем MCP и хуки для Claude Code
ai-memory install-mcp --client claude-code --apply
ai-memory install-hooks --agent claude-code --apply
Para usuários de Arch Linux, pacotes prontos ai-memory-bin com unidades systemd estão disponíveis no AUR. Binários nativos para Apple Silicon e Intel são lançados para macOS.
Se o servidor for movido para um servidor doméstico ou rede local, a segurança é configurada via tokens Bearer. O servidor escuta requisições, verifica autorização e separa a memória entre múltiplos desenvolvedores através de slots de operador.
Para que isso serve
A ferramenta resolve três tarefas específicas.
Primeiro — desenvolvimento multiagente. É mais rápido rascunhar uma tarefa no Claude, refatorá-la no Codex e fazer code review através do Gemini. Sem uma camada de memória compartilhada, esse fluxo de trabalho se transforma em uma rotina interminável de copiar contexto.
Segundo — integrar um agente a um repositório antigo. O comando ai-memory bootstrap lê o histórico de commits, README e documentação do projeto, gerando páginas iniciais da base de conhecimento.
Terceiro — auditoria local. A qualquer momento você pode abrir a interface web, verificar as notas geradas, reverter uma edição ruim via ai-memory restore-page, ou limpar dados obsoletos.
Resumo
O ai-memory agrada pela abordagem pragmática. Em vez de construir outra pilha pesada com bancos de dados vetoriais externos, o autor optou por Rust rápido, SQLite confiável e Git simples com Markdown.
Se você usa ativamente assistentes de IA no terminal e está cansado de reexplicar o contexto do projeto para os modelos todos os dias, o repositório definitivamente merece uma olhada. Comece com uma execução local pareada com seu CLI agent principal para avaliar o quão conveniente é a transferência de contexto entre tarefas.
Projetos relacionados