Die Box-Seite lag im Repo, die PC-Seite nur auf dem PC — bei Verlust waere die Haelfte des Setups unrekonstruierbar gewesen. Jetzt liegen beide Vorlagen nebeneinander, plus ein README mit der Mannschaftsaufstellung (inkl. der auf der Box gemessenen Tempi) und den vier Fallen, die beim Bauen Zeit gekostet haben: kein _comment in opencode.json, Plugin muss Windows+Linux koennen, session.idle ueberlebt `opencode run` nicht, plugin/ vs plugins/. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Mission Control 2.0
Komponierbarer Local-AI-Stack für den Bosgame M5 (Strix Halo). Läuft live auf der Box
als sudo-freier systemd-User-Dienst (:9001) und ist als Final-Version eingefroren —
Pflege übernehmen ab jetzt die selbst-wartenden Box-KIs (Auto-Update mit Fangnetz + die
„Werkstatt"), nicht mehr manuelle Releases.
Schichten: Engine (llama.cpp Vulkan/RADV auf Strix Halo) · Router (llama-swap,
Ko-Residenz-Warm-Set) · Builtin-Routing-Gateway in MC2 (model: auto, kein externer
LiteLLM — scheitert auf Python 3.14) · Mission Control 2.0 (FastAPI + React/shadcn) ·
Hermes Agent (api_server-Gateway :8642, Tools/MCP/Telegram/cron) · auto-lernendes
Gedächtnis (Mem0-Sidecar, semantisch). Jede Schicht hinter stabilem Vertrag austauschbar.
Sprachassistentin Lucy (Voice + 3D-Avatar) ist in ein eigenes Repo ausgelagert (
Hitonabi/lucy) und spricht über den Hermes-Gateway. Aus MC2 selbst sind die Voice-/ Web-Reste entfernt — MC2 ist die Steuerzentrale, kein Sprach-Frontend.
Status: live + eingefroren (MC2 Final)
Der ganze Stack ist auf der Box in Betrieb und auf Autonomie ausgelegt (Ziel: läuft auch ohne Betreuung monatelang weiter):
- Modelle & Routing — Discover (live HF + Fit/Caps), Engine-Write (register,
groups/ Ko-Residenz, vocab-geprüfte Spec-Drafts), Gatewaymodel: auto+ Fallbacks. - System & Wartung — Status (CPU/RAM/GPU/Disk), ehrliche Speicher-Zahlen (echte KV-Bytes aus GGUF-Architektur), Logs mit Fehler-Filter, Dienst-Neustart (sudo-frei).
- Updates mit Fangnetz — OS/Engine/Router/Hermes per Timer: Backup → Update → Postcheck → bei Fehler Auto-Rollback + Pin; verständliche Zusammenfassung („Musst du etwas tun?") in Lucys Stimme. Eigene Software wird eingefroren, nicht geupdatet.
- Gedächtnis — Mem0-Sidecar (auto-lernend, semantisch), 4 Kategorien, Auto-Dedupe.
- Selbsterhaltung — Health-Wächter (
sentry), Warm-Set-Wächter (warmer), tägliche Self-Smokes, Lucy-Watchdog + Alarmkette; Werkstatt (Hermes wartet den Stack via Gitea- Branch → Gate → Deploy selbst).
API: health · models · discover · fit · models/register · groups · routing · system/* · maintenance/* · connect · memory/* · agent/* · voice/announce · reminders/*. MCP: mcp/.
Box-Runbooks: docs/HERMES_SETUP.md, docs/RUNBOOK.md,
docs/BEDIENUNG.md + deploy/ (Units, deploy.sh, backup.sh, warmup.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) |