Baby-SkyNet
Um sistema autônomo de gerenciamento de memória para Claude AI, com integração de LLM de múltiplos provedores e um banco de dados de memória persistente.
Documentação
Baby-SkyNet 🤖
Sistema Autônomo de Gerenciamento de Memória para Claude AI com Integração Multi-Provedor de LLM e Banco de Dados Gráfico
Um servidor MCP que dá ao Claude uma memória permanente e pesquisável - incluindo análise semântica, suporte a LLM multi-provedor e integração com banco de dados gráfico.
O que é isso?
Baby-SkyNet expande o Claude com:
- Memória Persistente - As memórias sobrevivem aos limites de sessão
- Categorização - Organização estruturada do conhecimento
- Busca em Texto Completo - Encontre conversas e insights antigos
- Análise Semântica - Extração de conceitos com IA
- Suporte Multi-Provedor - Ollama (local) + API Anthropic
- Banco de Dados Gráfico - Integração Neo4j para informações vinculadas
Recursos v2.3
Gerenciamento Central de Memória
- ✅ Banco de Dados SQL - Armazenamento local robusto
- ✅ Sistema de Categorias - Programação, depuração, projetos, etc.
- ✅ Busca em Texto Completo - Pesquise todas as memórias
- ✅ Operações CRUD - Criar, Ler, Atualizar, Mover
Armazenamento Avançado de Vetores e Grafos
- ✅ Integração ChromaDB - Busca semântica baseada em vetores
- ✅ Banco de Dados Gráfico Neo4j - Interconexão de memórias baseada em relacionamentos
- ✅ Busca Multi-Fonte - Resultados combinados de todas as fontes de dados
- ✅ Análise de Grafos - Estatísticas de rede e análise de relacionamentos
Mecanismo de Análise Semântica
- ✅ LLM Multi-Provedor - Ollama (local) ou API Anthropic
- ✅ Classificação de Memórias - técnica, emocional, processual, factual
- ✅ Extração de Conceitos - Extração automática de conceitos-chave
- ✅ Processamento em Lote - Análise assíncrona de múltiplas memórias
- ✅ Enriquecimento de Metadados - Detecção de ferramentas, pessoas e código
- ✅ Detecção de Relacionamentos - Vínculos semânticos automáticos
Gerenciamento de Contêineres e Inicialização Automática
- ✅ Integração Podman/Docker - Gerenciamento automático de contêineres
- ✅ Serviços de Inicialização Automática - Iniciar ChromaDB e Neo4j automaticamente
- ✅ Monitoramento de Saúde - Status do contêiner na ferramenta memory_status
- ✅ Recuperação Inteligente - Reiniciar contêineres com falha
Início Rápido
Pré-requisitos
- Node.js >= 18.0
- TypeScript >= 5.0
- Ollama (opcional, para LLM local) ou Chave da API Anthropic
- Ambiente compatível com MCP (Claude Desktop, etc.)
Instalação
# Repository klonen
git clone https://github.com/spie-mkroehn/baby-skynet.git
cd baby-skynet
# Dependencies installieren
npm install
# TypeScript kompilieren
npm run build
# Starten
npm start
Configuração
Opção 1: API Anthropic (recomendada)
# .env Datei erstellen
echo "ANTHROPIC_API_KEY=your_api_key_here" > .env
# Mit Claude Haiku starten
node build/index.js --db-path ./claude_memory.db --brain-model claude-3-5-haiku-latest
Opção 2: Ollama local
# Ollama installieren und Modell laden
ollama pull llama3.1:latest
# Mit Ollama starten
node build/index.js --db-path ./claude_memory.db --brain-model llama3.1:latest
Integração MCP
No Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"baby-skynet": {
"command": "node",
"args": [
"/pfad/zu/baby-skynet/build/index.js",
"--db-path", "/pfad/zu/claude_memory.db",
"--brain-model", "claude-3-5-haiku-latest"
],
"env": {
"ANTHROPIC_API_KEY": "your_api_key_here"
}
}
}
}
Banco de Dados Gráfico Neo4j (Opcional, mas recomendado)
Configuração do Neo4j:
# 1. Neo4j installieren
# Download von https://neo4j.com/download/
# Oder mit Docker:
docker run --publish=7474:7474 --publish=7687:7687 --volume=$HOME/neo4j/data:/data neo4j
# 2. Environment Variables konfigurieren
cp .env.example .env
# Bearbeite .env mit deinen Neo4j Credentials:
# NEO4J_URL=bolt://localhost:7687
# NEO4J_USER=neo4j
# NEO4J_PASSWORD=your_password
Usar recursos de grafo:
save_memory_with_graph- Memória com interconexão automáticasearch_memories_with_graph- Busca avançada com contextoget_memory_graph_context- Exibir rede de relacionamentosget_graph_statistics- Estatísticas de rede
Arquitetura da Fábrica de Clientes LLM
Baby-SkyNet usa uma LLMClientFactory central para gerenciar todos os provedores de LLM:
Provedores suportados
- Anthropic Claude:
claude-3-sonnet,claude-3-haiku, etc. - Modelos locais Ollama:
llama2,mistral, etc.
Detecção automática de provedores
import { LLMClientFactory } from './llm/LLMClientFactory.js';
// Automatische Erkennung basierend auf Modellname
const anthropicClient = LLMClientFactory.createClient('claude-3-sonnet');
const ollamaClient = LLMClientFactory.createClient('llama2');
Integração do SemanticAnalyzer
O SemanticAnalyzer usa a factory automaticamente:
import { SemanticAnalyzer } from './llm/SemanticAnalyzer.js';
const analyzer = new SemanticAnalyzer('claude-3-sonnet'); // Verwendet Factory intern
🧪 Testes
Baby-SkyNet possui uma suíte de testes abrangente com 18+ testes:
# Build & einzelner Test
npm run build
node tests/test-simple.js
# Alle Tests ausführen
Get-ChildItem tests\test-*.js | ForEach-Object { node $_.FullName }
Categorias de teste:
- Testes do sistema principal (funcionalidade básica)
- Testes de integração (ponta a ponta)
- Testes de interface MCP (Claude Desktop)
- Testes de banco de dados (PostgreSQL/SQLite)
- Testes de VectorDB (ChromaDB)
- Testes de serviços externos (OpenAI, Neo4j)
📖 Documentação detalhada: TESTING.md | tests/README.md
✅ Reorganização do JobProcessor (janeiro de 2025)
Estrutura de diretórios otimizada
- JobProcessor.ts movido de
src/jobs/parasrc/utils/ - Diretório vazio
jobs/removido - Caminhos de importação atualizados de acordo
Nova estrutura enxuta:
src/
├── database/ # Alle Datenbank-bezogenen Klassen
├── embedding/ # Embedding-Services
├── llm/ # LLM-Clients und SemanticAnalyzer
├── utils/ # Utilities inkl. JobProcessor
└── index.ts # Hauptdatei
Vantagens:
- Menos diretórios → mais organizado