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
- Fork o repositório
- Crie uma branch (
git checkout -b feature/minha-feature) - Commit (
git commit -m 'feat: adiciona nova feature') - Push (
git push origin feature/minha-feature) - 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6c97badf3671c508ff0a91fff0b693578bf1f4b86b41a95ddd621806c926dbe
|
|
| MD5 |
711fff52f039af16bdc2e0bd79477752
|
|
| BLAKE2b-256 |
28467b257a3abbbb740ffe3b078df0d6f9b64e97f0fcc1971a851903feecc29d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e03b4e5f2e64058abdcd7784ce3d342852da3af95f28f82ad3ea8799f1104514
|
|
| MD5 |
9b7171d7af1281e57ebd25e4e73a47fe
|
|
| BLAKE2b-256 |
cc4b5e609fdf00236284fcb5d703344d0a2f1078cda1ab408a130da97ced520d
|