Baby-SkyNet

An autonomous memory management system for Claude AI, featuring multi-provider LLM integration and a persistent memory database.

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 Vernetzung
  • search_memories_with_graph - Erweiterte Suche mit Kontext
  • get_memory_graph_context - Beziehungsnetzwerk anzeigen
  • get_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/ nach src/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

Related Servers