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.9.tar.gz (129.3 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.9-py3-none-any.whl (112.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ocerebro-0.4.9.tar.gz
  • Upload date:
  • Size: 129.3 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.9.tar.gz
Algorithm Hash digest
SHA256 f6c97badf3671c508ff0a91fff0b693578bf1f4b86b41a95ddd621806c926dbe
MD5 711fff52f039af16bdc2e0bd79477752
BLAKE2b-256 28467b257a3abbbb740ffe3b078df0d6f9b64e97f0fcc1971a851903feecc29d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ocerebro-0.4.9-py3-none-any.whl
  • Upload date:
  • Size: 112.6 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e03b4e5f2e64058abdcd7784ce3d342852da3af95f28f82ad3ea8799f1104514
MD5 9b7171d7af1281e57ebd25e4e73a47fe
BLAKE2b-256 cc4b5e609fdf00236284fcb5d703344d0a2f1078cda1ab408a130da97ced520d

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