# Mission Control Persönliche Steuerzentrale für einen lokalen LLM-Stack auf dem Bosgame M5. FastAPI-Backend + Svelte 5-Frontend. Kein Cloud-Zwang, keine Datenbank-Abhängigkeit. ## Was es kann **LLM-Stack verwalten** - Modelle & Status sehen (llama-swap `/running`, `/v1/models`, `config.yaml`) - Modelle von HuggingFace laden — als Hintergrund-Job mit Live-Log - Automatisch in llama-swap einpflegen (`-watch-config`) - Optimale Kontextfenster berechnen (hardware-aware, `hw_math`) **Cookbook** - Use-Case-getrieben: Coding · Chat · Vision · Agenten · Schnell & sparsam - Hardware-Ampel pro Setup, „Beste Wahl für dein System" - 1-Klick „Komplettes Setup installieren" **Wartung & Server** - OS-Updates, Dienste steuern (llama-swap, Mission Control), Reboot - Live-Logs (journalctl via WebSocket) - Self-Update-Button (git pull → rsync → restart) **Verbinden** - Copy-Paste-Configs für Cline, OpenCode, Zed, Continue, Jan AI, OpenWebUI — inkl. Download-Links - LAN-IP Override für NPM-Proxy-Setups (localStorage) - Gedächtnis-MCP: alle Tools teilen dasselbe persistente Gedächtnis **Gedächtnis** *(v7/v8.3)* - SQLite-Datenbank mit 5 Kategorien: `user` · `instruction` · `stable` · `versioned` · `ephemeral` - MCP-Server (`mcp_memory.py`): Cline, OpenCode, Claude Code teilen dasselbe Gedächtnis - Import aus Cloud-KIs (Claude/Gemini/ChatGPT): zeilenweise einfügen → Batch-POST - Temporäre Einträge (ephemeral) nach 7 Tagen automatisch gelöscht **Hermes Agent** *(v8)* - Lokaler KI-Assistent direkt im Browser — Text und Sprache - Whisper STT (lokal, CPU) + Piper TTS (weibliche Stimme Kerstin) - Tool Calling: Dateien lesen, Befehle ausführen, System abfragen, Web suchen - Gedächtnis-Integration: Hermes kennt dich und deinen Stack von Anfang an - Chat-History überlebt Browser-Reload · Stopp-Button · Verlauf löschen - Setup-Wizard für Piper + Windows SSH-Zugriff ## Voraussetzungen - Python 3.11+ - `llama-swap` laufend mit `-watch-config` - `hf` CLI (`pip install -U "huggingface_hub[cli]"`) - Für Voice: `faster-whisper` + Piper Binary (Anleitung im Hermes-Tab) ## Schnellstart (Bosgame) ```bash sudo mkdir -p /opt/mission-control && sudo chown $USER /opt/mission-control git clone http://192.168.178.153:3000/Hitonabi/mission-control.git ~/mission-control rsync -a --exclude='.git' ~/mission-control/ /opt/mission-control/ cd /opt/mission-control python3 -m venv .venv && .venv/bin/pip install -r requirements.txt ``` Als Dienst: ```bash sudo cp mission-control.service /etc/systemd/system/ sudo systemctl daemon-reload && sudo systemctl enable --now mission-control ``` Browser im LAN: `http://192.168.178.151:9000` ## Konfiguration Alle Einstellungen über Umgebungsvariablen in der systemd-Unit: | Variable | Default | Zweck | |---|---|---| | `MC_LLAMA_SWAP_URL` | `http://127.0.0.1:8080` | llama-swap URL | | `MC_CONFIG_PATH` | `/etc/llama-swap/config.yaml` | llama-swap Config | | `MC_MODELS_DIR` | `/srv/models` | GGUF-Ablageort | | `MC_TOKEN` | leer | Auth-Token (optional) | | `MC_UPDATE_CMD` | leer | Engine-Update-Befehl | | `MC_SOURCE_DIR` | `~/mission-control` | Self-Update Quelle | | `MC_MEMORY_DB` | `{MODELS_DIR}/mission-control-memory.db` | Gedächtnis-Datenbank | | `HERMES_SIMPLE_MODEL` | `scout` | Modell für einfache Tasks | | `HERMES_COMPLEX_MODEL` | `coder` | Modell für komplexe Tasks | | `HERMES_WINDOWS_HOST` | leer | Windows-PC IP für SSH-Zugriff | | `PIPER_BIN` | `/opt/mission-control/piper/piper` | Piper TTS Binary | | `PIPER_VOICE` | `.../de_DE-kerstin-low.onnx` | Piper Stimme | | `WHISPER_MODEL` | `medium` | Whisper Modell-Größe | ## Sicherheit - Ausschließlich im vertrauenswürdigen LAN betreiben - `MC_TOKEN` setzen für minimalen Schutz - Für Remote-Zugriff: SSH-Tunnel oder Tailscale, niemals direktes Port-Forwarding - Hermes-SSH-Key hat nur Zugriff auf explizit freigegebene Windows-Pfade ## Architektur ``` Browser (Windows PC) ├── Svelte 5 UI (static/dist/main.js) └── WebSocket (Live-Metriken, Hermes-Chat, Logs) FastAPI (Bosgame :9000) ├── routers/models.py LLM-Verwaltung ├── routers/system.py Live-Metriken (psutil/sysfs) ├── routers/maintenance.py Updates, Logs, Neustart ├── routers/cookbook.py Modell-Empfehlungen ├── routers/memory.py Gedächtnis (SQLite) ├── routers/hermes.py Agent-Chat, Voice (Whisper/Piper) └── ... llama-swap (:8080) Inference (Qwen3-Familie) SQLite Gedächtnis (/srv/models/mission-control-memory.db) mcp_memory.py MCP-Server für Cline/OpenCode/Claude Code ```