Backend: - MTP-Drafter-Support (Multi-Token-Prediction): erkennt MTP-Köpfe neben dem Modell (mtp-*.gguf / *-assistant, arch gemma4-assistant), schreibt --model-draft … --spec-type draft-mtp --spec-draft-n-max statt draft-simple. _parse_model erkennt --model-draft/-md; drafts_for/set_spec_draft/find_compatible_draft MTP-bewusst. Backward-kompatibel (klassische Drafts unverändert). (config.SPEC_DRAFT_N_MAX) - register_model: cache-reuse/-cram als Default (Drift-Fix — neue Installs wie der hand-getunte Box-Stand), --parallel 2 nur noch für coder (kein ctx-Halbierungs-Footgun), Spec-Auto-Attach für alle Rollen self-guarding. - budget.reserved_gb auf die VERIFIZIERTE llama-swap-Gruppen-Swap-Semantik angeglichen: on-demand-Modelle verdrängen die brains-Gruppe und laufen allein (reservieren 0, voller GTT); brains-Member reservieren nur die übrigen Member. Tote _persist_members entfernt. Frontend: - SpecDraftModal zeigt MTP-Drafter mit MTP-Badge (DraftInfo.mtp). Docs: - docs/OPTIMIZATION_PLAN.md: vollständiges Audit + Umsetzungs-Log (W1/W2 Warm-Set, gemma ctx/fa/cache-reuse/MTP 52→70,8 t/s, fast --parallel 1, scout=GLM-4.6V-Flash), alles live gegen die Box verifiziert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mission Control 2.0
Komponierbarer Local-AI-Stack für den Bosgame M5. Greenfield-Neuaufbau —
siehe Architektur-Plan (docs/ bzw. der genehmigte Plan).
Schichten: Engine (llama-swap, Vulkan/RADV auf Strix Halo) · Builtin-Routing-Gateway
in MC2 (model: auto, kein externer LiteLLM-Dienst — scheitert auf Python 3.14) ·
Mission Control 2.0 (FastAPI + React/shadcn) · Hermes Agent + hermes-webui ·
Shared Memory (SQLite via MCP). Jede Schicht hinter stabilem Vertrag austauschbar.
Status: Phasen 0–5 ✅ · MC2 live auf der Box (:9001) · Modelle/Hermes-Wiring + Cutover offen
Fortschritt & Resume-Guide: siehe docs/STATUS.md.
-
Phase 0 — FastAPI-Skeleton + React/shadcn-Shell (Cmd+K, Dark, PWA).
-
Phase 1 — Compute-Module (fit/caps/sources, portiert), Discover (live HF + Fit + Caps), Engine-Write (register +
groups/Ko-Residenz + vocab-geprüfte Spec-Drafts), Builtin-Gateway (model: auto+ Fallbacks), Frontend Modelle & Routing (Caps-Chips, Fit, Discover, Routing-View). -
Phase 2 — System-Status (CPU/RAM/GPU/Disk), Wartung (restart/self-update, sudo-frei), Connect (saubere IDE-Snippets → Gateway
model:auto, LAN-IP-Override). -
Phase 3 — Geteiltes Gedächtnis (SQLite/WAL, 5 Kategorien, Dedupe-Kurator) + MCP-Server (
mcp/mcp_memory.pyshared,mcp/mcp_mc.pyStack-Management für Hermes), MemoryView. -
Phase 4 — Hermes-Agent-Status (
/api/agent/status, AgentView mit Tiles + „Hermes öffnen"),deploy/hermes-webui.service, Box-Runbookdocs/HERMES_SETUP.md(hermes-webui, Brain=auto, Tools/MCP-Verdrahtung). Box-Ausführung steht noch aus. -
Phase 5 — Backup (Memory + Configs), Services-Health + Observability-Links, Theme-Toggle (Hell/Dunkel). Box-Deploy/-Wiring + Cutover (Phase 6) brauchen die Box.
API: health · models · discover · fit · models/register · groups · routing · system/* · connect · memory/* · agent/status (Details in docs/STATUS.md). MCP: mcp/ (siehe mcp/requirements.txt).
Box-Runbooks: docs/HERMES_SETUP.md + deploy/ (Units, deploy.sh, backup.sh).
Entwickeln
Backend:
cd backend
python -m venv .venv && .venv/Scripts/python -m pip install -r requirements.txt # Windows
.venv/Scripts/python -m uvicorn app:app --port 9000
Frontend (Dev, proxyt /api → :9000):
cd frontend
npm install
npm run dev # http://localhost:5173
Frontend (Build → wird vom Backend ausgeliefert):
cd frontend && npm run build # → frontend/dist
Env-Vars (Auswahl)
| Variable | Default | Zweck |
|---|---|---|
MC_LLAMA_SWAP_URL |
http://127.0.0.1:8080 |
Engine |
MC_CONFIG_PATH |
/etc/llama-swap/config.yaml |
llama-swap Config |
MC_GATEWAY_URL |
http://127.0.0.1:$MC_PORT |
Builtin-Gateway (Teil von MC2, kein externer Dienst) |
MC_PORT |
9000 |
MC-Backend-Port |
MC_ENGINE_PATH |
/opt/llamacpp-vulkan |
Aktive Engine-Binary (Vulkan-Build) |
MC_ENGINE_REPO |
ggml-org/llama.cpp |
Quelle für Engine-Update-Check |
MC_DRAFTS_DIR |
$MODELS/drafts |
Spec-Draft-Modelle (vocab-geprüft) |
MC_SPEC_TYPE |
draft-simple |
Speculative-Decoding-Typ (llama.cpp) |