1f4c987652
Backup: services/backup.py (Memory-SQLite inkl. WAL/SHM + Configs, retain 7) + deploy/backup.sh + POST /api/system/backup + GET /api/system/backups. Services-Health: GET /api/system/services (aggregierte Reachability + Observability-Links). Frontend: SystemView mit Dienste-Health + Backup- Button + Links; Theme-Toggle (Hell/Dunkel, persistent). Lokal verifiziert: Backup-Snapshot + services-Aggregat (TestClient), Frontend-Build + Browser (Light-Mode bestaetigt via computed styles). Damit Phasen 0-5 lokal fertig. Docs aktualisiert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4.4 KiB
4.4 KiB
Mission Control 2.0 — Status & Resume-Guide
So machst du jederzeit nahtlos weiter. Der vollständige Architektur-Plan liegt in
C:\Users\TobisPC\.claude\plans\piped-cuddling-sloth.md(genehmigt).
Wo das Projekt lebt
- Code:
F:\Coding Stuff\mission-control-2(Windows-Dev-PC) + Gitea-Remotehttps://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2(Branchmain). - v1 (
F:\Coding Stuff\mission-control) bleibt unangetastet bis zum Cutover. - Box (Bosgame,
192.168.178.151): noch nicht deployt (Phase 0 step 5 offen).
Phasen-Fortschritt
- Phase 0 — Gerüst: FastAPI (
/api/health,/api/models) + React/shadcn-Shell (Cmd+K, Dark, PWA). Verifiziert. - Phase 1 — Engine + Routing: Compute-Module (fit/caps/sources), Discover (live HF), Engine-Write (register + groups/Ko-Residenz), LiteLLM-Gateway-Config + Service, Frontend Modelle&Routing (Caps-Chips, Fit, Discover-Tab, Routing-View). Lokal verifiziert (Backend-Smoke + Frontend-Build + Browser).
- Phase 2 — System/OS + Connect: System-Status (psutil CPU/RAM/Disk, sysfs GPU/Temp guarded),
Wartung (restart/self-update als systemd-USER-Dienst, sudo-frei), Connect-Snippets (Cline/OpenCode/
Zed/Continue/Claude Code/Memory-MCP → Gateway
model:auto+ LAN-IP-Override). Lokal verifiziert. - Phase 3 — Memory + MCP: Memory-Service (SQLite/WAL, 5 Kategorien, Dedupe-Kurator), Router
(CRUD/export/dedupe),
mcp/mcp_memory.py(Guard-Beschreibungen gegen Loop) +mcp/mcp_mc.pyNEU (Stack-Management-Tools für Hermes: list/discover/register/route/restart/status). Frontend MemoryView (Add/Filter/Suche/Delete/Aufräumen). Lokal verifiziert (CRUD+Dedupe; MCP syntax-OK). - [~] Phase 4 — Hermes-Schicht: MC-Seite ✅ (services/agent.py + /api/agent/status, AgentView mit
Status-Tiles + „Hermes öffnen"),
deploy/hermes-webui.service, Runbookdocs/HERMES_SETUP.md. Box-Ausführung offen (hermes-webui installieren, Brain=auto, Tools/MCP verdrahten — Runbook). - Phase 5 — Betrieb/Observability/Politur: Backup (Memory-SQLite + Configs, retain 7;
/api/system/backup+deploy/backup.sh), Services-Health (/api/system/services), Observability- Links (llama-swap /ui, Gateway), Theme-Toggle Hell/Dunkel. Lokal verifiziert. - Phase 6 — Cutover (/opt → v2, v1 aus). Braucht Box.
- Offen aus Phase 0/1: Box-Deploy (Gitea-Repo da; Box-Setup als systemd-USER-Dienst noch offen), LiteLLM Complexity-Auto-Router gegen installierte Version verifizieren.
Lokal entwickeln/verifizieren
# Backend
cd backend && .venv/Scripts/python -m uvicorn app:app --port 9000
# Frontend (Dev)
cd frontend && npm run dev # http://localhost:5173 (proxyt /api → :9000)
# Frontend (Build → wird vom Backend ausgeliefert, committet)
cd frontend && npm run build
API (Stand Phase 1)
GET /api/health— Status + engine/gateway reachableGET /api/models— installierte Modelle inkl.capabilitiesGET /api/discover[?force=1]— beste Modelle je Kategorie (live HF, Fit, Caps, ⭐recommended)GET /api/fit?params_b=&quant=&ctx=&name=— Hardware-Fit-SchätzungPOST /api/models/register— GGUF als llama-swap-Modell eintragen (cmd + Rolle-Alias, optional jinja)GET/PUT /api/groups— llama-swap-groups(Ko-Residenzswap:false)GET /api/routing,PUT /api/routing/route— LiteLLM-Gateway-MappingGET /api/system/status— CPU/RAM/GPU/Disk/TempPOST /api/system/restart(Whitelist),POST /api/system/self-update— Wartung (Box, sudo-frei)GET /api/connect?host=— IDE-/Agent-Snippets (Gateway + Memory-MCP)GET/POST/PUT/DELETE /api/memory[...]+/api/memory/export+/api/memory/dedupe— geteiltes Gedächtnismcp/mcp_memory.py(geteiltes Memory) +mcp/mcp_mc.py(Stack-Management für Hermes) — stdio-MCPGET /api/agent/status— Hermes Gateway/WebUI-Erreichbarkeit + Verdrahtungs-Hinweise
Nächster sinnvoller Schritt
Alle lokal baubaren Teile sind fertig (Phase 0–4 MC-Seite + Phase 5-Vorbereitung folgt). Was jetzt
die Box braucht: Box-Deploy (systemd-USER-Dienst, sudo-frei) → LiteLLM-Gateway starten +
model:auto verifizieren → Hermes-Schicht nach docs/HERMES_SETUP.md einrichten → Cutover (Phase 6).
Lokal noch offen/sinnvoll: Phase 5 (Backup-Skript, Observability/Health-Anzeige im System-Tab).