Baby-SkyNet 🤖
Autonomous Memory Management System for Claude AI with Multi-Provider LLM Integration & Graph Database
Ein MCP Server der Claude ein permanentes, durchsuchbares Gedächtnis verleiht - inklusive semantischer Analyse, Multi-Provider LLM Support und Graph-Datenbank Integration.
Was ist das?
Baby-SkyNet erweitert Claude um:
- Persistentes Memory - Erinnerungen überleben Session-Grenzen
- Kategorisierung - Strukturierte Organisation von Wissen
- Volltext-Suche - Finde alte Gespräche und Erkenntnisse
- Semantische Analyse - KI-gestützte Konzept-Extraktion
- Multi-Provider Support - Ollama (lokal) + Anthropic API
- Graph Database - Neo4j Integration für verknüpfte Informationen
Features v2.3
Core Memory Management
- ✅ SQL Database - Robuste, lokale Datenhaltung
- ✅ Kategorien-System - Programmieren, Debugging, Projekte, etc.
- ✅ Volltext-Suche - Durchsuche alle Memories
- ✅ CRUD Operations - Create, Read, Update, Move
Advanced Vector & Graph Storage
- ✅ ChromaDB Integration - Vector-basierte semantische Suche
- ✅ Neo4j Graph Database - Relationship-basierte Memory-Vernetzung
- ✅ Multi-Source Search - Kombinierte Resultate aus allen Datenquellen
- ✅ Graph Analytics - Netzwerk-Statistiken und Beziehungsanalyse
Semantic Analysis Engine
- ✅ Multi-Provider LLM - Ollama (lokal) oder Anthropic API
- ✅ Memory Classification - technical, emotional, procedural, factual
- ✅ Concept Extraction - Automatische Schlüsselkonzept-Extraktion
- ✅ Batch Processing - Asynchrone Analyse mehrerer Memories
- ✅ Metadata Enrichment - Tools, People, Code-Detection
- ✅ Relationship Detection - Automatische semantische Verknüpfungen
Container Management & Auto-Start
- ✅ Podman/Docker Integration - Automatisches Container-Management
- ✅ Auto-Start Services - ChromaDB und Neo4j automatisch starten
- ✅ Health Monitoring - Container-Status in memory_status Tool
- ✅ Smart Recovery - Neustart fehlgeschlagener Container
Quick Start
Voraussetzungen
- Node.js >= 18.0
- TypeScript >= 5.0
- Ollama (optional, für lokale LLM) oder Anthropic API Key
- MCP-kompatible Umgebung (Claude Desktop, etc.)
Installation
# 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
Konfiguration
Option 1: Anthropic API (empfohlen)
# .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
Option 2: Lokale Ollama
# 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
MCP Integration
In 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"
}
}
}
}
Neo4j Graph Database (Optional aber empfohlen)
Neo4j Setup:
# 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
Graph Features nutzen:
save_memory_with_graph
- Memory mit automatischer Vernetzungsearch_memories_with_graph
- Erweiterte Suche mit Kontextget_memory_graph_context
- Beziehungsnetzwerk anzeigenget_graph_statistics
- Netzwerk-Statistiken
LLM Client Factory Architecture
Baby-SkyNet verwendet eine zentrale LLMClientFactory zur Verwaltung aller LLM-Provider:
Unterstützte Provider
- Anthropic Claude:
claude-3-sonnet
,claude-3-haiku
, etc. - Ollama Local Models:
llama2
,mistral
, etc.
Automatische Provider-Erkennung
import { LLMClientFactory } from './llm/LLMClientFactory.js';
// Automatische Erkennung basierend auf Modellname
const anthropicClient = LLMClientFactory.createClient('claude-3-sonnet');
const ollamaClient = LLMClientFactory.createClient('llama2');
SemanticAnalyzer Integration
Der SemanticAnalyzer nutzt die Factory automatisch:
import { SemanticAnalyzer } from './llm/SemanticAnalyzer.js';
const analyzer = new SemanticAnalyzer('claude-3-sonnet'); // Verwendet Factory intern
🧪 Testing
Baby-SkyNet verfügt über eine umfassende Test-Suite mit 18+ Tests:
# Build & einzelner Test
npm run build
node tests/test-simple.js
# Alle Tests ausführen
Get-ChildItem tests\test-*.js | ForEach-Object { node $_.FullName }
Test-Kategorien:
- Core System Tests (Basis-Funktionalität)
- Integration Tests (End-to-End)
- MCP Interface Tests (Claude Desktop)
- Database Tests (PostgreSQL/SQLite)
- VectorDB Tests (ChromaDB)
- External Service Tests (OpenAI, Neo4j)
📖 Detaillierte Dokumentation:TESTING.md
| tests/README.md
✅ JobProcessor Reorganisation (Januar 2025)
Verzeichnisstruktur optimiert
- JobProcessor.ts von
src/jobs/
nachsrc/utils/
verschoben - Leeres
jobs/
Verzeichnis entfernt - Import-Pfade entsprechend aktualisiert
Neue schlanke Struktur:
src/
├── database/ # Alle Datenbank-bezogenen Klassen
├── embedding/ # Embedding-Services
├── llm/ # LLM-Clients und SemanticAnalyzer
├── utils/ # Utilities inkl. JobProcessor
└── index.ts # Hauptdatei
Vorteile:
- Weniger Verzeichnisse → übersichtliche