Skip to main content

OCerebro - Sistema de Memoria para Agentes (Claude Code/MCP)

Project description

OCerebro 🧠

Sistema de Memória para Agentes (Claude Code/MCP)

OCerebro dá memória persistente e capacidade de aprendizado para o Claude Code. Ele captura automaticamente todo o contexto das sessões, consolida em memória estruturada e permite busca semântica com sqlite-vec.


✨ Funcionalidades

  • 📦 Memória Automática 3 Camadas: Raw → Working → Official
  • 🔍 Busca Híbrida: Texto (FTS5) + Semântica (sqlite-vec ANN)
  • 🤖 MCP Server: 6 ferramentas para Claude Code
  • 🎣 Hooks Customizáveis: Extensível via YAML
  • 📊 RFM Scoring: Relevância temporal e importância
  • 🛡️ Guard Rails: Proteções para não deletar importante
  • 💾 SQLite Nativo: Zero dependências externas, zero infra

🚀 Instalação Rápida

Pré-requisitos

  • Python 3.10+
  • Claude Desktop (opcional, para integração MCP)

Passo 1: Instalar

pip install ocerebro

Ou instale localmente:

git clone https://github.com/OARANHA/ocerebro.git
cd ocerebro
pip install .

Passo 2: Setup Automático

# Em seu projeto
ocerebro init

# Configura Claude Desktop automaticamente
ocerebro setup claude

Pronto! Reinicie o Claude Desktop e as ferramentas estarão disponíveis.


📖 Uso

No Terminal

# Ver status do sistema
ocerebro status

# Ver memória de um projeto
ocerebro memory meu-projeto

# Buscar por texto
ocerebro search "autenticação JWT"

# Criar checkpoint manual
ocerebro checkpoint meu-projeto --reason "antes de refatorar"

# Promover decisão para official
ocerebro promote meu-projeto sess_abc123

No Claude Code (MCP)

Com o MCP Server configurado, você tem acesso a:

Ferramenta Descrição
cerebro_memory Gera MEMORY.md do projeto
cerebro_search Busca memórias por texto/embedding
cerebro_checkpoint Cria checkpoint da sessão atual
cerebro_promote Promove draft para decisão official
cerebro_status Status do sistema
cerebro_hooks Gerencia hooks customizados
cerebro_diff Análise diferencial de memória entre períodos

🏗️ Arquitetura

┌─────────────────────────────────────────────────────────┐
│                    Claude Code                          │
│                         ↓                               │
│                    MCP Server                           │
└─────────────────────────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────────┐
│                      OCerebro                           │
│                                                         │
│  Raw (JSONL) → Working (YAML) → Official (Markdown)    │
│       ↓              ↓              ↓                   │
│  Eventos →  Extração →  Rascunhos →  Memória          │
│                  ↓              ↓                       │
│           sqlite-vec ←  Busca Híbrida                  │
└─────────────────────────────────────────────────────────┘

📁 Estrutura do Projeto

No seu projeto, o OCerebro cria:

meu-projeto/
  .ocerebro/
    raw/           ← Eventos brutos (JSONL)
    working/       ← Rascunhos YAML
    official/      ← Memória permanente (Markdown)
    index/         ← Banco de dados (metadata + embeddings)
    config/        ← Configurações
    MEMORY.md      ← Memória ativa (gerado automaticamente)

🎣 Hooks Customizados

Crie automações com hooks:

Exemplo: hooks.yaml

hooks:
  - name: notificar_erro
    event_type: error
    module_path: hooks/error_hook.py
    function: on_error
    config:
      notify_severity: ["critical", "high"]

  - name: track_custo_llm
    event_type: tool_call
    event_subtype: llm
    module_path: hooks/cost_hook.py
    function: on_llm_call
    config:
      monthly_budget: 100.0

Documentação completa: docs/HOOKS_GUIDE.md


🔧 Configuração Manual (MCP)

Se o setup automático não funcionar, edite claude_desktop.json:

Windows

%APPDATA%\Claude\claude_desktop.json

macOS

~/Library/Application Support/Claude/claude_desktop.json

Linux

~/.config/Claude/claude_desktop.json

Conteúdo:

{
  "mcpServers": {
    "ocerebro": {
      "command": "python",
      "args": ["/caminho/para/ocerebro/src/mcp/server.py"],
      "cwd": "/caminho/para/ocerebro"
    }
  }
}

🧪 Testes

# Instalar dependências de teste
pip install -e ".[test]"

# Rodar testes
pytest

# Com coverage
pytest --cov=src

Status: 133 testes passando ✅


📊 Estatísticas

Métrica Valor
Testes 133 passing
Linhas de código ~7.700
Commits 25+
Ferramentas MCP 6
Tipos de evento 8+

🤝 Contribuindo

  1. Fork o repositório
  2. Crie uma branch (git checkout -b feature/minha-feature)
  3. Commit (git commit -m 'feat: adiciona nova feature')
  4. Push (git push origin feature/minha-feature)
  5. Abra um Pull Request

📝 Changelog

v0.1.0 (2026-04-01)

  • ✅ Arquitetura 3 camadas (Raw → Working → Official)
  • ✅ Extractor e Promoter
  • ✅ EmbeddingsDB + QueryEngine (busca híbrida com sqlite-vec)
  • ✅ CLI completa
  • ✅ MCP Server (6 ferramentas)
  • ✅ Hooks customizados via YAML
  • ✅ 133 testes passing

📚 Documentação


🙋 FAQ

O OCerebro funciona sem o Claude Desktop? Sim! A CLI funciona independentemente. O MCP Server é opcional.

Posso sincronizar memória entre computadores? Sim! Use Git para sincronizar official/ e config/.

O que acontece se deletar .ocerebro/? Você perde a memória local. Se tiver official/ em backup, pode recuperar.

Funciona em Linux/Mac/Windows? Sim! Testado em todas as plataformas.


📄 Licença

MIT License - veja LICENSE para detalhes.


🌟 Créditos

Criado por @OARANHA

Feito com ❤️ para a comunidade Claude Code.


Stars: ⭐ 0 | Forks: 🍴 0

Reportar bugPedir feature

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ocerebro-0.4.21.tar.gz (132.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ocerebro-0.4.21-py3-none-any.whl (115.3 kB view details)

Uploaded Python 3

File details

Details for the file ocerebro-0.4.21.tar.gz.

File metadata

  • Download URL: ocerebro-0.4.21.tar.gz
  • Upload date:
  • Size: 132.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for ocerebro-0.4.21.tar.gz
Algorithm Hash digest
SHA256 8e6c6c26c84d5413cc1a55c3f3a8fafe660726030dde31606678bf77e96451bc
MD5 c7cc33a7a35024c701c8545dbebd209b
BLAKE2b-256 d98c88b036c558fdeef1f1dbdf99ddb049d74581789fe9e1cd61e05a2e33bd3f

See more details on using hashes here.

File details

Details for the file ocerebro-0.4.21-py3-none-any.whl.

File metadata

  • Download URL: ocerebro-0.4.21-py3-none-any.whl
  • Upload date:
  • Size: 115.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for ocerebro-0.4.21-py3-none-any.whl
Algorithm Hash digest
SHA256 d607e44f81f2180847a423740fec8e8d6f92f02e66c3c8f48515fc341f290d82
MD5 caf65ee5ef20b198d31621fdfcf70a68
BLAKE2b-256 d27ce04bdc505e9130a9d1ca8dec53c7995f8cd27652021f2006db05d67f1d29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page