Skip to content

walternagai/claude_memory_builder

Repository files navigation

ChatGPT → Claude Memory Builder

Backend: Ollama (100% local, zero custo de API)

Python 3.12+ License AGENTS.md

Converte o export do ChatGPT em memórias estruturadas por projeto usando modelos locais via Ollama.

Para desenvolvedores: Consulte o AGENTS.md para guias de desenvolvimento, estilo de código e comandos técnicos.


📑 Índice


🧠 Estratégia: MapReduce Hierárquico

Conversas do projeto (tamanho ilimitado)
           │
    ┌──────▼──────┐
    │  FASE MAP   │  MAP_MODEL (rápido)
    │             │  Sumariza cada chunk de ≤116k tokens
    └──────┬──────┘
           │  N resumos intermediários
    ┌──────▼──────┐
    │ FASE REDUCE │  REDUCE_MODEL (qualidade)
    │             │  Mescla resumos; recursivo se necessário
    └──────┬──────┘
           │
    ┌──────▼──────┐
    │  MEMÓRIA    │  REDUCE_MODEL
    │   FINAL     │  Markdown estruturado para uso no Claude
    └─────────────┘

Cálculo da janela segura

Janela total do modelo 128.000 tokens
Overhead do prompt − 4.000
Reserva para resposta − 8.000
Disponível por chunk 116.000

🔧 Instalação

# 1. Instalar Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 2. Baixar modelos recomendados
ollama pull llama3.1:8b          # MAP + REDUCE padrão
ollama pull mistral-nemo:12b     # REDUCE de qualidade (requer 12 GB VRAM)

# 3. Instalar dependências Python
pip install -r requirements.txt

🖥 Escolha de Modelos por Hardware

VRAM disponível MAP_MODEL REDUCE_MODEL
4–6 GB llama3.2:3b llama3.2:3b
8 GB llama3.1:8b llama3.1:8b
12–16 GB llama3.1:8b mistral-nemo:12b
24 GB+ mistral-nemo:12b llama3.1:70b
CPU only qwen2.5:3b qwen2.5:7b

Todos os modelos listados suportam contexto de 128k tokens.


📦 Como exportar do ChatGPT

  1. chat.openai.com → seu avatar → Settings
  2. Data controlsExport data
  3. Aguarde o e-mail e baixe o .zip

🚀 Uso

# Ver status do Ollama e modelos instalados
python main.py --status

# Listar projetos sem processar
python main.py chatgpt_export.zip --list-projects

# Estatísticas sem chamar o modelo (dry run)
python main.py chatgpt_export.zip --dry-run

# Baixar modelos configurados automaticamente
python main.py chatgpt_export.zip --pull

# Processar todos os projetos
python main.py chatgpt_export.zip

# Processar apenas um projeto
python main.py chatgpt_export.zip --project default

# Saída em diretório customizado
python main.py chatgpt_export.zip --output ~/minhas-memorias

Sobrescrever modelos via variável de ambiente

# Usar modelos diferentes sem editar config.py
MAP_MODEL=llama3.2:3b REDUCE_MODEL=mistral-nemo:12b python main.py export.zip

# Ollama em outro host (ex: servidor na rede local)
OLLAMA_HOST=http://192.168.1.100:11434 python main.py export.zip

📄 Saída

Cada projeto gera memories/NomeDoProjeto_memory.md:

---
projeto: Linux Lab
projeto_id: proj_linux
conversas: 47
map_model: llama3.1:8b
reduce_model: mistral-nemo:12b
gerado_em: 2025-03-03T14:22:00
---

## 📋 Visão Geral do Projeto
## 🎯 Objetivos e Metas
## 🔧 Contexto Técnico
## 💡 Decisões Importantes
## ✅ O que Foi Feito
## ⏳ Pendências e Próximos Passos
## 👤 Perfil e Preferências do Usuário
## 📌 Notas e Observações

💡 Como usar no Claude

  1. Vá em claude.aiProjects
  2. Crie ou abra um projeto
  3. Em Project instructions, cole o conteúdo do .md gerado
  4. Todas as conversas do projeto terão o contexto do ChatGPT disponível

🔐 Privacidade

Todo o processamento é local — seus dados nunca saem da sua máquina.


🛠 Para Desenvolvedores

Estrutura do Projeto

claude_memory_builder/
├── main.py           # CLI principal (argparse)
├── parser.py         # Leitura do export do ChatGPT
├── chunker.py        # Divisão respeitando tokens (com fallback)
├── ollama_client.py  # Interface com servidor Ollama
├── summarizer.py     # Pipeline MapReduce
├── cache.py          # Sistema de cache de resumos
├── config.py         # Configurações (modelos, tokens)
├── requirements.txt  # Dependências Python
├── README.md         # Este arquivo
└── AGENTS.md         # Guia completo para desenvolvedores

Desenvolvimento

Guia completo disponível em AGENTS.md incluindo:

  • Comandos de build, lint e test
  • Diretrizes de estilo de código
  • Padrões de desenvolvimento
  • Configuração de ambiente

Comandos rápidos:

# Linting e formatação
ruff check .
ruff format .

# Verificar tipos (se mypy disponível)
mypy .

# Rodar testes (quando implementados)
pytest tests/ -v

Contribuindo

  1. Siga as diretrizes em AGENTS.md
  2. Mantenha código limpo com ruff antes de commitar
  3. Adicione type hints em todas as funções públicas
  4. Use Rich para output em CLI

📚 Licença

MIT License - veja LICENSE para detalhes.


🤝 Agradecimentos


Feito com ❤️ para a comunidade de usuários do Claude

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages