6c8b6d81fe
System: services/system.py (psutil CPU/RAM/Disk, sysfs GPU/Temp guarded), routers/system.py GET status + restart (Whitelist) + self-update (systemd- USER, sudo-frei). Connect: services/connect.py (Cline/OpenCode/Zed/Continue/ Claude Code/Memory-MCP → Gateway model:auto, LAN-IP-Override), routers/ connect.py. Frontend: SystemView (Metrik-Bars) + ConnectView (Tool-Tabs, Copy, IP-Override). Lokal verifiziert: Backend-Smoke + Frontend-Build + Browser (System-Bars, Connect-Snippets). Docs aktualisiert (README/STATUS/Plan). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
54 lines
2.0 KiB
Markdown
54 lines
2.0 KiB
Markdown
# 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) · Routing-Gateway (LiteLLM, `model: auto`) ·
|
|
Mission Control 2.0 (FastAPI + React/shadcn) · Hermes Agent + hermes-webui ·
|
|
Shared Memory (SQLite via MCP). Jede Schicht hinter stabilem Vertrag austauschbar.
|
|
|
|
## Status: Phase 2 (System/OS + Connect) ✅
|
|
|
|
Fortschritt & Resume-Guide: siehe [`docs/STATUS.md`](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), **LiteLLM-Gateway** (Config + Service,
|
|
`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).
|
|
|
|
API: `health · models · discover · fit · models/register · groups · routing · system/status ·
|
|
system/restart · system/self-update · connect` (Details in `docs/STATUS.md`).
|
|
|
|
## Entwickeln
|
|
|
|
**Backend:**
|
|
```bash
|
|
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):**
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run dev # http://localhost:5173
|
|
```
|
|
|
|
**Frontend (Build → wird vom Backend ausgeliefert):**
|
|
```bash
|
|
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:4000` | LiteLLM-Gateway |
|
|
| `MC_PORT` | `9000` | MC-Backend-Port |
|