Skip to content

Repository files navigation

Memory Bee

Continue um trabalho de programação em outro agente ou entregue o contexto a outra pessoa, sem depender de uma nova resposta da IA de origem.

Proposta

Memory Bee será uma ferramenta de terminal independente de IDE. Seu núcleo lê registros disponíveis de sessões, organiza um pacote local e prepara a retomada. Skills e plugins poderão facilitar seu uso, mas não serão necessários para exportar.

A visão inclui uma dashboard em terminal para sessões, uso disponível e perfis de contas, conforme suporte de cada agente. O núcleo de exportação vem primeiro; cotas e autenticação dependem de pesquisa técnica.

O destinatário deve conseguir usar o pacote sem instalar Memory Bee: um Markdown legível será a porta de entrada, acompanhado do histórico selecionado e das referências necessárias.

Primeiro marco

Exportar uma sessão de um agente para um pacote que outro desenvolvedor consiga usar no mesmo projeto. O núcleo será em Rust, com primeiro leitor para Claude Code e validação inicial em macOS arm64. Veja a decisão técnica.

O pacote deve identificar o pedido original, preservar a proveniência das mensagens, referenciar repositório/branch/commit e informar omissões. Alterações locais selecionadas poderão acompanhar o contexto; a exportação não deve publicar código automaticamente.

A exportação básica funciona sem chamadas a modelos. Sínteses semânticas dependem de checkpoints existentes ou de uma etapa opcional com IA. Abrir uma sessão nova não renova cotas de uso do provedor.

Estado

Etapa 01 concluída. Etapa 02 em andamento: projeto Cargo e primeiro leitor Claude Code com descoberta por projeto e seleção explícita de ramo, testados com fixtures sintéticas. Etapa 03 implementada para exportação somente de contexto, com prévia, exclusões e manifesto v1. Validação manual e compatibilidade real pendentes. Etapa 04 iniciada: export --project <pasta> registra referência Git local; --include-path <arquivo> inclui alterações textuais selecionadas em pacote v2. verify confere pacotes e apply --check / --write verifica ou aplica explicitamente em checkout limpo com base exata. Etapa 06 em andamento: dashboard implementado com lista, detalhe, exportação de contexto, aplicação de pacotes e retomada confirmada; cena animada e ensaios humanos pendentes.

cargo run --locked -- inspect testdata/claude/basic.jsonl
cargo run --locked -- sessions --root testdata/claude-projects --project /synthetic/project
cargo run --locked -- inspect testdata/claude-projects/arbitrary/session.jsonl --leaf a1
cargo run --locked -- export testdata/claude/basic.jsonl --preview

A saída é um relatório JSON local com eventos, proveniência e diagnósticos. Veja inspeção e descoberta, exportação e limites, recebimento e aplicação e o roteiro para testar um por um. Para gravar um pacote, use export <arquivo> --output <pasta-nova>; a pasta pai deve existir.

O segundo leitor está disponível como inspect-codex <rollout.jsonl>, experimental e limitado a arquivo explícito. Veja o contrato Codex. export-codex <rollout.jsonl> --preview ou --output <pasta-nova> exporta contexto revisável com exclusões e referência/código Git opcionais, compatível com verify. sessions-codex --root <pasta> --project <projeto> descobre arquivos por metadados dentro de uma raiz explícita; veja o contrato de descoberta. prepare-resume <pacote> --target claude|codex --project <projeto> verifica o pacote, compara o projeto com a base registrada e gera instrução de retomada e passos manuais, no mesmo checkout ou em nova worktree (--worktree). Veja a preparação de retomada. Com --output e --launch <confirmação> obtida na prévia, o comando inicia o agente no mesmo checkout; sem confirmação correspondente, nada é lançado. Lançamento experimental, não validado com os agentes reais.

dashboard --project <projeto> --claude-root <pasta> [--codex-root <pasta>] [--bundle <pacote>] abre uma tela de terminal (ratatui) com lista de sessões, detalhe, exportação de contexto (e), aplicação (a), gravação de prompt (p) e lançamento (l), com prévia e confirmação explícitas; --once imprime um quadro em texto puro sem precisar de terminal real e sem executar ações. Veja o contrato do dashboard.

TUI unificada experimental

workspace --demo demonstra programação na mesma interface Memory Bee: conversa, menus, permissões, perfis fictícios, histórico persistente e exportação revisável. É simulação: não chama Claude/Codex, não autentica contas e não edita o projeto.

cargo run --locked -- workspace --demo --project . --state /tmp/bee-demo-state
cargo run --locked -- workspace --demo --project . --once --no-color

O primeiro recorte real abre o Claude Code original em segundo plano, com conversa e permissões desenhadas pela Memory Bee. O processo ainda usa um PTY, mas sua tela não é exibida; hooks oficiais entregam texto e ações à Bee. Faça login pelo próprio claude antes; a Memory Bee não solicita nem armazena credenciais. Use um projeto e uma pasta de estado explícitos:

cargo run --locked -- workspace --claude --project . --state /tmp/bee-claude-state
cargo run --locked -- workspace --claude --project . --state /tmp/bee-claude-state --resume

Enter envia mensagem, Ctrl+C interrompe e Ctrl+Q sai. Quando Claude pedir permissão, y permite uma vez e n nega; sem resposta a ponte nega. A pasta privada guarda apenas IDs de sessão e códigos de saída, enquanto o Claude mantém a conversa nativa. A interface antiga dentro da moldura continua disponível para diagnóstico com --claude-terminal. A nova tela Bee é funcional, mas ainda experimental: exportação integrada, perfis isolados, histórico completo na tela e refinamento visual continuam pendentes. Contrato e teclas em workspace. O lançamento da experiência completa com Claude e Codex segue condicionado aos aceites do ADR 0018. O dashboard anterior permanece disponível.

Desenvolvimento

A toolchain Rust 1.98.1 está fixada em rust-toolchain.toml; instale Rust via rustup.

cargo build --locked
cargo fmt --all -- --check
cargo clippy --locked --all-targets -- -D warnings
cargo test --locked

A validação adicional de pacotes usa Python apenas no desenvolvimento/CI:

python3 -m venv /tmp/memory-bee-validation
/tmp/memory-bee-validation/bin/pip install -r scripts/requirements-validation.txt
/tmp/memory-bee-validation/bin/python scripts/check_bundle.py

O Orca é uma referência de pesquisa para captura de contexto e leitores de sessões: https://github.com/stablyai/orca. Nenhum código dele foi incorporado nesta etapa.

About

Terminal-first context handoffs between AI agents, accounts, and developers.

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages