Skip to content

About

Full Stack Framework for NVIDIA Spark DGX GB10s or other DGX Setups with little changes.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Agentic Coder Stack — NVIDIA DGX Spark / GB10

Vollständig lokales, agentisches Coding-Setup auf Basis von Dual-Model vLLM, CrewAI Multi-Agent-System und ChromaDB-Memory — keine Cloud-APIs, kein Datenaustausch nach außen.


Überblick

Dieses Script orchestriert einen kompletten AI-Coding-Stack auf dem NVIDIA DGX Spark (GB10 Superchip) mit ~120 GiB Unified Memory. Zwei spezialisierte Qwen3-Modelle laufen simultan in separaten vLLM-Containern:

Rolle Modell (empfohlen) Port GPU-MEM
Reasoning / Planung Qwen3-30B-A3B-FP8 :8008 ~35% (~42 GiB)
Coder / Implementierung Qwen3-Coder-30B-A3B-Instruct-FP8 :8009 ~50% (~60 GiB)

Ein LiteLLM Proxy (:4100) unifiziert beide Endpunkte hinter einer einzigen OpenAI-kompatiblen API (angepasst auf Lokale LLMs, nutzen aber direkt die Toolcalls aus der Response API), auf die CrewAI, Aider und beliebige andere Tools zugreifen können.

┌──────────────────────────────────────────────────────┐
│                   GB10 Host                          │
│                                                      │
│  ┌─────────────────┐    ┌─────────────────┐         │
│  │ vLLM Reasoning  │    │  vLLM Coder     │         │
│  │ :8008           │    │  :8009          │         │
│  └────────┬────────┘    └────────┬────────┘         │
│           │                      │                   │
│           └──────────┬───────────┘                   │
│                      │                               │
│             ┌────────▼────────┐                      │
│             │  LiteLLM Proxy  │                      │
│             │  :4100          │                      │
│             └────────┬────────┘                      │
│                      │                               │
│      ┌───────────────┼───────────────┐               │
│      │               │               │               │
│  ┌───▼───┐    ┌──────▼──────┐  ┌────▼────┐         │
│  │ Aider │    │   CrewAI    │  │  Cline  │         │
│  │ (opt) │    │  4 Agenten  │  │  /etc.  │         │
│  └───────┘    └──────┬──────┘  └─────────┘         │
│                      │                               │
│               ┌──────▼──────┐                        │
│               │  ChromaDB   │                        │
│               │  (Memory)   │                        │
│               └─────────────┘                        │
└──────────────────────────────────────────────────────┘
image

Voraussetzungen

  • Hardware: NVIDIA DGX Spark / GB10 (oder vergleichbares System mit ≥ 80 GiB VRAM für Dual-Model)
  • Software:
    • Docker Engine mit NVIDIA Container Toolkit
    • NVIDIA-Treiber mit funktionierendem nvidia-smi
    • Python 3.10+
    • curl, watch (optional für Live-Dashboard)
  • vLLM Docker Image: muss vorab mit install-vllm-gb10.sh installiert worden sein

Modelle herunterladen

./install-vllm-gb10.sh install
./install-vllm-gb10.sh download-model Qwen/Qwen3-30B-A3B-FP8
./install-vllm-gb10.sh download-model Qwen/Qwen3-Coder-30B-A3B-Instruct-FP8

Installation

chmod +x agentic-coder-gb10.sh

Das Script installiert alle Python-Komponenten in isolierte Virtual Environments:

Komponente venv-Pfad (Standard)
Aider ~/.aider-venv
CrewAI ~/.crewai-venv
CrewAI Studio ~/.crewai-studio-venv

Schnellstart

# 1. Kompletten Stack starten (vLLM Reasoning + Coder + LiteLLM Proxy)
./agentic-coder-gb10.sh start-stack

# 2. CrewAI installieren und erste Aufgabe starten
./agentic-coder-gb10.sh crewai install
./agentic-coder-gb10.sh crew "Implementiere einen REST API Server mit JWT-Auth"

# 3. Memory-System einrichten
./agentic-coder-gb10.sh memory install

# 4. Status prüfen
./agentic-coder-gb10.sh status

Befehlsreferenz

Stack-Orchestrierung

./agentic-coder-gb10.sh start-stack     # Vollständigen Stack starten
./agentic-coder-gb10.sh stop-stack      # Alles herunterfahren (inkl. CrewAI)
./agentic-coder-gb10.sh status          # Status aller Komponenten + GPU-Info
./agentic-coder-gb10.sh monitor         # Live-Dashboard (watch-basiert, 2s Refresh)
./agentic-coder-gb10.sh test            # Smoke-Test: LiteLLM + CrewAI + Memory

vLLM Container

./agentic-coder-gb10.sh start-models    # Beide Container sequenziell starten
./agentic-coder-gb10.sh stop-models     # Beide Container stoppen

Hinweis: Container werden sequenziell gestartet, da vLLM den freien GPU-Speicher systemweit misst. Der Reasoning-Container startet zuerst und belegt ~42 GiB; danach startet der Coder-Container in den verbleibenden ~67 GiB.

LiteLLM Proxy

./agentic-coder-gb10.sh litellm start   # Proxy starten (Auto-Konfiguration)
./agentic-coder-gb10.sh litellm stop    # Proxy stoppen
./agentic-coder-gb10.sh litellm status  # Status prüfen
./agentic-coder-gb10.sh litellm config  # Konfigurationsdatei anzeigen
./agentic-coder-gb10.sh litellm logs    # Log-Ausgabe

CrewAI Multi-Agent System

./agentic-coder-gb10.sh crewai install          # Installieren
./agentic-coder-gb10.sh crewai configure        # crew_config.py generieren
./agentic-coder-gb10.sh crewai run "<aufgabe>"  # Crew mit Aufgabe starten
./agentic-coder-gb10.sh crewai status           # Prozess-Status
./agentic-coder-gb10.sh crewai logs             # Logs anzeigen

# Kurzform (identisch mit "crewai run"):
./agentic-coder-gb10.sh crew "Refactore die Datenbankschicht"

# Im Hintergrund starten:
CREWAI_BACKGROUND=1 ./agentic-coder-gb10.sh crew "Implementiere Unit-Tests"
./agentic-coder-gb10.sh crewai logs

CrewAI Studio (Web-UI)

./agentic-coder-gb10.sh studio install  # Open-Source Web-UI installieren
./agentic-coder-gb10.sh studio start    # Starten → http://localhost:8502
./agentic-coder-gb10.sh studio stop     # Stoppen
./agentic-coder-gb10.sh studio status   # Status prüfen
./agentic-coder-gb10.sh studio logs     # Logs anzeigen
./agentic-coder-gb10.sh studio update   # Update auf neueste Version

Memory System (ChromaDB)

./agentic-coder-gb10.sh memory install          # ChromaDB + Memory-Modul installieren
./agentic-coder-gb10.sh memory status           # Status und Datenbank-Pfad
./agentic-coder-gb10.sh memory stats            # Anzahl Einträge pro Collection
./agentic-coder-gb10.sh memory search "query"   # Semantische Suche
./agentic-coder-gb10.sh memory backup           # Backup erstellen
./agentic-coder-gb10.sh memory reset            # Alle Daten löschen (mit Bestätigung)

Aider (legacy, optional)

./agentic-coder-gb10.sh aider install           # Aider installieren
./agentic-coder-gb10.sh aider configure         # .aider.conf.yml generieren
./agentic-coder-gb10.sh aider run               # Architect Mode starten
./agentic-coder-gb10.sh aider browser           # Browser-UI → http://localhost:8501

Architektur: CrewAI 4-Agenten-Crew

Das generierte crew_config.py definiert vier spezialisierte Agenten:

Agent LLM Aufgabe Tools
Software Architekt Reasoning-Modell Anforderungsanalyse, Systemdesign, Koordination file_read, directory_list
Software Entwickler Coder-Modell Code-Implementierung gemäß Architekturvorgaben file_read, file_write, directory_list, shell
Code Reviewer Reasoning-Modell Qualitäts-, Sicherheits- und Performance-Review file_read, directory_list
Test-Ingenieur Coder-Modell Test-Erstellung, Ausführung, Ergebnisanalyse shell, file_read, file_write, docker, gpu

Verfügbare Tools

  • shell_execute — Shell-Befehle mit 120s Timeout
  • file_read / file_write — Datei-I/O (max 500 KB)
  • directory_list — Verzeichnis-Listings mit Glob-Pattern
  • docker_status — Status der laufenden Container
  • gpu_status — NVIDIA GPU-Metriken via nvidia-smi

Memory System

ChromaDB läuft als embedded PersistentClient — kein separater Datenbankserver nötig. Vier spezialisierte Collections:

Collection Inhalt
code_snippets Wiederverwendbare Code-Fragmente
architecture_docs Architekturentscheidungen und -pläne
session_summaries Zusammenfassungen vergangener Sessions
project_patterns Projektspezifische Patterns und Konventionen

Semantische Suche über alle Collections oder gezielt per Collection-Name.


Konfiguration

Alle Parameter können direkt im Script oder per Umgebungsvariable überschrieben werden:

# Modell-Pfade (leer = Auto-Detection aus ~/models)
export REASONING_MODEL_PATH="/pfad/zum/reasoning/modell"
export CODER_MODEL_PATH="/pfad/zum/coder/modell"

# Ports
export REASONING_PORT=8008
export CODER_PORT=8009
export LITELLM_PORT=4100

# GPU-Speicher (Anteil des Gesamtspeichers)
export REASONING_GPU_MEM=0.35
export CODER_GPU_MEM=0.50

# Context-Längen
export REASONING_MAX_MODEL_LEN=40960
export CODER_MAX_MODEL_LEN=131072

# Verzeichnisse
export MODEL_DIR="$HOME/models"
export MEMORY_DIR="$HOME/.config/agentic-coder/memory"

Konfigurations-Dateien (auto-generiert)

Datei Inhalt
~/.config/agentic-coder/config.yaml LiteLLM Proxy-Konfiguration
~/.config/agentic-coder/crewai/crew_config.py CrewAI Agenten & Tasks
~/.config/agentic-coder/agent_memory.py ChromaDB Memory-Modul

GDPR / Datenschutz

Alle Komponenten laufen vollständig lokal:

  • Kein Telemetrie-Datenversand
  • Keine Cloud-API-Aufrufe
  • Modelle, Kontext und Memory verbleiben auf dem lokalen System
  • Geeignet für GDPR-konforme Produktivumgebungen und Verarbeitung sensibler Daten

Troubleshooting

Coder-Container startet nicht / OOM:

# GPU-Speicher prüfen
nvidia-smi
# Reasoning-Container muss zuerst vollständig bereit sein
docker logs vllm-gb10-reasoning

LiteLLM Proxy nicht erreichbar:

./agentic-coder-gb10.sh litellm logs
# Port 4000 oft von Supabase Analytics belegt → Standard ist 4100

Modell-Auto-Detection schlägt fehl:

ls ~/models/
# Verzeichnisse mit config.json werden erkannt
# "coder" im Verzeichnisnamen → Coder-Modell, sonst → Reasoning-Modell

CrewAI Fehler:

./agentic-coder-gb10.sh crewai logs
./agentic-coder-gb10.sh test

Abhängigkeiten (Zusammenfassung)

Tool Verwendung
Docker + NVIDIA Container Toolkit vLLM-Container
Python 3.10+ venv, LiteLLM, CrewAI
litellm API-Gateway / Proxy
crewai Multi-Agent Framework
chromadb Persistentes Memory
aider-chat Interaktives Coding (optional)

Lizenz

Dieses Script ist für den Einsatz mit lokal betriebenen Open-Source-Modellen konzipiert. Beachte die jeweiligen Lizenzbedingungen der verwendeten Modelle (Qwen3: Apache 2.0).

About

Full Stack Framework for NVIDIA Spark DGX GB10s or other DGX Setups with little changes.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages