Skip to content

Contzentra/nova-core

Repository files navigation

NovaForge — KI-Agentenplattform v2.0

Kubernetes-basierte Multi-Agent-Plattform · Hermes Core · 13 spezialisierte Agenten · Kanban-Board · Vollständig lokal (Ollama)

License Kubernetes Python Ollama


Übersicht

NovaForge ist eine vollständig lokal betriebene KI-Plattform auf Kubernetes. Alle Modelle laufen über Ollama auf dem Host — kein Cloud-Zwang. Hermes (Nous Research) dient als zentraler API-Gateway und ermöglicht strukturiertes Agent-Routing mit Kanban-Dokumentation jeder Aktion.

┌─────────────────────────────────────────────────────────┐
│                    nova-system (K8s)                     │
│                                                         │
│  Dashboard ──► Orchestrator ──► Agenten (13x)           │
│      │              │               │                   │
│      │         Hermes Core     Ollama (Host)            │
│      │              │               │                   │
│      └──────── Postgres ◄──── RAG-Service               │
│                MinIO                                    │
└─────────────────────────────────────────────────────────┘

Features

  • Kanban-Board — jede Aktion wird dokumentiert, Freigabe-Workflow für risikoreiche Aufgaben
  • 13 Agenten — Validator, SQL, Monitoring, Reporter, PowerBI, Mail, Finance, News, Marketing, Data-Collector, Browser, n8n, Video
  • Modell-Routing — automatisch nach Aufgabentyp (Code → qwen2.5, Bilder → llava, Reasoning → kimi, Text → minimax)
  • RAG-Service — Volltext-Suche via Postgres GIN-Index, kein pgvector nötig
  • Persistenz — Postgres 5Gi + MinIO 10Gi, Daten überleben Neustarts
  • Autostart — LaunchAgent startet das System nach Reboot automatisch
  • Freigabe-Workflowrequires_approval=true hält Aufgaben an, bis manuell freigegeben

Voraussetzungen

Tool Version Zweck
Minikube ≥ 1.32 Kubernetes lokal
Docker ≥ 24 Container-Runtime
kubectl ≥ 1.28 K8s-CLI
Ollama ≥ 0.3 LLM-Serving
Hermes Docker-Image v0.13.0 Gateway Core
Python ≥ 3.11 Backend-Services
macOS Sonoma+ (Linux mit Anpassungen möglich)

Benötigte Ollama-Modelle laden

ollama pull qwen2.5:latest
ollama pull llama3.2-vision:latest
# Optional Cloud-Modelle (brauchen API-Key):
# ollama pull kimi-k2.6:cloud
# ollama pull minimax-m2.7:cloud

Schnellstart

# 1. Repo klonen
git clone https://github.com/Contzentra/nova-core.git
cd nova-core

# 2. Umgebung konfigurieren
cp .env.example .env
# Passwörter in .env anpassen!

# 3. System starten (Minikube + Deploy + Port-Forwards)
~/nova-core/scripts/StartNovaForge.sh

Nach dem Start:

Service URL
Dashboard http://localhost:3080
Orchestrator API http://localhost:8080
RAG-Service http://localhost:8020
MinIO Console http://localhost:9001
Grafana http://localhost:3010
Prometheus http://localhost:9090

Hinweis (macOS + Docker-Driver): Minikube's NodePorts sind vom Host nicht direkt erreichbar. StartNovaForge.sh startet automatisch kubectl port-forward Prozesse für alle Services.


Scripts

scripts/StartNovaForge.sh    # Minikube starten, deployen, Port-Forwards starten
scripts/StatusNovaForge.sh   # Vollständiger Status-Report (Pods, Services, Ports)
scripts/StopNovaForge.sh     # Minikube stoppen (Daten in PVCs bleiben erhalten)
scripts/build-agents.sh      # Alle 13 Agenten-Images neu bauen

Architektur

Kubernetes-Services (nova-system)

hermes-core          Port 8010  — Hermes v0.13 Gateway (Nous Research)
nova-orchestrator    Port 8000  — Aufgaben-Routing, Kanban-API, Freigabe-Workflow
nova-dashboard       Port 3000  — Web-Dashboard SPA (Nginx)
postgres             Port 5432  — Persistente Daten (PVC 5Gi)
minio                Port 9000  — Dateispeicher (PVC 10Gi)
rag-service          Port 8020  — Wissens-Indexierung & Volltext-Suche
agent-validator      Port 8030  — Risikobewertung vor Ausführung
agent-sql-postgres   Port 8031  — SQL-Abfragen & Datenbankoperationen
agent-monitoring     Port 8032  — Cluster-Überwachung & Alerts
agent-reporter       Port 8033  — Tagesberichte & Zusammenfassungen
agent-powerbi        Port 8034  — DAX & Measures-Generierung
agent-mail           Port 8035  — Mail-Entwürfe (kein Auto-Send!)
agent-finance        Port 8036  — Kostenanalyse & Forecasts
agent-news           Port 8037  — KI/Tech-News Aggregation
agent-marketing      Port 8038  — Content & Kampagnen
agent-data-collector Port 8039  — Datensammlung & ETL
agent-browser        Port 8040  — Web-Analyse & Recherche
agent-n8n            Port 8041  — Workflow-Automatisierung
agent-video          Port 8042  — Video-Analyse & Beschreibung

Modell-Routing

Aufgabentyp Modell
Code, SQL, DAX qwen2.5:latest
Bilder, Screenshots llama3.2-vision:latest
Planung, Reasoning kimi-k2.6:cloud
Texte, Marketing minimax-m2.7:cloud

Aufgaben & Freigabe-Workflow

Aufgabe über Dashboard

  1. Dashboard öffnen: http://localhost:3080
  2. „Aufgabe erstellen" → Agent wählen, Beschreibung eingeben
  3. Optional: „Freigabe vor Ausführung erforderlich" aktivieren
  4. Absenden → erscheint sofort im Kanban-Board

Aufgabe über API

curl -X POST http://localhost:8080/task \
  -H 'Content-Type: application/json' \
  -d '{
    "agent": "news",
    "task": "KI-News Report für heute",
    "prompt": "Erstelle einen strukturierten KI-News-Report",
    "priority": "medium",
    "model_type": "text",
    "risk_level": "low",
    "requires_approval": false
  }'

Freigabe-Workflow

Aufgaben mit requires_approval: true oder risk_level: high warten auf manuelle Genehmigung:

Aufgabe erstellt → freigabe_noetig → [✓ Freigeben] → in_arbeit → erledigt
                                   → [✕ Ablehnen] → fehler
# Freigabe via API
curl -X POST http://localhost:8080/kanban/{id}/approve
curl -X POST http://localhost:8080/kanban/{id}/reject

Projektstruktur

nova-core/
├── backend/
│   ├── orchestrator/    FastAPI — Aufgaben-Routing, Kanban-API
│   ├── agents/          13 spezialisierte Agenten + base_agent.py
│   └── rag/             RAG-Service (Postgres Full-Text)
├── frontend/
│   └── src/index.html   Dashboard SPA (Vanilla JS + Nginx)
├── k8s/
│   ├── base/            Namespace, ConfigMap, Secrets, RBAC
│   ├── postgres/        Postgres 16 Deployment + PVC
│   ├── minio/           MinIO Deployment + PVC
│   ├── orchestrator/    Orchestrator + RAG-Service
│   ├── dashboard/       Dashboard Deployment
│   ├── agents/          Alle 13 Agenten
│   └── hermes-core/     Hermes Gateway
├── services/
│   ├── orchestrator/    Legacy v1 Orchestrator (Referenz)
│   ├── llm_gateway/     LLM-Gateway Service
│   └── master_auth/     Biometrische Authentifizierung
├── host_services/
│   ├── camera/          macOS Kamera-Service
│   ├── microphone/      Mikrofon-Service (Whisper)
│   ├── tts/             Text-to-Speech (Piper)
│   └── voice_loop/      Wake-Word + Voice-Interaktion
├── agents/              Legacy Agent-Framework (Referenz)
├── scripts/             Start/Stop/Status + Build-Scripts
├── docs/                Technische Dokumentation
├── .env.example         Umgebungsvariablen-Vorlage
└── Makefile             Build-Kommandos

Sicherheitsregeln (eingebaut)

  • Mail-Agent: Erstellt nur Entwürfe, sendet niemals automatisch
  • SQL-Agent: Kein DELETE/DROP ohne explizite Freigabe
  • Validator: Prüft alle Aufgaben mit risk_level: medium/high vor Ausführung
  • Kanban: Dokumentiert jede Aktion mit Timestamp, Agent und Status
  • Kosten: REQUIRE_APPROVAL_FOR_EXTERNAL_COSTS=true blockiert Cloud-API-Kosten

Entwicklung

Orchestrator lokal testen

cd backend/orchestrator
pip install fastapi uvicorn httpx asyncpg pydantic
DATABASE_URL="postgresql://nova:nova@localhost:5432/nova" uvicorn main:app --reload

Neuen Agenten hinzufügen

  1. backend/agents/agent_meinagent.py erstellen (von base_agent.py ableiten)
  2. Port zuweisen (z.B. 8043) und in k8s/agents/agents.yaml eintragen
  3. In backend/orchestrator/main.pyAGENT_URLS ergänzen
  4. scripts/build-agents.sh ausführen

Alle Images neu bauen

eval $(minikube docker-env)
scripts/build-agents.sh
kubectl rollout restart deployment -n nova-system

Bekannte Einschränkungen

  • macOS + Docker-Driver: NodePorts nicht direkt erreichbar → Port-Forwards nötig (automatisch via StartNovaForge.sh)
  • Port-Forwards nach Rollout: Wenn ein Pod neu gestartet wird, stirbt der zugehörige Port-Forward — StartNovaForge.sh erneut ausführen
  • Brave Browser: Rendert localhost-Seiten in manchen Sessions nicht korrekt → Safari oder Chrome verwenden

License

MIT — siehe LICENSE

About

🤖 NovaForge v2.0 — Kubernetes Multi-Agent KI-Plattform mit Hermes Core, 13 Agenten, Kanban-Board, Postgres, MinIO, Ollama

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors