> ⚠️ **VERALTET (Stand 27.06.2026, Archiv).** Die aktuelle, live-verifizierte Wahrheit > steht in [docs/wissen/STACK.md](../wissen/STACK.md). Diese Datei nur noch als Historie lesen. --- name: project-stack-state description: "Aktueller Stand des MC2-Projekts — Infrastruktur, Modelle, Dienste, Git-State (Stand 2026-06-27)" metadata: node_type: memory type: project originSessionId: e6bf38ac-b5dc-4aaa-80c3-ad8dd078a1fe --- ## Wo alles liegt - **Code lokal:** `F:\Coding Stuff\mission-control-2` (Windows-Dev-PC) - **Git-Remote:** `https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2` (Branch `main`) - **AI Box:** `hitonabi@192.168.178.151` — MC2 live auf `:9001` als User-Dienst - **Deploy:** `ssh hitonabi@192.168.178.151 "bash ~/mission-control-v2/deploy/deploy.sh"` - **Windows PC:** `192.168.178.98` (Tobis PC) - **Proxmox:** `root@192.168.178.108:8006` (Passwort in Keepass) **Why:** Ist die einzige Quelle der Wahrheit für Verbindungsdaten. **How to apply:** Vor SSH/Deploy immer diese IPs nutzen, nicht raten. --- ## Dienste auf der AI Box (Stand 2026-06-27) | Dienst | Port | Beschreibung | |---|---|---| | `llama-swap` (system) | `:8080` | Engine, **Vulkan/RADV** (seit 2026-06-27, vorher ROCm/HIP) | ### Engine-Backend: Vulkan/RADV (Cutover 2026-06-27) - **Gemessen:** RADV schlägt ROCm/HIP auf gfx1151 bei tg um **+12–22 %** (fast 53→65 t/s roh), Prefill gleich. „ROCm gewinnt Prefill" gilt hier NICHT; auch bei 32K Tiefe bleibt RADV vorn. hipBLASLt bringt nichts. - **Setup:** Vulkan-llama.cpp (offizieller Build b9821) in `/opt/llamacpp-vulkan`; Symlink `/usr/local/bin/llama-server` → dorthin; systemd Drop-in `/etc/systemd/system/llama-swap.service.d/vulkan.conf` mit `LD_LIBRARY_PATH=/opt/llamacpp-vulkan`. Treiber: `mesa-vulkan-drivers` (RADV STRIX_HALO, Mesa 26.0.3). - **ROCm-Build bleibt** unter `/opt/llamacpp` (lemonade llamacpp-rocm) als Rollback liegen. - **Rollback:** `sudo ln -sfn /opt/llamacpp/llama-server /usr/local/bin/llama-server` + Drop-in löschen + `sudo systemctl daemon-reload && sudo systemctl restart llama-swap`. - **ACHTUNG maintenance.py:** `_engine_update_available()` trackt noch `lemonade-sdk/llamacpp-rocm` — passt nicht mehr zum aktiven Vulkan-Build (b9821 von ggml-org/llama.cpp). Engine-Update-Quelle anpassen. - **Spec-Draft (2026-06-27 gefixt):** `qwen2.5-1.5b` war vocab-inkompatibel mit Qwen3.6 UND `--spec-type` fehlte → war inaktiv. Auch Qwen3-0.6B ist mit Qwen3.6 inkompatibel → **`fast` läuft jetzt ohne Draft** (kein kompatibler verfügbar). **`coder` (Qwen3-Coder-Next)**: Qwen3-0.6B IST kompatibel → Draft `/srv/models/drafts/Qwen3-0.6B-Q8_0.gguf` + `--spec-type draft-simple`, **0,75 Akzeptanz** (echter Coding-Speedup). Alter `qwen2.5-1.5b-instruct-q4_k_m.gguf` in drafts/ ist jetzt ungenutzt (löschbar, 1,1 GB). - **Modell-cmds (config.yaml):** llama.cpp dieser Generation braucht `--spec-type` zusätzlich zu `--spec-draft-model`, sonst ist Spec inaktiv. Drafts müssen **exakt vocab-gleich** zum Target sein. | `mission-control-2` (user) | `:9001` | MC2 Backend + Frontend | | `hermes-gateway` (user) | `:8642` | Hermes Agent API | | `hermes-webui` (user) | `:8787` | nesquena hermes-webui | MC2-Gateway auf `:9001/v1` ist der OpenAI-kompatible Endpunkt für IDEs (model:auto). --- ## Modell-Stack (llama-swap, Stand 2026-06-27) | Alias | Modell | TTL | Besonderheit | |---|---|---|---| | `hermes` | Hermes-4-14B (Q6_K) | 0 (immer warm) | Agent-Hirn, in brains-Gruppe | | `fast` | Qwen3.6-35B-A3B (Q4_K_M) | 0 (immer warm) | MoE, Vision, SPEC-Draft, 2 Slots; in brains-Gruppe | | `vision` | Qwen3-VL-2B-Instruct (Q4_K_M) | 0 (immer warm) | Tiny Vision; in brains-Gruppe | | `heavy` | Qwen3.5-122B-A10B (Q4_K_M) | 600s | MoE, 32k ctx | | `coder` | Qwen3-Coder-Next (Q4_K_M) | 600s | SPEC-Draft, 2 Slots | | `scout` | gemma-4-26B-A4B-it (Q4_K_M) | 180s | Multimodal | `reasoning`-Rolle wurde entfernt (Nemotron gelöscht, 25 GB freigegeben, 2026-06-27). brains-Gruppe hat `swap:false, persist:true` → hermes/fast/vision bleiben immer resident. **Config-Pfad auf Box:** `/etc/llama-swap/config.yaml` --- ## Git-Stand - Lokal, Gitea und AI Box alle synchron auf `main` - Working tree clean (Stand nach letztem Push) - Push nur via **PowerShell-Tool** mit `dangerouslyDisableSandbox:true` (kein Bash-Push → GCM-Auth-Problem)