Kubernetes-basierte Multi-Agent-Plattform · Hermes Core · 13 spezialisierte Agenten · Kanban-Board · Vollständig lokal (Ollama)
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 │
└─────────────────────────────────────────────────────────┘
- 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-Workflow —
requires_approval=truehält Aufgaben an, bis manuell freigegeben
| 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) |
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# 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.shNach 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.shstartet automatischkubectl port-forwardProzesse für alle Services.
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 bauenhermes-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
| 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 |
- Dashboard öffnen: http://localhost:3080
- „Aufgabe erstellen" → Agent wählen, Beschreibung eingeben
- Optional: „Freigabe vor Ausführung erforderlich" aktivieren
- Absenden → erscheint sofort im Kanban-Board
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
}'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}/rejectnova-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
- Mail-Agent: Erstellt nur Entwürfe, sendet niemals automatisch
- SQL-Agent: Kein
DELETE/DROPohne explizite Freigabe - Validator: Prüft alle Aufgaben mit
risk_level: medium/highvor Ausführung - Kanban: Dokumentiert jede Aktion mit Timestamp, Agent und Status
- Kosten:
REQUIRE_APPROVAL_FOR_EXTERNAL_COSTS=trueblockiert Cloud-API-Kosten
cd backend/orchestrator
pip install fastapi uvicorn httpx asyncpg pydantic
DATABASE_URL="postgresql://nova:nova@localhost:5432/nova" uvicorn main:app --reloadbackend/agents/agent_meinagent.pyerstellen (vonbase_agent.pyableiten)- Port zuweisen (z.B. 8043) und in
k8s/agents/agents.yamleintragen - In
backend/orchestrator/main.py→AGENT_URLSergänzen scripts/build-agents.shausführen
eval $(minikube docker-env)
scripts/build-agents.sh
kubectl rollout restart deployment -n nova-system- 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.sherneut ausführen - Brave Browser: Rendert localhost-Seiten in manchen Sessions nicht korrekt → Safari oder Chrome verwenden
MIT — siehe LICENSE