feat: Workspace-Umbau Schritt 6 — QEMU fuer alle Architekturen + set_project_kind

QEMU auf dem Host + ARIA-Anbindung:
- host-provisioning/qemu-setup.sh: installiert qemu-system-* (x86/arm/mips/ppc/
  sparc/misc), qemu-utils, Firmware, socat, imagemagick + den aria-vm-Helper.
- host-provisioning/aria-vm: VM-Verwaltung fuer JEDE Architektur (create/boot/
  screenshot/list/stop/rm). VNC bindet nur 127.0.0.1:<display> (Tunnel via
  Bridge), KVM nur fuer x86-Gaeste, sonst TCG.
- Brain: Projekt-Modell bekommt kind ('chat'|'code'); neues Tool
  set_project_kind markiert das aktive Projekt (blendet Editor/Desktop in der
  App ein) + feuert project_changed.
- Seed-Regel: ARIA weiss jetzt, dass Code unter /shared/projects/<id>/ gehoert
  und wie sie per `ssh aria-wohnung aria-vm ...` VMs baut/testet; VNC landet
  automatisch in der Desktop-Kachel.

py-compile clean, Host-Skripte bash -n OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-16 23:57:57 +02:00
co-authored by Claude Opus 4.8
parent a6cb152f55
commit a082c8398e
5 changed files with 320 additions and 1 deletions
+2 -1
View File
@@ -133,6 +133,7 @@ def create_project(name: str, description: str = "") -> dict:
"description": description.strip(),
"status": "active", # active | ended | archived
"hidden": False, # optisch aus Listen ausblenden (bleibt nutzbar)
"kind": "chat", # chat | code — 'code' blendet Editor/VNC in der App ein
"created_at": now,
"updated_at": now,
"last_activity_at": now,
@@ -149,7 +150,7 @@ def update_project(project_id: str, patch: dict) -> Optional[dict]:
projects = _load_all()
for p in projects:
if p["id"] == project_id:
for k in ("name", "description", "status", "hidden"):
for k in ("name", "description", "status", "hidden", "kind"):
if k in patch and patch[k] is not None:
p[k] = patch[k]
p["updated_at"] = _now()