From 7d4961933e4969a4922f92f62ec5ccceff165735 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 14 May 2026 04:39:13 +0000 Subject: [PATCH] docs: voice-agent-admin CLI dokumentiert (Passwort-Reset, User-Verwaltung) --- README.md | 17 +++++++++++++++ lxc-frontend/README.md | 49 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 64 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1872417..9be9a3c 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,23 @@ Browser auf `http:///` → Audio hochladen → fertig. --- +## Benutzer-Verwaltung / Passwort zurücksetzen + +Auf dem LXC steht nach dem Deploy `voice-agent-admin` als Befehl bereit: + +```bash +# Passwort zurücksetzen (z. B. Admin-Login vergessen) +sudo voice-agent-admin reset admin 'NeuesPasswort123' + +# User auflisten / anlegen / löschen +sudo voice-agent-admin list +sudo voice-agent-admin create maria 'StartPasswort123' +sudo voice-agent-admin create chefin 'Geheim12345' --admin +sudo voice-agent-admin delete maria +``` + +Vollständige Befehlsreferenz: [`lxc-frontend/README.md`](lxc-frontend/README.md#benutzer--und-passwort-verwaltung-per-cli). + ## Update / Neudeployment Auf dem LXC einfach nochmal: diff --git a/lxc-frontend/README.md b/lxc-frontend/README.md index c2484d9..d334a75 100644 --- a/lxc-frontend/README.md +++ b/lxc-frontend/README.md @@ -27,11 +27,56 @@ uvicorn app.main:app --reload --port 8000 | GET | `/` | Web-UI | | GET | `/health` | LXC-Health | | GET | `/api/mac/health` | Mac-Worker-Erreichbarkeit | -| POST | `/api/jobs` | multipart: `audio`, `title` → Job anlegen | -| GET | `/api/jobs` | Liste aller Jobs | +| GET | `/api/profiles` | Verfügbare Verarbeitungs-Profile (Cache 60 s) | +| POST | `/api/auth/login` / `logout` / `setup` | Cookie-Session-Auth | +| GET / PATCH | `/api/auth/me` | Eigener User + Standard-Profil | +| GET / POST / DELETE | `/api/admin/users[...]` | User-Verwaltung (admin) | +| POST | `/api/jobs` | multipart: `audio`, `title`, `profile` → Job anlegen | +| GET | `/api/jobs` | Liste aller Jobs (Owner-gefiltert; Admin sieht alle) | | GET | `/api/jobs/{id}` | Job-Detail | +| POST | `/api/jobs/{id}/retry` | Verarbeitung neu anstoßen (Transkript bleibt) | | GET | `/api/jobs/{id}/download/{kind}` | `kind` ∈ `docx`, `transcript`, `summary`, `protocol` | +## Benutzer- und Passwort-Verwaltung per CLI + +Nach dem Deploy ist `/usr/local/bin/voice-agent-admin` verfügbar — ein Wrapper auf das Python-Modul `app.cli`. Funktioniert vom Root-Login aus jedem Verzeichnis. + +```bash +# Alle User auflisten +sudo voice-agent-admin list + +# Passwort eines Users zurücksetzen (z. B. Admin-Passwort vergessen) +sudo voice-agent-admin reset admin 'NeuesPasswort123' + +# Neuen User anlegen +sudo voice-agent-admin create maria 'StartPasswort123' +sudo voice-agent-admin create chefin 'Geheim12345' --admin + +# User zum Admin machen +sudo voice-agent-admin promote maria + +# User löschen (geht nicht für den letzten Admin oder den eigenen Account) +sudo voice-agent-admin delete maria + +# Passwort prüfen ohne Browser (für Debug) +sudo voice-agent-admin verify admin 'NeuesPasswort123' +# → "OK — Passwort für 'admin' stimmt." oder "NEIN — ..." +``` + +Mindest-Passwortlänge: 8 Zeichen. Der letzte Admin kann nicht gelöscht werden. + +### Initialer Admin + +Beim allerersten Web-Aufruf zeigt die UI das **Setup-Formular** statt des Logins (weil noch kein User existiert). Username + Passwort eingeben → erster Admin wird angelegt + alle bestehenden Jobs werden ihm zugeordnet. + +Falls du den Erst-Admin lieber per CLI anlegen willst (z. B. Skript-gesteuert): + +```bash +sudo voice-agent-admin create admin 'StartPasswort123' --admin +``` + +Danach im Browser direkt einloggen. + ## Datenfluss ```