HitonabiandClaude Opus 5.5 93f6613146 box-wart: Hirn gezielt pruefen, Laden meldet das echte Ergebnis, Radar-Suche als Auftrag
- Waechter (pruefe_kern): prueft jetzt gezielt das Modell mit der Rolle hermes und seinen
  Zustand in llama-swap (/running, v257 listet auch ladende Modelle), statt das Hirn fuer
  bereit zu halten, sobald irgendein Modell laeuft. Ein Ladevorgang ist kein Ausfall, aber
  nur bis 10 Minuten (MC_WAECHTER_HIRN_LADEN_S), sonst bliebe ein immer neu startendes Hirn
  unbemerkt. Sonst die ueblichen Takte (FAIL_AFTER); Knopf "Protokoll des Motors".
- llamaswap: modell_zustaende() und hirn_zustand(); lade_modell() meldet ok false mit
  deutschem Grund und der Meldung der Engine, "laedt noch" nach der Wartezeit ist kein Fehler,
  ein geladenes Modell ohne Chat (embed) zaehlt als geladen. POST /api/models/{id}/load
  reicht das Ergebnis durch (Router duenn).
- Radar "Jetzt suchen": startet die Suche als Auftrag (Job-Engine, Gruppe radar, hoechstens
  einer, radar_lauf.py --nur-suche) und antwortet sofort mit der Auftrags-ID. Die Ansicht
  zeigt "Sucht ..." bis der Auftrag fertig ist, liest danach das Radar neu und nennt eine
  gescheiterte Suche; die Auftragskarte zeigt den Stand.
- Tests: Hirn-Zustaende und Frist, Laden gegen eine llama-swap-Attrappe, Radar-Auftrag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 20:39:01 +02:00

Homelab Orchestrator

Ein Steuerpult fürs Heimnetz, das sich selbst wartet. Zwei Bereiche, eine Oberfläche:

  • Box-Wart betreut die KI-Box (Bosgame M5, AMD Ryzen AI MAX+ 395, 128 GB gemeinsamer Speicher, llama.cpp über Vulkan): hält sie aktuell, passt auf sie auf und sucht bessere Modelle. Live seit 23.09.2026.
  • Homelab soll den Proxmox-PC mit seinen Containern und Arcane (Docker) betreuen: offene Updates zeigen, per Knopf einspielen, danach die Erreichbarkeit prüfen. In Arbeit (Fahrplan).

Dieselbe Codebasis läuft als zwei Instanzen: auf der KI-Box (Rolle box) und später als Container auf dem Proxmox-PC (Rolle homelab); beide prüfen sich gegenseitig. Repo, Dienste und Dateien tragen noch den alten Namen „Mission Control 2" (mission-control-v2, mission-control-2, mc2-*). Alles läuft lokal, kein Cloud-Modell im Datenpfad.

Oberfläche

Im Heimnetz http://192.168.178.151:9001, am PC oder am Handy.

Seite Inhalt
Start Warnlampen, Instrumente (Speicher, Temperatur, Platte, Laufzeit), Checkliste mit den Hinweisen des Wächters und ihren Knöpfen, Flugplan (was lief, was kommt), Radar-Kasten
Updates Bausteine Betriebssystem, Motor (llama.cpp), llama-swap und Hermes; Verlauf der Update-Läufe; Sicherungen
Modelle Speicher, Rollen Hirn und Coder, wer die Modelle nutzt, Modell-Radar, Aufräumen, Modelle selbst suchen
oben rechts bzw. „Mehr" Hermes-Dashboard, Dienste und Protokolle, Einstellungen

Anleitung für den Alltag: docs/BEDIENUNG.md.

Was von allein läuft

  • Wächter (jede Minute): Dienste, Timer, Hermes-Jobs, Kern, Platte, festgehaltene Updates und, sobald eingerichtet, die Partner-Instanz. Abgestürzte Dienste startet er selbst neu (höchstens 2× je Stunde), Rotes meldet er per Telegram.
  • Updates sonntags 04:30: llama-swap → Motor → Hermes, danach Prüfung; rot → zurück und festhalten. Die Box startet nur sonntags zwischen 04:00 und 06:59 neu.
  • Modell-Radar nachts 00:30–02:30: sucht Kandidaten für Hirn und Coder und testet höchstens einen pro Woche; übernommen wird nur per Knopf.
  • Sicherung täglich gegen 03:30, 14 Stück, Kopie auf dem Proxmox-Host.
  • Meldungen gehen an Telegram und in Lucys Briefkasten; nachts gesammelt, um 07:00 als eine Morgenmeldung, Dringendes sofort.

Alle Zeiten: docs/wissen/STACK.md, Abschnitt „Automatik".

Dienste und Ports (KI-Box)

Port Unit Aufgabe
9001 mission-control-2 Oberfläche, /api, /v1 für Lucy und OpenChamber, Hermes-Dashboard unter /hermes-ui/
9010 (nur lokal) mc2-gateway /v1-Datenpfad: model: auto, Bild-Weiche
– mc2-steward Wächter und Re-Warm
8080 llama-swap (System-Dienst) Modell-Router, startet je Modell einen llama-server
8642 hermes-gateway Hermes Agent „Lucy", Telegram
9119 hermes-builtin-ui Hermes-Dashboard
8021 (nur lokal) lucy-stimme Lucys Stimme
8650 (nur lokal) voice-service Spracherkennung (schläft seit 24.09.)
7682 (nur lokal) box-console Web-Konsole (schläft seit 24.09.)

Dazu die Timer mc2-radar, mc2-backup, mc2-morgenmeldung, mc2-autoupdate und projekte-sync. Die Unit-Dateien liegen in deploy/.

Entwickeln

# Backend lokal auf :9000 (Windows)
cd backend
python -m venv .venv
.venv/Scripts/python -m pip install -r requirements.txt -r requirements-dev.txt
.venv/Scripts/python -m uvicorn app:app --port 9000

# Frontend (Vite leitet /api an :9000 weiter; MC_API_TARGET=http://192.168.178.151:9001 zeigt auf die Box)
cd frontend && npm ci && npm run dev

Vor jedem Push: bash deploy/pruefen.sh (Shell- und Python-Syntax, ruff check ., Importe, pytest backend/tests); bei Frontend-Änderungen zusätzlich npm run lint, npm test und npm run build in frontend/, und das neue frontend/dist mitcommitten, denn die Box baut kein Frontend. Gearbeitet wird auf einem Branch; main liegt auf Gitea (ssh://gitea@192.168.178.153:2222/Hitonabi/mission-control-v2.git), danach auf der Box bash ~/mission-control-v2/deploy/deploy.sh. Regeln für Agenten: AGENTS.md.

Doku

Dokument Für Inhalt
docs/README.md alle Index, Lesereihenfolge, Pflegeregeln
docs/BEDIENUNG.md User Oberfläche und Telegram-Nachrichten
docs/ARCHITEKTUR.md Agenten, Technik Prozesse, Rollen, Datenwege, wer was schreibt
docs/BETRIEB.md Agenten, Technik Handgriffe, Meldungen, Wächter, Deploy, Sicherung, Notfall
docs/UPDATES.md Agenten, Technik Sonntags-Update, Festhalten, Freigeben
docs/RADAR.md Agenten, Technik Modell-Radar, Stack-Radar, Prüfstand
docs/WIEDERAUFBAU.md Technik die KI-Box von null aufbauen
docs/wissen/ Agenten Stand, Verdikte, Fallen, Arbeitsweise, offene Fäden
S
Description
No description provided
Readme
117 MiB
Languages
Python 68.1%
TypeScript 24.8%
Shell 6.3%
CSS 0.4%
PowerShell 0.2%
Other 0.1%