Baby-SkyNet
Un sistema autónomo de gestión de memoria para Claude AI, con integración de LLM de múltiples proveedores y una base de datos de memoria persistente.
Documentación
Baby-SkyNet 🤖
Sistema autónomo de gestión de memoria para Claude AI con integración de LLM multi-proveedor y base de datos de grafos
Un servidor MCP que otorga a Claude una memoria permanente y buscable, incluyendo análisis semántico, soporte LLM multi-proveedor e integración de base de datos de grafos.
¿Qué es?
Baby-SkyNet amplía Claude con:
- Memoria persistente - Los recuerdos sobreviven los límites de la sesión
- Categorización - Organización estructurada del conocimiento
- Búsqueda de texto completo - Encuentra conversaciones y conocimientos antiguos
- Análisis semántico - Extracción de conceptos asistida por IA
- Soporte multi-proveedor - Ollama (local) + API de Anthropic
- Base de datos de grafos - Integración de Neo4j para información vinculada
Características v2.3
Gestión de memoria principal
- ✅ Base de datos SQL - Almacenamiento local robusto
- ✅ Sistema de categorías - Programación, depuración, proyectos, etc.
- ✅ Búsqueda de texto completo - Busca en todas las memorias
- ✅ Operaciones CRUD - Crear, leer, actualizar, mover
Almacenamiento avanzado de vectores y grafos
- ✅ Integración de ChromaDB - Búsqueda semántica basada en vectores
- ✅ Base de datos de grafos Neo4j - Interconexión de memoria basada en relaciones
- ✅ Búsqueda multi-fuente - Resultados combinados de todas las fuentes de datos
- ✅ Analítica de grafos - Estadísticas de red y análisis de relaciones
Motor de análisis semántico
- ✅ LLM multi-proveedor - Ollama (local) o API de Anthropic
- ✅ Clasificación de memoria - técnico, emocional, procedimental, fáctico
- ✅ Extracción de conceptos - Extracción automática de conceptos clave
- ✅ Procesamiento por lotes - Análisis asíncrono de múltiples memorias
- ✅ Enriquecimiento de metadatos - Detección de herramientas, personas y código
- ✅ Detección de relaciones - Vínculos semánticos automáticos
Gestión de contenedores y auto-inicio
- ✅ Integración de Podman/Docker - Gestión automática de contenedores
- ✅ Servicios de auto-inicio - Iniciar ChromaDB y Neo4j automáticamente
- ✅ Monitoreo de salud - Estado del contenedor en la herramienta memory_status
- ✅ Recuperación inteligente - Reinicio de contenedores fallidos
Inicio rápido
Requisitos previos
- Node.js >= 18.0
- TypeScript >= 5.0
- Ollama (opcional, para LLM local) o clave de API de Anthropic
- Entorno compatible con MCP (Claude Desktop, etc.)
Instalación
# 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
Configuración
Opción 1: API de 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
Opción 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
Integración MCP
En 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"
}
}
}
}
Base de datos de grafos Neo4j (opcional pero recomendada)
Configuración de 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 funciones de grafo:
save_memory_with_graph- Memoria con interconexión automáticasearch_memories_with_graph- Búsqueda avanzada con contextoget_memory_graph_context- Mostrar red de relacionesget_graph_statistics- Estadísticas de red
Arquitectura de fábrica de clientes LLM
Baby-SkyNet utiliza una LLMClientFactory central para gestionar todos los proveedores de LLM:
Proveedores compatibles
- Anthropic Claude:
claude-3-sonnet,claude-3-haiku, etc. - Modelos locales de Ollama:
llama2,mistral, etc.
Detección automática de proveedores
import { LLMClientFactory } from './llm/LLMClientFactory.js';
// Automatische Erkennung basierend auf Modellname
const anthropicClient = LLMClientFactory.createClient('claude-3-sonnet');
const ollamaClient = LLMClientFactory.createClient('llama2');
Integración de SemanticAnalyzer
El SemanticAnalyzer utiliza la fábrica automáticamente:
import { SemanticAnalyzer } from './llm/SemanticAnalyzer.js';
const analyzer = new SemanticAnalyzer('claude-3-sonnet'); // Verwendet Factory intern
🧪 Pruebas
Baby-SkyNet cuenta con un conjunto de pruebas integral con más de 18 pruebas:
# Build & einzelner Test
npm run build
node tests/test-simple.js
# Alle Tests ausführen
Get-ChildItem tests\test-*.js | ForEach-Object { node $_.FullName }
Categorías de pruebas:
- Pruebas del sistema principal (funcionalidad básica)
- Pruebas de integración (de extremo a extremo)
- Pruebas de interfaz MCP (Claude Desktop)
- Pruebas de base de datos (PostgreSQL/SQLite)
- Pruebas de VectorDB (ChromaDB)
- Pruebas de servicios externos (OpenAI, Neo4j)
📖 Documentación detallada: TESTING.md | tests/README.md
✅ Reorganización de JobProcessor (enero de 2025)
Estructura de directorios optimizada
- JobProcessor.ts movido de
src/jobs/asrc/utils/ - Directorio vacío
jobs/eliminado - Rutas de importación actualizadas en consecuencia
Nueva estructura ligera:
src/
├── database/ # Alle Datenbank-bezogenen Klassen
├── embedding/ # Embedding-Services
├── llm/ # LLM-Clients und SemanticAnalyzer
├── utils/ # Utilities inkl. JobProcessor
└── index.ts # Hauptdatei
Ventajas:
- Menos directorios → más claro